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. Participate in Agile development activities including sprint planning, stand-ups, retrospectives and demos. Be responsible for design, implementation, test and maintenance of software modules to a high quality. Develop and execute test strategies, project test plans, test case automation, reports and online documentation. Participate in peer reviews and strive regularly to increase the code coverage numbers for test code. Good debugging and problem solving either individually or in a team. Participate in team discussion on continual improvement. Utilizes graduate-level research and analysis skills.
Employer will accept Master’s degree in Computer Science, Engineering or related technical field and 1 year of work experience in job offered or in a computer-related occupation.
Any suitable combination of education, training, or experience is acceptable.
Education or experience must also include:
1. Java, C++ and Object Oriented Design
2. Inter-process Communication, Multi-process and Multi-threaded programming
3. Design patterns
4. Automation Skills
5. Develop secure, scalable, Internet-facing solutions
6. Linux/UNIX and Windows platforms
7. Databases, SQL, Networking & Storage