Previous Job
Software Developer
Ref No.: 17-02588
Location: AMERICAN FORK, Utah
Software Developer
American Fork, UT
6 Month Contract to Hire

Job Description
  • Design development, coding, testing and debugging new software or enhancements to existing software.
  • Works with technical staff to understand problems with software and develops specifications to resolve them.
  • Resolves customer complaints and responds to suggestions for improvements and enhancements.
  • Participates in the development of software user manuals.
  • This position is for AngularJS/JavaScript wizards who want to use their powers for good, using AngularJS, HTML5, and CSS to build realistic software simulations for certification exams.
  • Focus is mainly on client side with other internal tools that require working knowledge of C# and SQL Server.
  • Design and build rich simulations for exam testing, including rich and reusable components with a focus on fidelity to original application and customer experience.
  • 30% Implement. Implement designs following the Client's coding standards and industry best practices. Maintain and support mission-critical applications as necessary.
  • 25% Analyze & Design. Understand the dependencies of our exam platform and deployment system and how it interacts with our exam software Identify technology related issues as they arise and recommend solutions. Ensure business and requirements artifacts are created that effectively model the customer's requirements
  • 15% Test & Deployment. Work closely with other teams (e.g., QA, configuration management, end users) to release high quality exams. Create testable requirements and write and execute unit tests
  • 10% Review. Participate in and lead requirement, design, and code reviews
  • 5% Reporting. Create and use reports to identify actionable data for continuous improvement. Complete project documentation as required, including logging status, risk, progress, and effort on assigned work
  • 5% Quality/process improvement. Participate in group improvement activities and initiatives to improve process and product quality in pursuit of excellence. Identify specific development processes best suited for automation and recommend solutions
  • 5% People development. Mentoring and training of new team members
  • Strong system design background, AngularJS. Build, maintain, and support internal tools, as well as identify areas where existing tools could be modified or new tools created to increase efficiency.
  • Recommend improvements, new projects, or new technologies to both improve our business and foster high team morale.
  • C#, OO design and other software design patterns and principles, ability to hold the Big Picture in your mind and see how solution candidates fit or not.
  • Lead, mentor, and serve as a role model to team members, including offsite/offshore members.
  • Explore new technologies as a team and develop innovative solutions.
  • Self-motivation, clear communication skills, including the ability to understand and communicate with non-native English speaking team members and customers, good interpersonal skills, and general optimism.
  • Bachelor degree in Computer Science, MIS, or equivalent technology discipline
  • 6+ years relevant software development experience creating business applications
  • Experience in C# or other OO languages and design patterns including MVC/MVVM
  • Experience in AngularJS or other JavaScript frameworks
  • 1+ years experience in software architecture
  • Experience in OOAD, iterative development, agile processes, CMMI, business objects, layered design, design patterns and SQL.
  • Experience with multiple development methodologies (e.g. Waterfall, Agile, and Hybrid).
  • Desire to expand knowledge in many development languages, applications, and tools
  • Proven ability to quickly learn new processes and tools, business domains and technical applications
  • Effective written and verbal communication skills
  • Creative problem-solving skills
  • Must assimilate information, distill knowledge, apply experience and provide solution alternatives and recommendations
  • Must have strong time management skills, including the ability to work well under pressure, plan, set priorities, adapt to change, and meet established timelines
  • Ability to work with disparate teams across varied time zones and disciplines.
  • Must be detail-oriented
  • Experience in computer-based testing, certification, and licensing industry preferred