About Us:
We are seeking a highly motivated and experienced Senior 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:
- 5+ 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