Mid Backend Engineer
Description
Company Overview
Lean Tech is a dynamic and growing organization headquartered in MedellĂn,
Colombia, specializing in software development and IT services across the
entertainment, financial, and logistics sectors. We are committed to driving
technological transformation and foster a culture centered on collaboration,
innovation, and excellence. Our supportive and inclusive environment promotes
substantial career growth. By partnering with distinguished engineering teams in
Latin America and the United States, Lean Tech delivers cross-industry solutions,
maintaining a significant presence in both regional and international markets.
Position Overview
As a Backend Integration Engineer at Lean Tech, you will play a crucial role in
developing and maintaining scalable, event-driven backend services that power
mission-critical systems. This is a backend-focused engineering position with a
strong emphasis on building robust integration services using F# and Kafka within
a cloud-native architecture, primarily on AWS. You will contribute to architectural
decisions, drive best practices for reliability and observability, and collaborate with
cross-functional teams to ensure seamless integration workflows. The role involves
hands-on development, participation in code reviews, design documentation, and
an on-call rotation to ensure the continuous availability and responsiveness of
production systems. We are seeking individuals with a solid understanding of
functional programming and distributed systems concepts, who are adept at
working with relational databases and event-driven architectures. While F#
experience is preferred, candidates with C#/.NET functional programming
backgrounds and a willingness to learn F# are also encouraged to apply.
Familiarity with containerization using Docker is expected, and knowledge of CI/CD
practices, GitHub Actions, and Terraform for deployment templates is beneficial.
You will be part of a dynamic team focused on reliability-first development, aiming
to minimize off-hours incidents through thoughtful design and proactive monitoring.
Key Responsibilities
- Design and implement scalable, event-driven backend integration services
with a focus on message passing and event streaming concepts. - Contribute to architectural decisions and drive best practices for integration
reliability, observability, and maintainability within a cloud-native environment. - Develop and maintain robust backend services using F#
- Utilize Kafka as the primary messaging system for event-driven
communication. - Collaborate with cross-functional teams to align integration services with
business workflows and ensure seamless data flow. - Implement comprehensive unit and integration testing strategies to ensure
code quality and system stability. - Maintain operational awareness across infrastructure, CI/CD pipelines, and
application layers, including participation in an on-call rotation for production
systems. - Continuously improve system design and performance, focusing on reducing
technical debt and enhancing user experience. - Participate in code reviews, contribute to design documentation, and engage
in peer mentoring. - Manage and debug data interactions with relational databases such as
PostgreSQL and SQL Server, and potentially NoSQL databases like Mongo. - Support the transition to AWS cloud infrastructure, leveraging services like S3,
SQS, and Lambda where applicable. - Contribute to the development and maintenance of CI/CD pipelines, with familiarity in tools like GitHub Actions and Terraform being beneficial.
Required Skills & Experience
- Professional experience with F# for backend service development. Candidates
with C#/.NET functional programming experience and a willingness to learn F#
are also considered. - Solid understanding of functional programming principles, which are
considered a core requirement. - Practical experience with event-driven architectures and message passing
concepts, including idempotency and eventual consistency. - Hands-on experience developing cloud-hosted applications, with a preference
for AWS due to a transition from Azure. - Strong understanding of relational databases, including SQL querying,
indexing, and debugging. Experience with PostgreSQL and SQL Server is
utilized. - Proficiency in unit and integration testing practices.
- Experience with Docker for containerization is required.
- Familiarity with CI/CD practices is necessary for maintaining a strong working
knowledge of the stack. - Knowledge of infrastructure and networking within cloud environments is
important. - Ability to work collaboratively in high-impact teams, supported by strong documentation and communication practices.
Nice to Have Skills
- Familiarity with container orchestration tools like Kubernetes.
- Experience with specific AWS services such as S3, SQS, and Lambda.
- Knowledge of infrastructure and networking within cloud environments.
- Experience with CI/CD tools and practices, including GitHub Actions and
Terraform for deployment templates. - Familiarity with NoSQL databases, such as MongoDB.
- Experience with front-end technologies like React and TypeScript.
- Familiarity with observability tools and practices for production systems.
- Experience with SQL Server and PostgreSQL databases.
Soft Skills
- Clear and Concise Communication: Ability to articulate complex technical
designs, decisions, and intent effectively through documentation and
discussions, ensuring alignment with cross-functional teams and stakeholders. - Strong Sense of Ownership and Initiative: Demonstrates a proactive and selfmotivated
approach to problem-solving and continuous improvement, taking
responsibility for the reliability and maintainability of integration services. - Adaptability and Collaboration in Distributed Teams: Thrives in a dynamic,
fast-paced, and distributed work environment, valuing feedback and
contributing to team growth through empathetic collaboration. - Problem-Solving and Continuous Improvement Mindset: Possesses strong
analytical skills to identify and resolve technical challenges, coupled with a
proactive drive to enhance system design, performance, and reduce technical
debt. - Reliability-First Development Focus: Committed to building highly reliable and
observable systems, actively contributing to minimizing critical incidents
through thoughtful design and operational readiness.