This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Lead Software Engineer is a hands-on technical leader responsible for designing, developing, and delivering high-quality software solutions across one or more concurrent projects. He/She is expected to serve as one of the team’s subject matter experts, handling projects and issue resolutions with broader scope and greater complexity. The Lead Software Engineer is expected to contribute to and influence high- and low-level architecture design, provide required documentation and recommend process improvements.
Job Responsibility:
Prepare, review and/or approve project software requirements, specifications, and other artifacts (Software Design Document, Entity Relationship Diagram, etc.)
Lead estimation, design, solution, and integration of the project
Own production support and resolve complex cross-component and cross-technology issues
Recommend and implement software upgrades, tools, techniques, and other process improvements
Analyze monitoring and diagnostic data to identify defects, performance bottlenecks, and system improvement opportunities
Mentor developers in designing and developing high-quality software solutions
Provide clear technical status, risk visibility, and architectural insights to stakeholders
Conduct research on emerging application development software products, languages, and standards in support of procurement and development efforts
Collaborate closely with cross-functional teams including Product, QA, DevOps, and Operations
Lead or contribute to technical evaluation, onboarding, and capability development of team members
Champion engineering excellence and continuous improvement initiatives across the team
Requirements:
Bachelor’s/College Degree in Computer Science/ Information Technology or equivalent in relevant discipline
8+ years of relevant experience with highly developed professional/technical skills
Expert in implementing detailed designs into robust, well-tested application functionalities using Java/JEE
Advanced experience in enterprise and distributed system design, including Object-Oriented Design and Domain-Driven Design
Strong experience designing and implementing distributed, microservices-based enterprise systems, including REST API development
Proficient knowledge and experience in the following: OS Platform (e.g., Windows, Unix, Linux)
Framework (e.g., Spring 5+, Spring Boot, Hibernate 5+, Angular, Sencha ExtJS. etc.)
Languages: Java 8+, JavaScript, SQL, PL/SQL
Distributed messaging systems (e.g., IBM MQ, ActiveMQ)
Application Servers (e.g., Apache HTTP Server, and Tomcat, etc.)
SOAP-based web services
Java Core Design Patterns
Data Analytics/Reporting frameworks (e.g., iHUB, Jasper Reports, etc.)
Other Development Technologies (e.g., HTML, XML, CSS, Junit, JSON, Shell scripting)
Development Tools (e.g., Eclipse, IntelliJ, Maven, and GIT)
Experience with performance testing, code debugging, monitoring, and JVM tuning
Distributed and multi-threaded systems on a relational database
Experience in Agile/Scrum environments
Experience with CI/CD pipelines
Exposure to cloud platforms
Experience designing and supporting high-availability, transaction-intensive systems, preferably within financial services environments
Willing to provide on-call production support as needed (after shift and/or weekends)
Makes sound technical decisions that balance delivery timelines, system quality, and long-term maintainability
Strong communication, analytical thinking, and stakeholder engagement skills
High ownership mindset, detail-oriented, adaptable, and collaborative
Nice to have:
Experience with the following technologies is a plus: Hazelcast, Kafka, Docker, BIRT Reporting