Key responsibilities:
Participates in the entire software development cycle - requirements’ analysis, design and development, unit testing and documentation
Responsible for long-term code reusability and stability
Proactively identifies security, usability etc. issues and formulates strategies to resolve them
Works independently, without guidance, with broader overview on the project
Takes ownership for the delivery of complex application features and resolves key technical issues related to the assigned project
Complies with estimation process and is responsible for accurate personal estimates
Develops required software features, achieving timely and quality delivery
Delivers trainings and participates in knowledge sharing
Mentors new software engineers in the team
Integrates new technologies
Understands and follows the release processes in the company