Role Summary
We are seeking an experienced Senior Software Engineer to support the design, development, and delivery of large-scale distributed systems. The successful candidate will contribute to system architecture, guide development teams, promote engineering best practices, and leverage AI-assisted tools to enhance software delivery and quality.
Technical Skills
- Strong proficiency in Java and SQL.
- Experience developing enterprise applications using Spring Boot and Spring MVC.
- Experience designing and implementing microservices-based architectures and RESTful APIs.
- Knowledge of software design principles, design patterns, and clean architecture practices.
- Experience working with relational databases such as Oracle, MySQL, or PostgreSQL.
- Experience with ORM frameworks such as Hibernate or JPA.
- Experience with messaging and event-driven technologies such as Kafka.
- Experience implementing caching solutions such as Redis.
- Experience deploying and supporting applications on cloud platforms such as AWS, Azure, or equivalent.
- Experience with containerization technologies such as Docker.
- Familiarity with CI/CD tools and practices, including Git, GitHub Enterprise, SonarQube, or similar tools.
- Experience with unit testing and API testing tools such as JUnit and Postman.
- Proven experience as Technical Lead / Team Leader - mentoring, high-level design ownership
Preferred Qualifications
- Exposure to frontend technologies such as JavaScript, HTML, and CSS.
- Experience using AI-assisted development tools, code generation tools, or LLM-based solutions within the software development lifecycle.
- Experience working across multiple cloud environments (AWS, Azure, GCP, or equivalent).
- Experience in industries such as transportation, real estate, e-commerce, telecommunications, or other enterprise domains.
- Relevant professional certifications, such as Scrum, Agile, AWS, Azure, or other cloud certifications.
Key Responsibilities
- Design, develop, and maintain scalable microservices-based applications.
- Contribute to solution architecture and technical design decisions.
- Conduct code reviews and promote engineering best practices.
- Support and mentor team members in software development and cloud deployment practices.
- Ensure the reliability, performance, and scalability of distributed systems.
- Collaborate with business stakeholders, project teams, and clients to deliver technical solutions.
- Evaluate and implement appropriate engineering tools and technologies, including AI-assisted development tools where applicable.
- Participate in Agile delivery activities, including planning, estimation, and continuous improvement initiatives.
Experience Requirement
- Demonstrated experience in Java application development using Spring-based frameworks.
- Experience delivering enterprise-scale software projects.
- Experience leading technical initiatives, mentoring team members, or coordinating engineering activities is advantageous.
- Ability to work effectively in a collaborative and fast-paced environment
- The role may require participation in standby or on-call support arrangements outside standard working hours, including weekends and public holidays, where necessary to support critical business systems.
- We welcome applications from candidates of diverse backgrounds and experiences. All applications will be evaluated based on skills, qualifications, experience, and the ability to perform the requirements of the role.