Backend Engineer

  • Tiempo completo
  • 08039, Barcelona, Barcelona, España
  • Technology

Are you passionate about solid software architecture and seeking challenges in large-scale projects?

Join our team as a Backend Engineer and contribute to the construction of innovative technological solutions. You will develop robust and scalable backends, applying SOLID principles, DDD, and hexagonal architecture.


Key Responsibilities:

Design and Development:

  • Design and develop scalable and maintainable backends using SOLID and DDD principles.
  • Model domain entities and objects, applying appropriate naming and design patterns.
  • Implement RESTful APIs following best practices and ensuring clear documentation.
  • Utilize dependency management tools (Composer, Maven, Gradle) to manage libraries and frameworks.


Testing:

  • Write comprehensive unit and integration tests to ensure code quality.
  • Practice TDD to ensure agile and high-quality development.


Architecture:

  • Implement hexagonal architectures to separate business logic from infrastructure.
  • Work with distributed systems, using Docker to containerize applications.
  • Interact with relational and non-relational databases, optimizing data access.
  • Implement asynchronous communication solutions using queues and events.


Cloud:

  • Deploy applications to the cloud using platforms like AWS, Azure, or Google Cloud.
  • Explore and utilize serverless services to optimize costs and scalability.


Collaboration:

  • Collaborate closely with the product development team and other stakeholders.
  • Effectively communicate technical decisions and project progress.


Maintenance and Improvement:

  • Perform continuous refactoring to improve code quality and architecture.
  • Implement robust logging and exception handling mechanisms.


Requirements:

Solid knowledge of:

  • At least one backend programming language (Java, Python, Node.js, etc.)
  • Relational (MySQL, PostgreSQL) and non-relational databases
  • SOLID principles, DDD, hexagonal architecture, and design patterns
  • TDD and BDD
  • Docker and container orchestration
  • Cloud computing (AWS)
  • RESTful APIs


Experience in:

  • Microservices development
  • Distributed systems
  • Asynchronous communication
  • DevOps and CI/CD


Soft skills:

  • Effective communication
  • Teamwork
  • Proactivity and problem-solving skills


Valued:

  • Knowledge of other programming languages (scripting and compiled)
  • Experience with serverless systems
  • Contributions to open source projects
  • Advanced English


Why join us?

  • Challenging projects: You will have the opportunity to work on innovative and high-impact projects.
  • Teamwork: You will be part of a talented and collaborative development team.
  • Professional development: We offer you opportunities for growth and professional development.
  • Cutting-edge technology: You will work with the latest technologies and tools on the market.