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 fostering 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. 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 using Kafka, with a focus on message passing, stream processing, and robust delivery semantics.
- 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#.
- Design and evolve RESTful and gRPC APIs with a focus on versioning, clear contracts, and comprehensive documentation.
- Utilize Kafka as the primary messaging system for event‑driven communication.
- Design and operate distributed systems for real‑time event processing, addressing performance and reliability through techniques like partitioning, batching, backpressure handling, windowing, and stateful stream processing.
- 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.
- Collaborate with front‑end engineers to deliver end‑to‑end solutions, occasionally contributing to front‑end development as needed.
Required Skills & Experience
- Professional experience with F# for backend service development.
- Solid understanding of functional programming principles, which are considered a core requirement.
- Strong grasp of distributed systems fundamentals including messaging semantics, consistency models, backpressure strategies, windowing, and eventual consistency.
- Practical experience with event‑driven architectures and message passing concepts, including idempotency and eventual consistency.
- Hands‑on experience with Apache Kafka: designing topics, partitions, consumer groups, and applying delivery semantics such as at‑least‑once and exactly‑once. Hands‑on experience developing and operating cloud‑hosted applications, preferably on AWS, due to an ongoing migration 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.
- Ability to work collaboratively in high‑impact teams, supported by strong documentation and communication practices.
- Experience with front‑end technologies like React and TypeScript.
- Experience with SQL Server and PostgreSQL databases.
Nice to Have Skills
- Familiarity with container orchestration tools like Kubernetes.
- Familiarity with gRPC or similar RPC frameworks for inter‑service communication, including defining service contracts and versioning schemas.
- Knowledge of infrastructure and networking within cloud environments.
- Familiarity with stream processing concepts such as partitioning, parallelism, low‑latency processing, backpressure, batching, windowing, and stateful stream processing (e.g., using Kafka Streams or equivalent frameworks).
- Experience with CI/CD tools and practices, including GitHub Actions and Terraform for deployment templates.
- Familiarity with NoSQL databases, such as MongoDB.
- Familiarity with observability tools and practices for production systems.
Soft Skills
- Clear and Concise Communication: Ability to articulate complex technical designs, decisions, and intent effectively through documentation and discussions.
- Strong Sense of Ownership and Initiative: Demonstrates a proactive and self‑motivated approach to problem‑solving and continuous improvement.
- Adaptability and Collaboration in Distributed Teams: Thrives in a dynamic, fast‑paced, and distributed work environment.
- Problem‑Solving and Continuous Improvement Mindset: Possesses strong analytical skills to identify and resolve technical challenges.
- Reliability‑First Development Focus: Committed to building highly reliable and observable systems.
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 data 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.