We are seeking a hands-on Lead Software Engineer with deep experience in Java technology and expertise in Kubernetes and CI/CD pipelines. This role will primarily focus on designing scalable, high-performance software architectures, working closely with internal technical teams to ensure the successful delivery of robust, production-ready systems. You will lead by example, contributing to the codebase and optimizing internal processes, including CI/CD pipelines, but your core responsibility will be the technical design and architecture of software systems.
What you will do
Key Responsibilities
- Microservices Architecture: Architect and manage microservices architectures, leveraging Kubernetes and cloud infrastructure to ensure scalability and system resilience.
- Performance and Scalability Optimization: Continuously optimize system performance, ensuring high availability, low latency, and efficient resource usage.
- Hands-on Coding: Lead by example through active participation in coding, focusing on critical areas of the application and setting coding standards. Ensuring designs are implementable, maintainable, and aligned with technical goals.
- CI/CD Pipeline Management: Manage and optimize CI/CD pipelines to ensure efficient, automated, and reliable software deployment.
- Internal Collaboration: Work effectively with internal technical stakeholders, including developers, DevOps engineers, and architects, to ensure the successful implementation of technical solutions.
What you will need
Qualifications
- Proven Experience: 7+ years of experience in software development, with at least 3+ years in a software architecture role, focusing on Java technologies.
- Hands-on Development: Strong coding abilities in Java.
- Software Architecture Expertise: Deep experience in designing complex, scalable software systems and microservices architectures.
- Kubernetes and Container Expertise: Proficiency with Kubernetes for container management
- CI/CD Pipeline Management: Experience in managing and optimizing CI/CD pipelines, including tools like Jenkins, GitLab CI, or similar.
- Messaging Technologies: Proficiency with messaging and communication technologies such as Apache Kafka, RabbitMQ, gRPC, or similar, for building robust and scalable systems.
- Monitoring and Logging: Familiarity with monitoring and logging tools such as Prometheus, Grafana, or the ELK stack, ensuring system health and performance monitoring.
- Problem Solving: Strong analytical and problem-solving skills with the ability to address architectural and performance challenges.
Nice To Have
- Experience working with cloud platforms (AWS, GCP, Azure).
- Knowledge of SRE (Site Reliability Engineering) principles and how they apply to software architecture and CI/CD processes.
- Experience with Infrastructure as Code (IaC) tools such as Terraform or Ansible.