The Software Engineer III develops, implements, and maintains software solutions that enable business operations to realize company goals & objectives. The incumbent performs analysis, design, coding, debugging, testing, and support of software applications. May be assigned to develop new applications/systems, enhance/upgrade existing systems or provide production support. He/she works independently on moderately complex projects, receiving only general direction. May provide assistance and direction to less experienced peers.
- Works with the Agile Program Manager (APM), Digital Product Manager (DPM), and Business Systems Analyst (BSA) to accurately capture stakeholder requests and system specifications and translate them into engineering artifacts, which typically include design specifications, source code, test scripts and test results.
- Coordinates with software architects and Software engineer IVs to ensure that the engineering realization is in accordance with Enterprise Architecture principles and software development best practices.
- As part of Agile teams, completes software development work which includes application design, coding, code review and testing. Keeps Agile team and APM apprised of project status.
- Offers suggestions to stakeholders on devising effective and efficient approaches to achieve project and program objectives.
- Manages engineering risks by proactively tracking and communicating issues, and devising methods to mitigating them.
- Liaises with other project and program areas to coordinate interdependencies and resolve issues.
- Supports business units in the resolution of in-depth user questions and issues following production support process and SLA’s.
- Maintains a working knowledge of new technology and software engineering standards, practices and tools.
- Provides input to APM/DPM in creation of Product Roadmap, High Level Estimates
- Collaborates with IT management to define and develop documentation & engineering artifact standards, guidelines, processes, and templates.
- Advanced knowledge of the theoretical and practical application of highly specialized software engineering best practices, methods & techniques.
- Extensive experience in developing software applications on the assigned technology platform.
- Extensive knowledge on source code change management and related tools.
- Knowledge and experience using agile software development principles, process and tools..
- Excellent analytical, problem solving and organizational skills.
- Excellent interpersonal, and written and oral communication skills.
- Strong customer service skills in order to provide end user/business owner systems support.
- Knowledge of production support processes such as incident and problem management techniques.
Required knowledge and skills would typically be acquired through a Bachelor’s degree in computer science, business, or related field plus 3 to 5 years of related experience.