Job Description We are seeking an experienced Technical Lead – Java to lead the design, development, delivery, and continuous improvement of scalable software systems and applications. In this role, you will provide hands-on technical leadership to engineering teams, drive sound architectural decisions, and ensure the delivery of secure, reliable, high-performing solutions for global customers.
The ideal candidate is a strong Java/JVM engineer with experience building distributed systems, microservices, and enterprise applications. You will work closely with product owners, architects, business stakeholders, and engineering teams to translate business requirements into robust technical solutions. This role requires a balance of coding expertise, technical vision, mentorship, and effective stakeholder communication.
Key Responsibilities Lead the architecture, design, development, testing, deployment, and maintenance of scalable software applications and distributed systems. Partner with business and technology stakeholders to understand product requirements, domain needs, and technical priorities. Drive hands-on implementation of critical features and technical initiatives using Java and other JVM-based technologies.
Define and enforce coding standards, design principles, development practices, and engineering best practices. Design scalable, resilient, secure, and high-performing microservices-based solutions. Conduct thorough code reviews and ensure high standards for code quality, performance, maintainability, and documentation. Establish robust testing strategies, including unit, integration, functional, and automated testing practices.
Guide teams in implementing CI/CD pipelines, version control practices, automated deployments, and quality gates. Mentor, coach, and support engineers across different experience levels, promoting technical growth and knowledge sharing. Collaborate with product owners and engineering teams during Agile ceremonies, including sprint planning, backlog refinement, daily stand-ups, and retrospectives. Identify technical risks, dependencies, and delivery challenges; recommend and implement mitigation plans.
Ensure architectural decisions align with enterprise standards for scalability, reliability, security, integration, and operational excellence. Foster a culture of ownership, collaboration, innovation, accountability, and continuous improvement. Stay current with emerging technologies, engineering practices, and JVM ecosystem trends, and evaluate their applicability to business needs. Required Qualifications Bachelor's degree in Computer Science, Computer Engineering, or a related technical discipline.
7+ years of hands-on software development experience, including experience delivering scalable and reliable enterprise applications. Proven experience leading the design and delivery of complex software projects, distributed systems, or large-scale applications. Strong hands-on expertise in Java and solid experience with JVM-based development. Strong knowledge of object-oriented programming, software design patterns, system design, and architectural best practices.
Experience designing and developing microservices-based applications. Hands-on experience with containerization technologies, including Docker . Strong experience with relational database management systems and SQL. Knowledge of enterprise architecture principles, including scalability, system integration, application security, reliability, and performance optimization. Experience with Agile methodologies, software development lifecycle practices, and cross-functional delivery models.
Experience with CI/CD pipelines, source control systems, and automated build and deployment processes. Strong understanding of automated testing frameworks and quality assurance practices. Demonstrated ability to conduct code reviews, establish engineering standards, and improve software quality. Proven technical leadership and mentorin