Job description:
Participates in the technical design, development and implementation of application systems
S/he designs and codes programs, creates test transactions and writes documentation that describes installation and operating procedures
S/he also utilizes standard procedures and techniques to write new programs of moderate complexity (programs involving match/merge processing, utilization of one-dimensional internal program tables)
Understands and follows the Software Development Life Cycle
Programming well-designed, testable, efficient code
Analyze, design and develop tests and test-automation suites
Develop flowcharts, layouts and documentation to satisfy requirements and solutions
Maintain software functionality and currency (technical debt and gain)
Actively participate in code reviews
Integrate software components into a fully functional software system
Apply security and privacy principles
Execute full lifecycle software development
Develop software verification plans and quality assurance procedures
Troubleshoot, debug and upgrade existing systems
Ensure software is updated with latest features
Participate in deployment process following all change controls
Provide ongoing maintenance, support and enhancements in existing systems and platforms
Provide recommendations for continuous improvement
Active learning engagement
Complete all required mandatory training / policy awareness curricula on time
Use learning tools such as Pluralsight to complete both recommended and aspirational targets set in personal development plans
Demonstrate team work
Leverage existing products/functionality and promote reuse
Work alongside other engineers on the team to elevate technology and consistently apply best practices
Collaborate closely with all the other members of the team to take shared responsibility for the overall efforts that the team has committed to
Collaborate cross-functionally with data engineers, business users, project managers and other engineers to achieve elegant solutions
Utilize local meetups to gain and share knowledge
Compiles documentation written by more senior developers of all procedures used in system
Acts as mentor to junior level engineers
Experience in using a specific application development toolkit and knowkedge of front end and backend development coding languages such as C#, Java, HTML, NodeJS, CSS, JSON, Angular, JavaScript
Must also have knowledge in application frameworks and containerization
Team work skills Contributes to the achievement of area objectives
Bachelor's degree in Computer Science