Java Architect
Description
Responsibilities:
- Design, review, architect, code and implement solutions with exceptional quality.
- Raise the bar in crafting technology solutions to business problems and requirements.
- Describe the gist of the solution: its structure and the way it fits with the rest of the business structure and contributes to the workflow.
- Ensure success in designing, building and migrating applications, software, and services.
- Participate in deep architectural discussions and design exercises to create world-class solutions while ensuring solutions are designed for successful deployment.
- Decide the end-to-end cross-functional system design (HLD), framework, platform, or tech-stack to be used to create a solution.
- Focus on how the application will look, what the modules will be, and how they interact with each other.
- Focus on how things will scale for the future and how they will be maintained.
- Define solution-level acceptance criteria.
- Perform impact analysis (keeping the whole system in mind)
- Slice features to user stories meeting the INVEST principle.
- Define NFRs based on input from Product
- Work with InfoSec to practice privacy and security by design
- Work with Operations to practice observability and resiliency by design
- Define executable contracts, SLA, SLO and SLI.
- Review of LLD and conformance of same to Solution Design
- Tests Architectural Elements with executable and testable design
Requirements:
- B. Tech/M. Tech in computer science or a related engineering discipline.
- Have experience building scalable and resilient SaaS platforms, web services or products.
- 10+ years of software development experience in object-orientated design and coding in Java or C++ or related technologies.
- Experience in infrastructure and networking architecture for highly available, Internet-scale applications.
- 10+ years of experience in the design and implementation of complex IT solutions (including scalable cloud-based solutions and microservices architectures or application design and development).
- Knowledge of professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Must have demonstrable experience in architecting and driving implementation of large-scale services or experiences spanning multiple systems and groups.
- Have hands-on experience with Kubernetes and Docker containers.
- Working knowledge on managed cloud services such as API gateway, Load balancers, compute, storage, etc.
- Working knowledge of SQL and NoSQL DB technologies and offerings.
- Proven leadership, presentation, written and teamwork skills.
- Experience guiding and mentoring software development engineers.
- Strong design, architecture, and problem-solving skills.
- Prior experience in the SaaS, enterprise or CRM domain is a plus.
- Understanding of the latest cloud-native tech or SaaS or Dev platform experience.
- Excellent communication with stakeholders, project managers, developers, and other individuals involved in the software development process.