1. Analyze requirements, produce accurate, unambiguous technical design specifications to the appropriate detail.
2. Plans, designs, develops, integrates application components and tests software systems or applications for software enhancements and new products. Write, debug, and deploy code to production; deliver timely fixes.
3. Deliver customer value in the form of high-quality software components and services in adherence with policies on security, performance, longevity and integration testing.
4. Drives unit test automation. Be well versed in the latest development methodologies like Agile, Scrum, DevOps and test-driven development.
5. Adhere to DOD (story definition of done) as part of the sprint, including unit tests, functional testing, code reviews, no regressions, bug fixes, documentation and adhere to best coding practices.
6. Perform peer code reviews in order to ensure quality standards
7. Should also enable solutions that take into account APIs, security, scalability, manageability, usability, and other critical factors that contribute to complete solutions.
8. Master the domain knowledge in the area of assignment
9. Take ownership of what the team builds after the release; consider customer adoption as success criteria
10. Volunteer for work in the backlog and commit to quality delivery; Coordinate efforts across the team to ensure completion and effectiveness
11. Participate and contribute to scrum meetings i.e. daily stand-up, sprint planning, readouts and retrospectives
12. Work collaboratively across the Technology and Product organizations to ensure alignment towards business goals
13. Should understand fundamentals of iterative product development.
14. Should understand the value of commitments to delivery made by a development team
15. As a member of technical staff, you'll have the opportunity to grow as a software engineer in a culture of technical excellence, high team performance and impeccable work ethics