We are seeking a highly motivated and experienced Backend Engineer to join our team and be a key contributor to building and deploying innovative solutions on Node.JS within a microservices architecture. You will be instrumental in establishing and maintaining strong engineering practices, ensuring high-quality code, and leading the development of connectors and workflows for our customer deployments. This role requires a proactive individual with excellent communication skills, a strong understanding of backend architecture, and the ability to work effectively across geographically dispersed teams.
Responsibilities:
-
Backend Development: Design, develop, test, and deploy robust and scalable backend applications and services using Node.js, reporting to the Team lead and the Technology Manager
-
Cloud Infrastructure Management: Work with our CI / CD team to adapt / build our Terraform code for continuous integration and continuous deployment (CI/CD) pipelines.
-
Engineering Process Evangelist: Act as a champion for best-practice software development methodologies, including:
-
Code reviews, ensuring code quality, security, and adherence to coding standards.
-
Hexagonal Architecture principles for modular, maintainable, and testable applications.
-
Automated Unit Testing and Test-Driven Development (TDD).
-
API and Workflow Development: Design and implement RESTful APIs and workflow engines to connect to various applications and implement custom client business logic.
-
Mentorship and Guidance: Mentor engineers and provide technical guidance on design, development, and testing best practices.
-
Collaboration: Work closely with backend engineers, frontend engineers, and other stakeholders to define requirements, design solutions, and deliver high-quality products.
-
Communication and Reporting: Communicate effectively and transparently with a direct manager in Colombia and an architecture manager in UK, providing regular updates on progress, challenges, and potential roadblocks. Proactively seek feedback and collaborate on solutions.
-
Problem Solving: Troubleshoot and debug complex issues in production environments and implement effective solutions.
-
Continuous Learning: Stay up-to-date with the latest trends and technologies in backend development, cloud computing, and CI/CD.
Required Skills and Experience:
-
2+ years of experience in backend software development with a strong understanding of software engineering principles and best practices.
-
Proficiency in at least one of the following languages: Node.js, Java Spring will be considered as a plus.
-
Solid understanding and experience with RESTful API design and implementation.
-
Experience implementing and adhering to Hexagonal Architecture principles.
-
Experience implementing and adhering to Domain-driven Design.
-
Experience with automated unit testing and Test-Driven Development (TDD).
-
Proficient with Git and version control workflows.
-
Excellent communication, collaboration, and problem-solving skills.
-
Ability to work independently and as part of a distributed team.
-
Comfortable working with significant time zone differences and adjusting work schedule
-
as needed.
Bonus Points:
-
Experience working in Cloud-based solutions (AWS, Azure, GCP).
-
Experience with workflow engines (e.g., Apache Airflow, Camunda).
-
Experience with containerization technologies such as Docker.
-
Experience with monitoring and logging tools (e.g., Prometheus, Grafana, ELK stack).
-
Experience with database design and optimization.
-
Experience with Agile development methodologies.
-
Experience with security best practices in cloud environments.