This role requires deep expertise in system design, hands-on coding, and strong problem-solving skills to create resilient, high-performing, and secure applications.Key Responsibilities
Software Architect & System Design
- Design, develop, and maintain robust, scalable, and high-performance applications.
- Implement trunk-based development practices to enable continuous integration and rapid delivery.
- Develop clean, maintainable, and testable code following SOLID principles and software design best practices.
- Ensure high levels of unit test coverage, test-driven development (TDD), and behavior-driven development (BDD).
- Actively contribute to hands-on coding, code reviews, and refactoring to maintain high engineering standards.
- Lead the design and architecture of complex software systems using Domain-Driven Design (DDD) principles.
- Collaborate with business stakeholders, domain experts, and engineering teams to model real-world business problems into software solutions.
- Implement strategic DDD patterns, such as anti-corruption layers, context maps, and event-driven architectures.
- Work closely with product and engineering teams to ensure scalable and maintainable system design.
- Define technical governance and best practices for domain modeling and software architecture.
Engineering Excellence & Best Practices
- Drive the adoption of modern engineering ways of working, including Agile, DevOps, and CI/CD.
- Advocate for automated testing, infrastructure as code, and continuous monitoring to enhance software reliability.
- Apply Behavior-Driven Development (BDD), Test-Driven Development (TDD), and unit testing to ensure code quality and functionality.
- Conduct thorough code reviews, ensuring adherence to best practices in readability, performance, and security.
- Implement and enforce secure coding practices, performing vulnerability assessments and ensuring compliance with security standards.
- Collaborate effectively in agile environments, embracing DevOps principles and fostering a culture of continuous delivery and improvement.
Technical Leadership & Collaboration
- Partner with architects, product owners, and cross-functional teams to design scalable and distributed systems.
- Mentor junior engineers and foster a culture of engineering excellence and continuous learning.
- Collaborate closely with DevOps teams to optimize deployments, observability, and production resilience.
- Lead technical discussions, contribute to design documentation, and provide guidance on modern software architectures.
Skills and Qualifications
Must-Have Skills:
- Strong hands-on experience in coding (Java, Python, or any modern programming language).
- 12-15 years of relevant experience in Apps Development or systems analysis role
- Deep expertise in system design and microservices architecture.
- Experience with trunk-based development, feature flags, and progressive delivery strategies.
- Proficiency in TDD, BDD, and automation-first mindset to ensure high test coverage and reliability.
- Strong understanding of CI/CD pipelines, and DevOps practices.
- Experience conducting code reviews, vulnerability assessments, and secure coding.
- Familiarity with modern cloud-native technologies (AWS, Kubernetes, Docker).
- Excellent problem-solving skills and ability to work in fast-paced, agile environments.
- Strong communication and collaboration skills.
Good-to-Have Skills:
- Experience with event-driven architecture and distributed systems.
- Knowledge of performance tuning, observability, and production monitoring.
- Familiarity with Agile frameworks and modern ways of working in product development.
Applications Development
Time Type:
Full timeView the " " poster. View the .
View the .
View the