Qualifications and Experience:
-
Bachelor's degree in Computer Science, Software Engineering, or a related field.**
-
8+ years of professional experience in software development, with 3+ years in a management or leadership role overseeing a team of 5 or more engineers.
-
Strong technical background and deep proficiency in Java and Spring Boot.
-
Proven expertise in architectural design and operation of event-driven microservices architectures at scale.
-
Demonstrated ability to drive and enforce Test-Driven Development (TDD) methodologies and clean code principles.
-
Solid experience with message brokers/queues (e.g., Kafka, RabbitMQ) and robust data store management (NoSQL/Relational databases, Redis).
-
Working experience with CI/CD pipelines, DevOps practices, and version control (Git).
-
Exceptional leadership, communication, and interpersonal skills, with a track record of successfully mentoring and developing engineering talent.
Preferred Qualifications:**
-
Hands-on experience or architectural oversight in Clojure or other functional programming languages.
-
Proven experience managing teams working with Docker and Kubernetes in a production environment.
-
Extensive experience with cloud platforms (AWS, Azure, GCP) for deploying and scaling high-volume services.
-
Familiarity with monitoring and observability tools (e.g., Prometheus, Grafana, ELK stack).
-
Knowledge of serverless computing environments.
Team Leadership and Mentorship
-
Help your team deeply understand business, customer, and partner needs, translating them into thoughtful technical and product decisions.**
-
Promote a culture of ownership, accountability, and high standards, enabling your team to move quickly and deliver meaningful results.
-
Support engineers in their growth and development by conducting regular one-on-ones, performance reviews, and career development discussions.
-
Drive hiring, onboarding, and training of new engineering talent.
Technical Strategy & Architectural Roadmapping****
-
Partner with senior engineers, solution architects and principal engineers to shape and execute on the technical strategy for your area.
-
Guide the architectural evolution of services, event-driven systems (Kafka/RabbitMQ), and data pipelines at scale.
-
Define technology standards, development methodologies, and security best practices for the team.
Engineering Excellence and Quality Assurance****
-
Contribute to Ezra’s engineering culture, helping shape how we build great software and work together effectively.
-
Instill Test-Driven Development (TDD), ensuring all features are accompanied by comprehensive unit, integration, and end-to-end tests.
-
Oversee software design, development, and code review processes and set a high bar for code quality, maintainability, and security.
-
Implement and foster secure software design and development approaches that minimize the attack surface and associated risk.
Delivery Management and Performance Optimization****
-
Manage the execution of the engineering roadmap, working with product managers to prioritise and scope features.
-
Monitor system performance and stability, providing guidance to the team on profiling, load testing, and implementing effective caching/performance tuning strategies.
-
Collaborate with platform engineering to streamline CI/CD pipelines, optimize deployment strategies, and ensure operational excellence.
Hands-on Software Development**
-
Contribute directly to production code, staying close to the work and building knowledge & context through first-hand experience.
-
Utilise AI-enabled software development practices, acting as a role model for software engineers and demonstrating the state of the possible.