About the role
Responsibilities:
- Breaks down a well-defined business problem into system-level design/components.
- Evangelizes and enforces advanced architectural concepts.
- Defines key system metrics (e. g., QPS, acceptable error rates) and designs for them.
- Constructively critiques existing and proposed designs.
- Builds subsystems and their interactions within the product.
- Delivers frameworks that are used by the rest of the team.
- Identifies and solves for limitations in the existing design.
- Broad and deep knowledge of full stack, typically ranging from frontend to backend.
- Responsible for the health of the code, code corpus, quality of the architecture, and operations within the scope.
- Makes pragmatic tech choices independently; adept at the product to be able to contribute to and influence the product requirements/direction.
- Estimates for unspecified requirements such as infrastructure setup, third-party integration, and tech debt.
- Conducts tech and design review sessions for the team.
- Proactive in highlighting and openly communicating about tech debt in the product.
Requirements:
- Preferred knowledge and exposure to Java, Spring, Scala, and Databricks.
- Ability to understand the large AI landscape and apply it in end-to-end implementation in the current domain context.