Software Engineer

Location: Tempe, AZ

Ref#: 1648.6327

posted: 8-Jun-2018

Responsible for analyzing, designing, debugging and/or modifying software; or evaluating, developing, modifying and coding software programs to support programming needs. Maintain and enhance existing code with focus on implementation. Collaborate with and assist team of engineers in writing functional, design and user interface specifications. Follow software lifecycle process when developing software. Help identify solutions to problems encountered in software cycle. Play a key role within each phase of the software development lifecycle. Create medium to large sized highly scalable client and server-side applications from start to finish, including the following: regular interaction with product and member services teams, understanding requirements, prototyping and documentation, system design, frontend MVC development with emphasis on JavaScript, interaction with Java containers (WebLogic and Tomcat), web services, various Java EE specifications (messaging, persistence, batch), development builds, application deployments, integration\enterprise testing, using code coverage tools and continuous integration and delivery (Jenkins) and the support of applications within a production environment. Work in complex technology environments across many disciplines of information technology including: Service Oriented Architecture (SOA), Optimum Web Application design for maximum performance, Operating Systems: Mac and Linux, Performance Management and Capacity Planning, Application Program Interfaces (APIs), Messaging Software and Interoperability Techniques and Standards, creating responsive, highly performant web applications, developing services that run on clustered environments, microservices architecture, Cloud technologies (AWS), developing application architecture for maximum performance on both web and backend, Operating Systems - Mac and Linux, Performance Management and Capacity Planning, Monitoring and Metrics dashboards; providing interfaces that allow information to be obtained securely for member enrollment; design and architecting web based systems in both in-house datacenters and cloud platforms like AWS as well as developing applications on cloud platforms like AWS, OpenStack, and Google App Engine; engaging in data integration/architecture with external vendors, coordinating data transformation for delivery systems and enterprise integration systems. Provide Platform and Skill Set Expertise by working hands on with the following server side and modern web technologies: Web Development – AngularJS or similar JavaScript MVC Framework, task runners such as Grunt and Gulp and similar Web frameworks; add new functionality and optimize enrollment flows using HTML5, CSS3 and CSS Preprocessors (SASS), JavaScript, JQuery; use automation tools for quality and process using unit tests including Junit, Cactus, Karma, Jasmine, and writing functional tests Protractor, Selenium; Software/Application Development using Java EE Specification APIs including EJB3, JPA, JMS, JDBC, SOAP/Rest Web Services, SOA and Microservices, Spring Framework, XML, XSL, Struts, JDK 1.7 or above Web Logic Application Server 12c, Linux; Database Development utilizing Oracle, MySQL, NoSQL (Mongo/Dynamo); Design Skills & Tools including Model-View-Controller, Object Oriented Design, Scalable architecture and Source Code Control with Git or Subversion version control systems. Write front-end MVC Code and middle-tier Node code; ensure that every coding path is unit tested and nearly bug free. Use appropriate logging solutions (like Sumo, Splunk) to assist in troubleshooting production issues. Participate in full integration testing, data integration/architecture, enterprise information integration and/or ETL. Rapidly address issues and fix defects discovered during deployment. Develop high quality applications, and mentor other developers, providing technical direction on application architecture. Utilize various development methodologies including SCRUM/Agile, test-driven development, and tools such as Webstorm, Postman, SOAPUI, JIRA, and Git and Subversion. Gather and document technical requirements and specifications. Mentor developers and provide technical direction on application architecture. Employer will accept Bachelor’s degree in Computer Science, Engineering, Information Systems or related technical field and 5 years of work experience in job offered or in a computer-related occupation. Any suitable combination of education, training, or experience is acceptable. Position requires 5 years of experience in the following: 1. Java EE Application Server, JSP/Servlets, EJB3, JMS, JDBC, 2. Spring Framework, XML, XSL; 3. HTML, CSS, JavaScript; Position requires 3 years of experience in the following: 4. REST services, JAX-WS SOAP Services/SOA; 5. AngularJS; 6. Design and architecting web based systems in both in-house datacenters and cloud platforms (like AWS), data integration/architecture with external vendors, data transformation and delivery systems; 7. Oracle 11g, MySQL, and SQL Server; 8. Development methodologies including SCRUM/Agile, and test-driven development; 9. Automation tools for quality and process such as JUnit/Cactus, Karma/Jasmine, Protractor/Selenium, writing functional tests, code coverage tools, continuous integration and delivery systems like Jenkins; 10. Across many disciplines of information technology including: Service Oriented Architecture (SOA), Optimum Web Application design for maximum performance, Operating Systems: Mac and Linux, Performance Management and Capacity Planning, Application Program Interfaces (APIs), Messaging Software and Interoperability Techniques and Standards; 11. Version control systems such as Git and Subversion; Position requires 1 year of experience in the following: 12. Developing applications on cloud platforms like AWS, OpenStack, and Google App Engine.