
Lead Software Engineer
- Bangalore, Karnataka
- Permanent
- Full-time
- To design, develop, test, deploy, improve and maintain high quality (scalable, reliable, high performing, highly secure) micro services which follow Maersk Architecture principles, Information Models and quality and security standards
- To collaborate with Product Owner and translate business requirements into technical requirements and with platform architects, enterprise architects and drive compliance to Maersk Architecture principles and design standards
- To own, influence, decide on technical / solution architecture, infrastructure design, UI/UX design, quality standards, development process / methodologies, frameworks, tools & technology choices in alignment with Maersk Architecture guidelines, Design Principles and Methodologies
- To monitor our business-critical application estate respond to incidents /change request / Bugs, prioritize them, analyze root cause and advise / implement solutions
- To develop reusable code base or libraries for all the cross-cutting concerns which supports building a platform eco system
- To promote Agile, DevOps/SRE, DevSecOps frameworks and ensure high quality and low cycle times through model development practices and automation
- To Imbibe Clean Code & Clean architecture principles, Test Driven Development and Behavior Driven development principles
- To constantly review the application, infrastructure architecture, integration pipeline, deployment pipeline, technical debts (if any exists) and work towards improvement / automation
- To continuously stay up to date on relevant technologies and use this knowledge to push the team forward
- To propose ideas and provide key inputs to the product and leadership team on product/platform roadmap.
- Comfortable working in a fast-paced environment where priorities and direction may change rapidly as customer requirements and market direction changes
- Strong knowledge in data structures, algorithms, design patterns & Clean architecture principles
- Strong knowledge in design principles/methodologies such as SOLID, 12 Factor App, DRY, TDD, BDD, Agile Scrum
- Strong knowledge of Domain Driven Design & Event Driven Micro Services Architecture
- Hands-on knowledge in designing, writing, and reviewing high performing reactive clean code
- Solid experience in building cloud native, event driven, distributed systems or services using Java 17 or above, & Kubernetes
- Strong hand on experience in SQL, NOSQL and cache stores such PGSql, MongoDB, Cassandra, Redis and Memcache
- Solid experience in REST APIs, GraphQL & data formats like protobuf
- You take a thoughtful, practical approach to problem-solving that considers trade-offs and avoids over-engineering
- You have an ownership mentality in all the things you build, and are comfortable with identifying opportunities and driving forward-looking technical roadmaps
- You are comfortable working both independently and as part of a team, and you proactively give and receive candid feedback constructively
- You have exceptional written and verbal communication skills, and can effectively convey complex details to audiences of various technical backgrounds
- You thrive in an inclusive, collaborative, and ambiguous environment with evolving requirements and can self-manage and self-prioritize your time, energy, and resourcefulness
- You don’t shy away from putting your hands to developing AI models to solve a business use case innovatively, rather than creating boiler plates
- You are curious; you seek to understand why past decisions were made, and use that context to inform future-looking designs
- You prioritize competing products, and technology needs to think strategically about the long-term balance and overall health of the product