Java Backend Engineer (L2)

Permanent employee, Full-time · HQ

About Caravelo
Caravelo is a travel-tech company with a global team and roots in Barcelona that specializes in subscriptions. We make travel better and more accessible by enabling our clients to offer better products and helping them to become more profitable and more stable businesses.
Our team has been growing over the past few years and at the moment we are a team of circa 50 people working mostly from our HQ in Barcelona. If you’d like to be part of our growth journey, read on.
The mission

We are looking for an analytical, results-driven Java backend engineer L2 who will work with team members to troubleshoot, improve and expand our current Caravelo SaaS Platform. 

As a Back-End Engineer L2 at Caravelo, you will be responsible for the server side code and APIs of our platform. You will be involved in the entire product development lifecycle including the design, development, deployment and maintenance of new and existing features. You'll write reusable, scalable and maintainable code. You'll also perform testing to optimize performance and work closely with our Delivery and Design/UX teams to ensure system consistency, customer satisfaction and to create a great user experience. Ultimately, you'll be the driving force behind all back-end activities.
Duties and responsibilities
  • Analyze business requirements and translate them into technical user stories or tasks.
  • Document technical solutions, create documentation, readme guides and UML diagrams whenever needed, sharing them with other teams or departments.
  • Estimate effort, complexity and delivery time of user stories.
  • Collaborating with the front-end developers, UX/Design and Delivery teams to establish objectives and design more functional, cohesive codes to enhance the user experience.
  • Follow and enforce others to follow best coding practices and design patterns thinking of efficiency, scalability, code readability and maintainability.
  • Develop clean code that is simple and efficient.
  • Be familiar with BDD, Backend-for-frontend and Microservices approaches.
  • Know and enforce the testing pyramid, writing unit tests and integration tests.
  • Develop REST APIs with API-First mindset taking into consideration the architecture of the system, detecting opportunities for improvement.
  • Attend team ceremonies willing to help others and address bottlenecks.
  • Perform peer reviews from other team members in an efficient manner, willing to share best practices in a respectful way.
  • Can communicate clearly with other team members and report status to managers.
  • Take and give feedback to other team members positively, having the opportunity to keep improving and learning from others in a challenging and cheerful team.
Required skills and experience
About You:
  • You have at least 4 years experience developing Java applications.
  • You are familiar with build automation tools like Maven or Gradle.
  • You are familiar with DI/ioC frameworks like HK2 or Spring.
  • You are familiar with unit testing tools like Junit or Spock.
  • You are familiar with at least another OOP language.
  • You have a good understanding of the entire product development process (design, development, testing and deployment).
  • You can estimate and break down user stories into tasks.
  • You have worked actively in a CVS (Git, GitLab, Bitbucket, ) and feel familiar opening and reviewing MRs/PRs, you feel confident branching, rebasing and merging.
  • You can troubleshoot problems in Java code and feel confident in using debugging tools in your IDE.
  • You're aware of the importance of using a coherent code style and to make code readable.
  • You're analytical and good at time management.
  • You have great problem-solving skills and you work well in a team.
  • You're curious about new technologies and you're excited to find ways to implement them in your work.
  • You have a big appetite to learn and improve your back-end skills.
Nice to Have
  • Basic knowledge of front-end technologies like HTML, JavaScript and CSS, and any front end framework (VueJs, ReactJs).
  • Basic knowledge of relational or non-relational databases like MySQL, MariaDB, SQL, CouchBase, DynamoDB, MongoDB.
  • Some experience with PHP frameworks like Laravel, Yii or Symfony.
  • Some knowledge of AWS Cloud, ECS, EC2 and S3.
  • You're familiar with automated garbage collection vs manual memory management, resource handling (e.g. close file pointers, HTTP resources), strong/weak reference collections and object immutability.
  • You're familiar with asynchronous callbacks, multi-threaded environments (thread safety), parallel computing and hard/soft locking.
  • You can build basic observability of the code you have built (REST latencies, uptime, and main metrics) with Grafana, Datadog, CloudWatch or similar.

What we offer
  • Competitive salary and progression framework
  • Flexible working hours
  • Remote work options
  • A fantastic and spacious office in the heart of Barcelona
  • Free coffee & beer while in the office
  • The possibility to see the results of your work, and have a real impact on the business
  • Diverse, inclusive and international work environment
  • Tax Free Benefits with Cobee - Private Health Insurance with Mapfre, Restaurant Card, Transport Card and Kindergarten -
  • Training and conferences budget
  • Healthy life with Andjoy discount
  • 23 days holidays
  • Fun environment & team: company events, celebrations, etc.
About us

At Caravelo we are always looking for people with the right mix of passion, authenticity, and attitude to join our team. We are also proud to be an inclusive, equal opportunity employer.

Would you like to have a job like this?
Please fill out the following short form if you want to be part of our hiring process. 

Please upload your updated CV.

Click to select multiple files or use drag-and-drop

Uploading document. Please wait.