Responsibilities
- Own a functional area from product conception to delivery.
- Given a fuzzy product requirement, work with other stakeholders and the product team to understand and refine the requirements and change them to tech requirements.
- Prepare high-level designs under the guidance and document them.
- Low-level design and code independently in multiple tech components related to a functional area.
- Choose the right tech stack for a given situation under guidance from senior team members.
- Optimise any existing microservices.
- Take non-functional requirements (Reliability and Availability, Scale, horizontal scalability) into consideration while making any decision.
- Build, develop, mentor, and coach junior team members.
- Owning the quality of code, UT coverage, documentation, etc.
- Collaborate with teams by contributing to the shared vision and working closely with cross-functional stakeholders.
Requirements
- B. Tech or M. Tech equivalent with at least 6 years of experience.
- Deep expertise in at least one programming language and tech stack - (Java, Ruby, Clojure, Scala, C/C++, and SQL, strong OO skills preferred).
- Exposure to the art of writing code and solving problems on a large scale.
- Strong object-oriented design skills, ability to apply design patterns, and an uncanny ability to design intuitive module and class-level interfaces.
- Experience in building data-driven web application design and development is a plus.
- Good understanding of multiple tech solutions and ability to pick the correct one for the given situation.
- Prior work experience in an agile environment or continuous integration and continuous delivery (CI or CD).
- Ability and experience in designing high-level software designs of the scalable system, considering NFR (non-functional requirements).
This job was posted by Neha Lakhwani from super.money.