We are always looking for people who share our values, the desire to work in a team and the passion to face new challenges every day.
For Nebulab, hiring means contributing to the success of our mission by increasing our capacity to:
- satisfy our clients in terms of work volume and quality;
- attract new developers;
- create high-quality software;
- produce content that contributes to our personal growth and the growth of Nebulab as a company.
On the other hand, each time we hire, we commit to making our new teammate grow in an environment that contributes to their personal and professional success, making them happy and fulfilled.
We have a responsibility towards all those involved in this project to create a cohesive and functional team, so we put a lot of effort into selecting new members of the team. This is why we created a hiring process that must be adhered to as closely as possible, in order to avoid bias and subjective choices.
Usually the whole hiring process takes one month, but it could take longer depending on the number of candidates in our pipeline and other commitments of the team working on your assessment.
This first contact gives us an idea if there is a cultural and technical fit that will allow us to start to get to know each other. Usually, we find candidates in one of the following ways:
- by referral (for example, your former colleague who now works for us);
- from GitHub, LinkedIn or Stack Overflow searches;
- from the form on our Careers page.
If you are applying for a job, complete the form providing some information about yourself, your experience with software development and with the tools we use, your approach to work and why you are interested in Nebulab.
Someone from our team will read your letter and, if they think you might be a good candidate, they will write to you to find the best time for an informal chat.
This is a phone call or video call where we will explain the Nebulab values, our needs and the way we work. We will also ask you to explain what are you looking for in your ideal work environment and why you think that Nebulab would be a good choice.
This chat should help us understand whether we would like to work together and meet daily in a work context.
In this phase there are no specific questions: we avoid formalities, we talk about a bit of everything and see how we feel about each other.
Some advice for the chat:
- Be on time. This is extremely important and is an indicator of your professionalism: just being on time will give you an advantage on many candidates.
- Be equipped. Make sure you have a good Internet connection, a good headset and a good camera. And please, find a quiet place to call from!
- Turn up prepared. You already know that we will talk about Nebulab and about you, so prepare some questions about us and some answers about yourself!
- Be yourself. The get-to-know meeting is meant to help understand what type pf person you are and how you can fit in the company. We cannot do that if you pretend to be someone else.
- Relax. We are humans. None of us is an HR manager or has a psychology degree. Think, behave and talk as you would do normally.
After the chat, we will send you an aptitude questionnaire, which we will use to assess how you work and some basic technical skills. The questionnaire will be sent to you as a Google document, which you can complete at your own pace. The only thing we ask is that you tell us when we can expect your answers, so we can do a better job of coordinating our hiring efforts.
The fundamental requirement in answering the questionnaire is sincerity: write in accordance with your values and the way you work, not what you think we would like to hear from you. The purpose of the questionnaire is to understand whether you're a good cultural and technical fit, so it is in everyone's interest that the answers reflect the way you really work and handle problems as much as possible.
Don't hesitate to ask clarifications on questions or technical issues in case anything is not clear to you, and don't be afraid to hit a wrong note: in the past, some of the most striking answers were completely out of tune, perhaps mentioning aspects outside of the work context, but they allowed us to perfectly understand the person on the other end of the screen.
If you have reached this stage, it means we think you may be a good candidate for our selection process. We are sure that working with you would be a pleasure.
Usually this meeting takes place via a video call or in person, depending on how far you are from our offices. If we meet in person, please note that there is no dress code to respect and a t-shirt or a hoodie will not make you lose any points, given that we will probably wear one too!
The objective of this step is to understand your level in relation to other members of our team. Understanding this will help us formulate an offer corresponding to your abilities, so if we haven't talked about this yet, feel free to tell us about your possible compensation expectations. This step will also help us to understand your attitudes and future potential.
Don't think of the technical interview as the classic interview where you are asked embarrassing questions on algorithms you should know by heart or to program in front of us. Instead, we just want to be sure that your level of experience is coherent with our expectations, so feel at ease: nobody here manages to solve major problems without checking manuals, articles and Stack Overflow.
The technical assessment will usually consist of a feature, enhancement or bugfix on a real project from one of our clients, which will be selected according to your role and experience. Here are some tips to help you excel:
- Pay attention to documentation and Git history.
- Follow the conventions established on the project.
- If in doubt, feel free to ask! You have our full support.
We will contact you to let you know to let you know what salary level we have in mind for you. The offer often comes with a series of objectives, which we will agree upon with you based on your level and the offer formulated.
Feel free to let us know if you disagree, and we will try to find some middle ground. We are ready to adjust our offer if we have set objectives that are either too low or overly ambitious.
Hiring manager guidelines
Each candidate is assigned two hiring managers, whose approval is required for the candidate to proceed to the next step (i.e. either hiring manager can stop the process and reject the candidate at any point).
With such a great responsibility on their shoulders, it is extremely important for hiring managers to be aligned on the practices and principles of our hiring process.
When to hire?
We only hire people when it hurts (https://m.signalvnoise.com/hire-when-it-hurts/). If you're not going crazy because of all the different projects and initiatives you need to look after, it's probably not the time to hire someone yet.
This is mainly because Nebulab is still a somewhat small company: every hire matters, both from a cultural and a financial perspective. We need to make absolutely sure we can support each and every one of our employees in the same way, so we'd rather pass on a good candidate if we don't feel completely ready to onboard them yet.
One exception to this is that we try to always have a backend and a frontend developer who are not assigned on a client project, but are ready to start on a new one when needed. This is because we cannot ask clients to wait while we source developers for them.
Conducting an interview
During the interview, one hiring manager is in charge of following the scorecard and asking the relevant questions, while the other observes and listens to catch any particularly positive answers/traits or red flags.
With that said, both hiring managers should be able to ask questions, so if you're conducting the interview make sure to bring your colleague into the conversation at least two or three times to make sure they can also talk to the candidate.
When following the scorecard, try to be as informal as possible so that the candidate is comfortable and authentic, but keep the conversation on point if it goes off topic.
The Golden Rule
If it's not a hell yes, it's a no.
We're a small company. Making a bad hire costs us far more, in terms of lost time, money and opportunities, than not making an immediate hire.
In retrospect, every bad hire we have made in the past has raised some kind of red flag. Maybe we were not sure the candidate was a good cultural fit, or we felt like they were only good at executing tasks and not self-starters. Whatever the reason, we thought we could overlook or fix the candidate's shortcomings, but this is almost never the case.
This doesn't mean we should only hire superstars: it's okay for someone to not be in the 1% from a technical perspective. They will grow and learn over time. In fact, some of our best past hires were junior or mid-level engineers that strongly resonated with our culture. It is NOT okay to accept a candidate who is possibly not a good fit for the way we work.