Job description:
- We are seeking a highly experienced and motivated Principal Software Architect to join our dynamic engineering team in Navi Mumbai.
- The ideal candidate will possess a strong hands-on engineering background, coupled with exceptional architectural design and communication skills.
- You will be responsible for designing and architecting complex, scalable, and reliable microservice-based systems.
- This role requires a deep understanding of legacy systems, the ability to identify gaps, and the vision to propose innovative solutions.
- You will be a key contributor in driving technical excellence and collaborating effectively across multiple teams.
Responsibilities:
Architectural Design Visualization:
- Design and architect robust and scalable microservice-based systems.
- Create clear and concise architectural diagrams to visualize data flow, service states, and component interactions.
- Effectively communicate complex technical concepts to both technical and non-technical stakeholders.
Legacy System Analysis Modernization:
- Analyze existing legacy systems to understand their design and identify areas for improvement.
- Develop and propose solutions to address gaps and modernize legacy systems, utilizing clear visualization and documented approaches.
Requirements Analysis Design:
- Perform detailed analysis of business requirements and translate them into High-Level Designs (HLD) and Low-Level Designs (LLD).
- Accurately scope projects and provide realistic estimates.
Technology Expertise:
- Leverage hands-on experience with technologies such as Kafka, RabbitMQ, Go Lang, RESTful API standards, Redis, Prometheus, and related tools.
- Stay up-to-date with emerging technologies and industry best practices.
Collaboration Communication:
- Collaborate effectively with cross-functional teams, including Engineering, Business, Infrastructure, and Infosec.
- Act as a technical leader and mentor to junior engineers.
- Clearly document all architecture and design decisions.
Hands-on Engineering:
- Maintain a strong hands-on engineering approach, and be ready to provide code reviews and technical guidance to team members.
Required Skills Experience:
- 10+ years of experience in software engineering and architecture.
- Proven track record of designing and architecting large-scale, complex systems, particularly microservices.
- Extensive experience with distributed systems and message queuing technologies (Kafka, RabbitMQ).
- Strong programming experience, preferably with Go Lang.
- Deep understanding of RESTful API standards and best practices.
- Experience with caching solutions (Redis) and monitoring tools (Prometheus).
- Excellent analytical and problem-solving skills.
- Strong communication and presentation skills, with the ability to explain complex technical concepts clearly.
- Ability to create and interpret architectural diagrams and data flow visualizations.
- Experience in analyzing and modernizing legacy systems.
- Ability to produce clear and concise HLD and LLD documents.
- Experience working in an office environment.
- Bachelors or Masters Degree in Computer Science, or related field.