Develop, document, test, modify, and maintain new and existing software applications. Learn and apply standard techniques, procedures, and criteria to the development life cycle. Through time and exposure, gain specific application and technology knowledge to participate in and contribute to the specification and design development process. Create system and operating documentation, and receive technical guidance and day-to-day direction from Software Engineers and Sr. Software Engineers.
- Under direct supervision, write new code using prescribed specifications and design documentation in accordance with programming standards. Modify, test, and troubleshoot existing programs/software utilizing the appropriate hardware, database, and development/programming technology. Contribute to feature and functionality planning. Execute coding/modification of new and existing programs/software with focus on user experience and optimal program/system performance.
- Maintain and modify programs/software. Make recommendations for improvements and/or remedies to issues encountered. Implement approved changes by amending flow charts, developing detailed programming logic, and making changes to code. Write and maintain development/programming/systems documentation, as well as operations and user guides, as required. Document development/programming problems and resolutions for future reference.
- Effectively unit test all code and programs prior to releasing them to the quality assurance team. Resolve unit test issues in a timely manner. Assist the quality assurance team in identifying test cases and aid in creating/mining test data to enable a thorough test of development deliverables. Respond to inquiries and issues in a timely manner as the developed code/program moves through the testing process and ultimately into production.
- Develop working knowledge in all systems, processes, and data relating to the assigned business or projects. Develop expertise within the application development practice-including all processes, tools, and best practices. Develop and maintain development/programming expertise and identify and pursue areas for development and training that will enhance job performance via on the job learning and best practices from prior projects, training, and peer learning.
- Provide production support to the end-user and technical operations staff, as required. Research system/application issues/problems within area/program(s) of responsibility and recommend innovative solutions to prevent recurrence.
- Bachelors degree or equivalent.
- Training or education in a technology/computer field and/or 1-3 years of proven development/programming/coding experience.
- Demonstrated basic understanding of the Software Development Life-Cycle (SDLC) and programming/development procedures.
- First level knowledge and/or demonstrated technical ability to code in multiple environments.
- Effective oral and written communication skills, along with a logical, analytical, and abstract thinking ability.
- Strong attention to detail, follow-through, and time management skills.
- Experience and/or comfort working in a multi-sourced, multi-vendor environment.
- Demonstrated aptitude to quickly learn and apply new tools and processes.
- Hands-on experience developing/programming software applications.