Backend Tech Lead
Description
Company Overview
Lean Tech is a forward-thinking technology company dedicated to building scalable and reliable software solutions. We foster a culture of innovation, ownership, and continuous improvement, driven by a mission to deliver exceptional value through cutting-edge development practices. Our team thrives on thoughtful problemsolving,
strong collaboration, and technical excellence.
We operate within a dynamic technology environment, leveraging modern tools and methodologies to maintain a strong market position. Our commitment to operational excellence is reflected in our emphasis on reliability-first design, robust testing, and effective observability practices. We are a globally distributed team, united by a passion for technology and a commitment to our clients' success.
Position Overview
Lean Tech is seeking a Senior Backend Engineer / Tech Lead with strong experience in distributed systems and functional programming principles to join our team.
This role goes beyond hands-on development. You will act as a technical owner and solution leader, responsible for driving system design, shaping solutions, and guiding engineering decisions across the team. You will work closely with stakeholders and engineers to translate business needs into well-defined, robust and scalable backend solutions, proactively identifying gaps, risks, and opportunities for improvement.
The ideal candidate is not only capable of building high-quality backend services, but also actively challenges assumptions, proposes better approaches, and leads technical conversations. You will play a key role in elevating the team by influencing engineering practices, contributing to architectural direction, and ensuring clarity in how systems are designed and implemented.
While this is a leadership-oriented role, it remains hands-on, with the majority of time spent coding. Over time, you will take increasing ownership of system design, solutioning, and technical direction, enabling the broader team to operate more effectively.
Key Responsibilities
- Design, implement, and maintain robust backend services using F# within a service-oriented and event-driven architecture.
- Act as a technical lead and solution owner, driving system design, architectural decisions, and implementation strategies across initiatives.
- Translate business requirements into clear, actionable technical solutions, including breaking down work into well-defined tasks and identifying gaps early.
- Engage with stakeholders and teammates to clarify requirements, ask critical questions, and resolve ambiguities before implementation.
- Lead solution discussions by evaluating trade-offs, proposing alternatives, and guiding the team toward effective technical decisions.
- Contribute to and promote event-driven architectures, including messagingbased communication and asynchronous workflows.
- Apply and guide the use of architectural patterns such as event-driven design, CQRS, and event sourcing where appropriate.
- Design and maintain backend integrations using REST and other service communication patterns.
- Work with messaging systems (e.g., Kafka or similar), applying strong understanding of delivery semantics, trade-offs, and asynchronous system behavior.
- Influence and elevate team practices by actively participating in code reviews, providing constructive feedback, and promoting high engineering standards.
- Mentor and support teammates through technical collaboration, encouraging proactive thinking and shared ownership.
- Ensure quality ownership by writing and maintaining unit, integration, and end-to-end tests throughout the delivery lifecycle.
- Contribute to end-to-end testing practices using Playwright or similar tools.
- Ensure strong observability practices, including structured logging, monitoring awareness, and operational readiness.
- Participate in on-call rotations and contribute to a reliability-first engineering culture.
- Support the evolution of cloud-hosted systems and containerized infrastructure as part of ongoing platform improvements.
Required Skills & Experience
- Strong professional experience in backend development, with hands-on experience in F#. Candidates with C#/.NET experience and a strong functional programming foundation will also be considered, provided they demonstrate a clear willingness and ability to work with F#.
- Experience with other functional programming languages (e.g., Haskell, OCaml, Scala) is also valued.
- Solid understanding of functional programming principles, including immutability, composition, and trade-offs with object-oriented approaches.
- Proven experience designing and building distributed systems and serviceoriented architectures.
- Strong system design and architectural skills, with the ability to clearly articulate decisions, trade-offs, constraints, and alternative approaches based on real-world experience.
- Experience with event-driven architectures and messaging systems (Kafka, RabbitMQ, Azure Service Bus, or similar), including understanding of asynchronous processing, delivery guarantees, and system trade-offs.
- Experience designing and consuming RESTful services in backend systems.
- Experience influencing technical direction within a team, including guiding design decisions, contributing to standards, and mentoring engineers.
- Demonstrated ability to lead through influence, facilitating alignment and driving decisions in a collaborative, non-hierarchical environment.
- Ability to own technical solutions end-to-end, from requirements clarification through implementation and delivery.
- Strong problem-solving skills, including the ability to identify risks, challenge assumptions, and propose improvements.
- Experience working with relational databases such as PostgreSQL or SQL Server, including query design and performance considerations.
- Experience writing unit and integration tests as part of standard development practices.
- Experience working with cloud or equivalent infrastructure environments, with a solid understanding of core infrastructure concepts.
- Strong communication skills, with the ability to collaborate effectively with engineers, stakeholders, and leadership.
- Strong sense of ownership for production systems, including reliability, incident awareness, and a proactive approach to minimizing operational issues.
Nice to Have Skills
- Deep experience with F# and advanced functional programming concepts (e.g., computation expressions, async workflows, active patterns).
- Hands-on experience with Apache Kafka in production environments.
- Familiarity with messaging platforms such as RabbitMQ or Azure Service Bus.
- Experience with Playwright for end-to-end or API testing.
- Familiarity with xUnit or similar testing frameworks.
- Experience with containerization technologies such as Docker.
- Familiarity with container orchestration or hosting platforms such as ECS, Fargate, or Kubernetes.
- Experience with AWS services and cloud-native architectures.
- Familiarity with observability tooling and operational best practices.
- Experience with AI-assisted development workflows (e.g., code generation, PR review, spec-driven development).
- Exposure to formal specification or modeling tools such as TLA+.
Soft Skills
- Strong communication skills, with the ability to clearly explain technical concepts, trade-offs, and decisions to diverse audiences.
- High level of proactivity, consistently identifying gaps, asking the right questions, and driving solutions forward.
- Technical leadership mindset, with the ability to influence, guide, and elevate team practices without relying solely on authority.
- Confidence to engage stakeholders and teammates with constructive feedback and thoughtful challenges.
- Strong sense of ownership and accountability, balancing hands-on development with leadership responsibilities.
- Collaborative mindset, fostering knowledge sharing, mentorship, and continuous improvement.
- Adaptability and curiosity, with openness to evolving technologies, tools, and engineering practices.
Why You Will Love Working with Us
- Join a powerful tech workforce and help us change the world through technology.
- Professional development opportunities with international customers.
- Collaborative work environment. Career path and mentorship programs that will lead to new Levels.
Join Lean Tech and contribute to shaping the technology landscape within a dynamic and growing organization. Your skills will be honed, and your contributions will play a vital role in our continued success. Lean Tech is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive
environment for all employees.