FlamingoRemote

Engineering Lead (Java)

Description

About Flamingo Flamingo is revolutionizing the Managed Service Provider (MSP) industry with an AI-driven, open-source platform for IT and security. Our goal is to empower MSPs with automation, optimization, and scalability tools to enhance their operations.

Role Overview As a Java Tech Lead at Flamingo, you will drive the technical direction of our back-end platform, leading architecture decisions and mentoring a team of engineers building scalable, high-performance services on Java and Spring Boot. You will own the design of event-driven microservices, set engineering standards, and ensure our systems are reliable, performant, and ready to scale. Your deep expertise in distributed systems, high-volume data processing, and hands-on leadership will be critical to delivering a robust platform that powers thousands of MSPs.

Key Responsibilities Define and drive the back-end technical architecture, making key decisions on system design, patterns, and technology choices. Lead, mentor, and grow a team of back-end engineers, fostering a culture of quality, ownership, and continuous improvement. Design and develop scalable backend services and APIs using Java (Spring Boot). Architect and implement event-driven microservices with Kafka and RabbitMQ. Own technical roadmap and prioritization in collaboration with product and engineering leadership. Process and analyze high-volume logs efficiently to ensure scalability and real-time insights. Integrate and manage multiple data sources, including SQL, NoSQL, and streaming data. Optimize database performance using PostgreSQL, Redis, and Elasticsearch. Implement authentication and authorization mechanisms with OAuth, JWT, and Keycloak. Drive code quality, testing strategies, CI/CD pipelines, and engineering best practices across the team. Conduct code reviews, lead technical discussions, and contribute to hiring decisions.

Qualifications Must-Have: 7+ years of experience in backend development with Java and Spring Boot, including 2+ years in a tech lead or senior leadership role. Proven experience leading and mentoring engineering teams. Deep expertise in microservices architecture, including event-driven systems (Kafka, RabbitMQ). Strong knowledge of RESTful APIs, GraphQL, and WebSockets. Experience processing high-volume logs and working with log management tools (ELK stack, Loki, Fluentd, OpenTelemetry). Experience working with multiple data sources, including relational (PostgreSQL) and non-relational (Redis, Elasticsearch) databases. Experience with containerization (Docker, Kubernetes) and cloud platforms (AWS/GCP). Strong understanding of security best practices in backend development. Excellent communication skills and ability to translate technical complexity into clear decisions and plans.

Nice-to-Have: Experience with functional programming in Java or Scala. Familiarity with distributed tracing (e.g., Jaeger, Zipkin) for microservices. Knowledge of cloud-native architectures and serverless frameworks. Exposure to message queues and event sourcing. Experience building engineering culture and processes at early-stage startups.

Why Join Flamingo? Technical Leadership: Shape the architecture and engineering culture of a fast-growing platform from the ground up. Ownership & Equity: Competitive compensation, including equity in an early-stage, high-growth startup. Innovative Tech Stack: Work with cutting-edge open-source technologies in AI, automation, and security. Remote-first Culture: Flexibility to work from anywhere while collaborating with a top-tier team. Mission-Driven Company: Join a team passionate about disrupting the MSP industry and making enterprise-grade security and IT automation accessible to all.

Skills

OAuthJavaSQLSpringSpring BootRedisCI/CDAIJWTJaegerElasticsearchGraphQLPostgreSQLRESTKafkaSystem DesignMicroservicesOpenTelemetrySecurityEvent-DrivenELK StackScalaDockerKubernetesGCPElkRESTfulAWSRabbitmq

Want AI to find more roles like this?

Upload your CV once. Get matched to relevant assignments automatically.

Try personalized matching