Job Description
The purpose of the role is write, debug, maintain and test our products (existing ones, new modules on existing applications or completely new products). Work with other stakeholders (junior developers, dev managers and technical leads, analysis, test, project management, product owners) to complete the work on the agreed timelines and with the required quality. Review the work of other less experienced developers and guide them.
Main responsibilities:
1. Assists in designing and building complex component-based applications in a web/internet delivery environment.
2. Works on new and existing applications along with enhancements to websites, web applications, and infrastructure.
3. Assists in the design, development and support of applications using current and new development technologies.
4. Scopes, implements, tests and deploys new features and versions of core applications, databases and utilities.
5. Gives input to the stakeholder analysis, to make sure we don’t miss any voices.
6. Performs hands-on coding and assists in the design of solutions.
7. Raises issues during development cycle (running late, blockers, lack of analysis, etc.), making sure there are no surprises close to deadline.
8. Prepares reports, manuals and other documentation on the status, operation and maintenance of software.
9. Assists with the collection and documentation of user's requirements, development of user stories, and estimates.
10. Assists with providing third-level support to business users.
11. Helps with code reviews.
12. Writes design technical documents.
13. Participates actively on reviews and technical design meetings and provide valuable feedback.
14. Mentors Software Developer Engineers I & II.
15. Completes all special projects and other duties as assigned.
16. Ensures that secure coding practices and other company policies are followed throughout the software life cycle.
17. Updates progress in work tracking systems ( move items to the right status, remaining effort, etc.), and also reviews the changes done by others.
18. Coordinates with QA on how to efficiently test items to not duplicate testing, and also make sure the regression is covered.
19. Able to lead discussions in planning meetings, retrospectives, daily stand ups, 3 amigos, and any other meetings as part of the software development process.
20. Any other duties commensurate to the grade of the role.
#LI-SD2 #LI-Hybrid
Qualifications
21. Bachelor’s degree preferred in Computer Science or other relevant field and extensive related experience.
22. Working knowledge of all phases of the software development life cycle.
23. Expert in object-oriented programming concepts, unit & integration testing, data and relational databases, technical database design, web architecture and application servers.
24. Strong ability to document development including database design, application design and ongoing documentation of changes and modifications.
25. Advanced knowledge of Agile development methodologies.
26. Strong skills of design patterns.
27. Deep understanding about performance and scalability implications in the development process and experience with performance monitoring tools.
28. Ability to install complex software patches and upgrades.
29. Ability to review code written by others and provide feedback and recommendations to follow coding guideline.
30. Able to provide estimates and raise concerns about deadlines / timescales
31. Demonstrated ability to write technical documents including database design, application design and ongoing documentation of changes and modifications.
32. Demonstrated experience with N-tiered applications, multi-tier architecture, and production Internet architectures.
33. Demonstrated ability to learn and adapt to continuously changing technology.
34. Be able to design considering operational costs.
35. Ability to take the ownership of a business-critical area and provide feedback and recommendations to analysts and architects for the implementation of new features.
36. Ability to lead a work stream coordinating a small team of developers.
37. Ability to do a risk analysis.