Responsibilities
- Given a fuzzy product requirement, work with other stakeholders and, product, to understand and refine the requirements and change them to technical requirements.
- Create appropriate technical documentation.
- Low-level design and code independently in multiple tech components related to the functional area.
- Choose the right tech stack for a given situation under guidance from senior team members and optimise any existing microservices.
- Take non-functional requirements (Reliability & Availability, Scale, horizontal scalability) into consideration while making any decision.
- 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. E/B. Tech or equivalent with at least 3 years of experience in any one programming language (Java, strong OO skills preferred).
- Exposure to the art of writing code and solving problems on a large scale.
- Have a penchant for solving complex and interesting problems.
- Excellent coding skills- should be able to convert design into code fluently.
- Good skills to write unit and integration tests with reasonable coverage of code and interfaces- TDD is a plus.
- Experience in building highly scalable business applications, which involve implementing large, complex business flows and dealing with huge amounts of data.
- Experience with multi-threading and concurrency programming.
- The farsightedness it takes to look at business problems critically from more than one perspective.
- The capability to craft object-oriented models and design data structures, implement business logic and data models with suitable class design.
- Ability to break down larger/fuzzier problems into smaller ones in the scope of the product.
- An understanding of the industry's coding standards and an ability to create appropriate technical documentation.
This job was posted by Ruchi Mehta from super.money.