Looking for a web developer

0. Summary

We’re currently looking for web developers with 3 or more years experience in JavaScript, and with at least 1 year experience in Node JS and / or React, and someone who fits in with our corporate culture and values. The salary ranges between 35K — 4XK along with shares + incentives + freedom for remote working.

If you are interested, please read the rest of the job description which although long provides a detailed idea of what you can expect when joining BoB, and you might even find an easter egg…

1. Who are we?

We’re a Madrid based startup which was created 2 years ago with the mission of improving the experience of travellers by taking away the burden of carrying their luggage.

In order to do this we have developed a service that lets us check in their bags from any location in the city.

We’ll tell you how it works:

  1. The client books the service on our website
  2. One of our drivers turns up at the pick up point with our App (we need help with React Native!) and carries out the checkin of the bags
  3. After passing through our warehouse the luggage is taken to the airport where it is injected into the airports systems
  4. The passenger collects their luggage from the luggage belt at their destination

The fundamental novelty of our service is that the passenger and luggage are both on the same plane. Currently no quicker, cheaper or more comfortable solution for sending luggage and passenger on the same plane exist.

Our biggest challenge thus far was obtaining the necessary authorizations from AESA (Spanish Air Security Agency) and AENA (Airport Operators) in order to overcome both the security and administrative barriers in order to check in the passenger from their houses. Not only does this offer an exclusive service that airlines are able to offer their passengers, but it also enables the establishment of greater efficiency and the reduction of check in counters. Furthermore, it also frees the airport of valuable space which can then be used for other purposes.

Our vision is to develop a door to door service that works on a global scale, when you arrive in the hotel at your destination, by magic, your suitcase will already be there waiting for you (Our CEO Felix jokes about it needing to be a bed to bed service, but that’s another story).

Our business model is simple, we charge the final user for the transport of their luggage which ideally covers our operational costs. The beginning of all startup companies is unfortunately a difficult one, and at the start the turnover is lower than the expenses (for example in order to draw in talent such as yours), we’ve had to obtain money from professional investors. Over the course of the past 2 years we’ve had 2 rounds of investment from different Business Angels and investment funds. To name a few Carlos Domingo, Andreas Mihalovits, Sebastian Nogueira, KFund, Big Sur Ventures and Fundacion Bankinter have all believed in our project.

How many are we? Right now we are 13 people of a diverse age range between 19 to 40+, which are,

  • CEO: 1
  • Product Owner: 1
  • Business: 3
  • Support: 1
  • Operations: 1
  • Design: 2
  • Engineering: 4

2. What are we looking for?

At BoB we’re looking for a JavaScript Full — Stack (we’d love it if you were full — stack but if you think you’re really strong in either Back or Front you’re also valid), we’re looking for someone who has an entrepreneurial attitude and who takes initiative, who is able to identify with our project and who wishes to share the experience of growing together through the launching stage.

We’re seeking someone who enjoys the world of developers and technology but who is also able to share our philosophy and our aspirations. We want people who enjoy solving technical problems but who are also able to understand and appreciate how technology can help people.

Our stack consists of a base in Javascript with NodeJS and MongoDB in the Backend and React with Redux in the front end, hence the need for a strong candidate in these areas but above all someone who is able to integrate into our team and culture.

If you’re curious and want to learn more about BoB click here: https://bob.io

3. How do we work?

We aim to work in the most agile manner possible, bringing out as quickly as possible the biggest amount of functionalities that strongly impact our business. This does not mean that we let the quality slip, but quite the contrary we are highly demanding when it comes to what we develop, we try to use different workflows that allows for continuous delivery. In order to do that here are some examples of our practices:

  • Testing: Unit tests, functional tests, integration tests (we want to start testing the front, possible with Jest)
  • Continuous integration with Jenkins (thanks to these tests the release to production is just pressing a button, no more pain).
  • Scrum (we actually use a specific Scrum called Dual Track Scrum)
  • 2 week sprints
  • The whole company uses JIRA and Confluence, with which we can create information silos
  • Pull requests and code reviews from various colleagues before accepting your code
  • Audits with SonarQube to check the quality of the delivered code to check it matches our quality standards
  • Pair Programing 1 day a week (we believe it’s the best way to share knowledge and train people without preventing productivity)
  • Horizontal team basis where decisions are made with consensus: whoever has the best argument wins.
  • As well as working with Devs, we have a UX and UI integrated into our team, that way you won’t have to fight with them as they also have the same objectives (they even fiddle with the code without destroying anything)
  • Team estimation of task difficulty (bring cards we’ll do a bit of poker planning)
  • Amount of work per sprint determined according to the speed of the team and approved by you and the rest of the team
  • GitFlow: Production, preproduction and Dev branches.
  • Bonus in the near future → work with feature flags, so all our code is uploaded to production without issues even when the function to which it belongs isn’t active

4. What technological stack do you use?

Although this is what we are using right no our team is always experimenting and exploring new possibilities.

Frontend and Ap Mobile

  • React
  • Redux
  • Storybook
  • React Native (now we have an app with Cordova but we want to refactor it to React Native)


  • NodeJS
  • ExpressJS
  • Mongoose
  • MongoDB
  • Websockets
  • Testing with Mocha

Infrastructure / DevOps

  • Jenkins
  • Selenium
  • Git / Github
  • AWS

Project Management / Communication

  • Slack
  • Jira
  • Confluence
  • Screens / whiteboards with dashboards

We are thinking in the near future

  • Architecture of microservices.
  • Use docker / kubernetes (we want to be as practical as possible but also look at the medium-long term.) To be honest, we do not need to complicate our lives with complex architectures, but we must be prepared so that the refactoring is not painful when it needs to be implemented.
  • Automated learning to improve the efficiency of our logistics.
  • Anything interesting that comes to mind and that is cool.

5. What are your responsibilities?

  • Collaborate within the defined architecture and infrastructure for the frontend and backend of our products
  • Build a site that is intuitive and easy to use with efficient, reusable, testable and easy-to-maintain code.
  • Understand product needs and reach optimal technical solutions.
  • Help define the appropriate engineering processes for its rapid and efficient development.
  • Help with the optimization of the refactoring of certain parts of the code
    Add unit, functional and integration tests.
  • Help the team finish the sprint tasks in time.

6. What we require (in order of importance)

  • That you both love and enjoy your work.
  • That you are non conforming.
  • That you are able to be autonomous in both your work and your learning
  • That you dominate both frontend and backend development with JavaScript-based technologies.
  • That you use good development practices based on clean code, testing and code review.
  • Experience and belief in using agile methodologies.
  • Have more than 3 years of experience in web programming.
  • Have at least 1 year of experience in NodeJS and / or React.

You will further capture our attention if…

  • You participate in open source projects
  • You are an active member of a user group or developer community.
  • You have a blog of your own, even if it’s not a developer blog (and even more so if you write in it).
  • You have experience in software developments related to the travel world.
  • You have experience in TDD.
  • You have experience in DevOps.
  • You have experience with React Native and / or any other programming framework mobile applications.
  • You have knowledge of any other programming language.
  • … if you can speak Klingon or have a lightsaber.

7. This is what we need from you

  • Enthusiasm to try and improve day by day.
  • Positivity and a good work environment even under pressure (we are a start-up for good and for bad).
  • Help us implement our product under a quality code, which is both scalable and reusable.
  • Help us to improve our deployment practices in testing, development and production environments.
  • Help us to improve our system for locating the suitcases in real time.
  • Help with our new year’s purpose: Development blog.

8. What do we offer?

  • A Salary between € 35,000 and € 4X,000 gross per year according to your level of experience (negotiable on the extremes).
  • Permanent work contract.
  • Shares in the company (after your trial period we will make you an offer to acquire company shares. We want you to feel that it is yours too).
  • A company culture of which employees form the focal point (further explained in section 9).
  • Incentives:
  • Possibility of teleworking.
  • Flexible schedule, respecting the commitments with the team. As we only hire responsible and autonomous people, it is only obligatory that you are available for the daily stand-up meeting, and that the rest of your work time you are free to organize it as you please.
  • 22 days of vacation with the added flexibility of choosing them.
  • The freedom and responsibility to develop your work, we want to learn from you.
  • Monthly innovation days for job training or own projects applicable in BoB.
  • Perks / rewards of your colleagues according to your contribution to the group and according to the value they place on you, using HiFive’s, Bonus.ly’s or any other system that comes to mind.
  • Possibility to choose whether to use your own equipment or company equipment (the external screen is provided by us).
  • 50% discount on a Luxafor Flag.
  • Office in Google Campus, bright, with a young and fun atmosphere, with access to:
  • Free gym
  • Showers
  • Rest area with sofas.
  • Dining room and office with microwave (many of us bring our own food, other times we eat in the canteen of the campus or in the restaurants outside).
  • Table football, recreational machine (we used to have a ping-pong table, but they took it away from us).
  • Thousands of activities and interesting technical talks in our auditorium.
  • T-shirts, hoodies and mugs from BoB.
  • People that motivate you to start doing sports (we have Charlie and Joanna who wake up at 7:00 to go running or do yoga … once in a while).
  • Never have to carry your own suitcase anymore when you go on a trip. Disclaimer: In the cities where we operate.

9. How is BoB managed?

We believe that for the company to be a success and to ensure the happiness of our investors, we have to make our user experience excellent in order to increase sales. The only way to achieve this is for the people who form part of BoB’s team to be super motivated and happy every day when they come to work. Therefore, we designate significant importance to our own internal culture, of which I would like to highlight some things:

Transparency: We try to document all the relevant things that happen within the company and make them accessible to all members of the team, we publish all of the important decisions and meeting notes of all the departments in Confluence so that everyone is aware of what is going on. We also publish the monthly report to investors with the company’s accounts. The more transparent we are, the more autonomous and productive we will become.

Autonomy: We use OKRs as a way to align everyone with the company’s objectives. You define how much of an impact you can make within BoB. We measure people, NOT by the amount of time they spend warming up the seat, but the impact they transcribe onto BoB. It will be your own colleagues who evaluate you 2 times a year and another 2 by your team leader through 360 and biannual evaluations.

Agility: We prioritize practicality, we do not want to waste time with “politics” and meetings, but we do take agile principles and Scrum ceremonies very seriously. We try to have as few meetings as possible but at the same time, always be ready to unblock any problem your colleague may be facing. It is mandatory to specify an objective and an agenda at each meeting. If it does not convince you, you can decline the meeting. We encourage asynchronous work.

Curiosity: We care about having people who seek constant learning, but on the other hand we are also concerned that they do not get stuck in BoB. For this, we leave 1 day of each sprint (we would like to extend it to 2 days soon but we still have to work hard before that) so you can learn something new, any technology that interests you, and apply it in BoB. It’s up to you. We plan to give access to free courses and training soon or subsidize the entry to potentially interesting congresses.

Productivity: We are obsessed with productivity. If it does not sound like GTD or the Pomodoro Technique, do not worry you will learn it. One of our rules is to not have meetings before 11:00, and to take advantage of the first hours of the morning to achieve maximum concentration without any interruptions. If you do not want to be disturbed, activate your Luxafor Flag in red and that’s it.

Team: We prioritize the team vs the individual. All important decisions are agreed upon and decided by the team as a whole.

Respect and feedback: You will have a 1-on-1 meeting with your team leader, at least once a month, so that you can tell him everything that concerns you and we can address it. We also use tools like Officevibe to ask you anonymously how you are doing and for you to tell us what we can do better as a company. We dedicate many Fridays to doing team activities and retrospectives, where anyone can come up with ideas on how to improve the culture of the company.

10. How does the hiring process?

  • You have to send an email to marc@bob.io introducing yourself, and describing yourself briefly also make sure to attach your CV, LinkedIn and Github
  • If you have collaborated on open source projects, add it in the message.
  • If your profile fits us, Marc or someone from the team will give you a first 5-minute interview to see if you and the team are aligned and for you to confirm also your own expectations.
  • If your profile fits us and you also want to continue with the process, we will call you for a more serious interview and during which we will get to know you better.
  • If you pass this phase, we will ask you to do a small test to see how you develop technically.
  • And if you have not got tired of us yet, we would like you to come to our offices for us to get to know you better and for you to get to know us better (For sure Felix will want to see you and tell you how cool it is to work in BoB.
  • If the fit is right for both you and us, we will call you to let you know and we will send you an offer by email. If the conditions are the right fit for you, we will ask you to tell us what date you would be able to join us. We will pass a draft contract to you to read it with time and sign it before your incorporation.
  • Easter Egg: If you have arrived here and read the entire offer, we will pay more attention if you briefly explain in the email if you are a supporter of using TypeScript or not.

11. Do you have any doubts? These FAQ’s might help you:

  • Where are your offices?The offices are in Madrid, in Google Campus. You can see them here -> https://goo.gl/kfYDFN
  • Do you accept freelance? Sometimes we work with freelances, but in this case we are looking for someone who can be integrated into our development team.
  • Do I need a degree, diploma or certification? No, we do not ask for degrees, we ask for practical knowledge and desire to do things well.
  • How is the onboarding the first days? The first week will be dedicated to your landing in the company. We will allocate a “buddie” that will be your guardian angel during the first few weeks.
  • Do you provide restaurant tickets? No, it’s something that we want to apply in the future, but right now people bring home food and heat it in the kitchen, buy it in the offices canteen or street restaurants. There are also days that we go out to eat together.
  • Are there cool places to eat nearby? Well we have one of the best koreans in Madrid at 5 min, a Japanese, pizzeria and a home-cooked food place to get by.
  • Do you offer private medical insurance, discounts on public transport or things like that that have not been mentioned in the offer? We do not have the resources nor the large scale company necessary to offer these types of incentives, but we are sure that you will help us grow and that the following people to come in will be able to benefit from them.
  • What languages ​​are spoken in the office? As most of the team understand Spanish, we will speak English with you, as well, we are very strict is in the documentation, EVERYTHING is written in English.