IFS logo

Lead Software Engineer

IFS
Full-time
On-site
Colombo, Western Province, Sri Lanka

Company Description

IFS is a billion-dollar revenue company with 6000+ employees on all continents. Our leading AI technology is the backbone of our award-winning enterprise software solutions, enabling our customers to be their best when it really matters–at the Moment of Service™. Our commitment to internal AI adoption has allowed us to stay at the forefront of technological advancements, ensuring our colleagues can unlock their creativity and productivity, and our solutions are always cutting-edge.

At IFS, we’re flexible, we’re innovative, and we’re focused not only on how we can engage with our customers but on how we can make a real change and have a worldwide impact. We help solve some of society’s greatest challenges, fostering a better future through our agility, collaboration, and trust.

We celebrate diversity and understand our responsibility to reflect the diverse world we work in. We are committed to promoting an inclusive workforce that fully represents the many different cultures, backgrounds, and viewpoints of our customers, our partners, and our communities. As a truly international company serving people from around the globe, we realize that our success is tantamount to the respect we have for those different points of view.

By joining our team, you will have the opportunity to be part of a global, diverse environment; you will be joining a winning team with a commitment to sustainability; and a company where we get things done so that you can make a positive impact on the world.

We’re looking for innovative and original thinkers to work in an environment where you can #MakeYourMoment so that we can help others make theirs. With the power of our AI-driven solutions, we empower our team to change the status quo and make a real difference.

If you want to change the status quo, we’ll help you make your moment. Join Team Purple. Join IFS.

Job Description

We are looking for a technical leader who is passionate about building scalable, resilient, and high-performance distributed systems. As the Lead Software Engineer, you will play a pivotal role in the design, development, and deployment of microservices architectures running on Kubernetes, driving both the technical vision and execution of our platform’s architecture.

Key Responsibilities:

  • Microservices Architecture: Design and implement scalable and high-performance microservices architectures that can handle increasing traffic and complex workloads.
  • Kubernetes & Containerization: Lead the architecture, deployment, and management of containerized applications using Kubernetes, ensuring they are highly available, scalable, and resilient.
  • System Scalability: Ensure that the systems are designed for horizontal scalability and can handle large volumes of traffic by effectively utilizing Kubernetes and container orchestration tools.
  • Continuous Improvement: Drive the adoption of best practices and improve existing microservices, systems, and workflows to enhance system performance, reliability, and efficiency.
  • Mentorship & Leadership: Provide leadership and mentorship to engineering teams, helping to develop junior and mid-level engineers by fostering a culture of learning and knowledge sharing.
  • Collaboration: Work closely with product managers, designers, and other engineering teams to deliver robust, production-ready solutions that meet business goals.
  • DevOps & CI/CD: Own and lead efforts in automation of the development lifecycle, ensuring efficient deployment processes and effective use of CI/CD pipelines in a Kubernetes environment.
  • Troubleshooting & Debugging: Lead efforts in identifying, diagnosing, and resolving issues across distributed systems, ensuring system uptime and availability.
  • Security & Compliance: Implement and ensure that microservices are secure, scalable, and compliant with relevant industry standards.
  • Innovation: Stay up-to-date with the latest trends in microservices, Kubernetes, and distributed systems, applying new tools and techniques to improve our platform.

Qualifications

Required Qualifications:

  • Experience: 5+ years of experience in software engineering, with at least 2 years of specialized experience in designing, implementing, and managing microservices architectures.
  • Expertise in Microservices: Strong experience designing and developing microservices-based applications and distributed systems.
  • Kubernetes & Containers: Deep expertise in Kubernetes, Docker, and container orchestration. Proficient in deploying, managing, and scaling applications in Kubernetes clusters.
  • Cloud Platforms: Proficiency with cloud platforms like AWS, GCP, or Azure, with hands-on experience deploying and managing containerized applications.
  • Programming Skills: Strong coding experience in languages such as C#, Go with an emphasis on writing clean, maintainable, and efficient code.
  • API Design & Development: Solid understanding of RESTful APIs, gRPC, and asynchronous messaging (Kafka, RabbitMQ, etc.).
  • CI/CD & DevOps: Strong experience with CI/CD pipelines, automation, and DevOps practices. Familiarity with tools like Jenkins, GitLab CI, CircleCI, Helm, and Terraform.
  • Monitoring & Logging: Familiarity with monitoring and logging solutions (Prometheus, Grafana, ELK Stack, etc.) to ensure the health and performance of Kubernetes-based systems.
  • Leadership Skills: Proven ability to lead and mentor engineering teams, driving projects to completion while fostering a collaborative, innovative, and high-performance environment.
  • Problem-Solving: Strong troubleshooting and problem-solving skills with the ability to analyze and resolve complex technical challenges in a distributed environment.

Preferred Qualifications:

  • Cloud-Native Technologies: Familiarity with cloud-native tools and ecosystems such as service meshes (Istio, Linkerd), Helm charts, and Kubernetes Operators.
  • Microservices Frameworks: Experience with frameworks and tools that facilitate microservices architecture, such as Spring Boot, Micronaut, or similar.
  • Infrastructure as Code (IaC): Proficiency with Infrastructure as Code (IaC) tools such as Terraform or CloudFormation.
  • Distributed Tracing: Experience with distributed tracing tools like Jaeger or OpenTelemetry for debugging microservices.
  • Security: Strong knowledge of securing microservices, Kubernetes clusters, and cloud-based applications.

Additional Information

We believe that coming together as a community, in person, is important for innovation, connection and fostering a sense of belonging. Our roles have the right balance of remote and in-office working to enable flexibility for managing your life along with ensuring a real connection with your colleagues and the broader IFS community.