Guide to onboarding in a new job
January 18, 2024 · 8 mins · 1559 words
Four months ago, I decided to leave Stuart to join Wallapop. While I was excited about the change, I was also scared. Having spent almost four years at the same company, I had become very used to the people, processes, work, code, etc. Switching jobs meant breaking away from everything that had become familiar and venturing into the unknown. Now, after four months, I can confidently say that I am really happy with my new job. I am learning a lot, and my team is amazing. Reflecting on the past 16 weeks, I decided to document the things I did (or at least attempted) to make my transition smoother.
Forget your last job
The moment you start a new job, you need to forget about your last company. You need to make an effort to forget about the ways of working and also the social rituals. In your new job, all these things will probably change, and you need an open mind to better adapt to the new workplace. So it’s better if you do “tabula rasa” and start with a fresh mind.
This means you will have to learn how people interact in the company as fast as possible. Where are people meeting for drinks? Which are the popular memes in the office? What does each Slack/Teams reaction mean? Which is the best place to get coffee near the office? These things change a lot from company to company, and knowing the internal language of your new workplace will help you to integrate faster. Being integrated into your new team means that (1) you’ll enjoy more the ride, and (2) you’ll be more productive and add more value.
Add value from the start
Starting a new job might make you feel unable to add immediate value. But you can add value from day one. Your first steps in the company will be to follow some onboarding processes, so the best things you can do are (1) do the onboarding the best you can and (2) improve the onboarding process. The first point is self-explanatory, and you’ll probably do it since you’re motivated. But you don’t need to stop there, you can actively improve the process by pointing out all the things in your onboarding process that weren’t crystal clear. If it wasn’t clear for you it will be not clear for the next hire, and there’ll probably be more hires after you. So, each thing of the onboarding process you improve will have a cascading effect on the future hires in your team.
Ask a lot
Don’t be afraid of asking questions, even if you’re afraid of looking dumb. When you ask a question there are three options
- The question is trivial and you’ll get a quick answer. Usually, most of your questions will be of this type. With these “dumb” questions you’ll get a lot of knowledge about the company and accelerate your onboarding phase.
- The question is not trivial and you’ll get an in-depth answer that will give you a lot of context. From time to time, you’ll ask a question of this type. If something is not clear to you there’s a good chance that it isn’t so trivial. People who have been in a company for a long time often take things as obvious that in reality are not. If you don’t understand apparently obvious ideas, and you take them for granted, you’ll have a hard time building new things upon them and adding value to the company. The problem with these ideas is that it is very difficult to spot them since they’re so “obvious” that no one is discussing them. So you’ll end up believing something for the wrong reasons and not getting corrected because no one speaks about it. Thus, if for example, you don’t understand how your new company is making money you should ask about it. Or, if you don’t understand why the company is not grabbing an apparently low-hanging fruit, ask about it without shame.
- The question is completely nontrivial and no one had ever asked it. Finally, if you’re smart and lucky, you may have a question of this type. When you ask a question and the answer is “We don’t know” or “We’ve never tried it” then your answer can be “I’d like to deep dive into it” and start a new line of work in that direction.
Have uncomfortable meetings with your manager
A manager’s job is to help you add value to the company. If you contribute effectively, you’ll get promotions and you’ll be happy. And then, the manager will be recognized as a good leader and get promotions and be happy. To make this relationship work, you need to ask and answer uncomfortable questions. It’s like going to the doctor - you have to be transparent and explain what’s wrong for your manager to help. Don’t fear sharing what you dislike about your new position. If your questions and requests are reasonable, your manager will try to help. So by being brutally honest you’ll make your manager’s job easier, and both of you will benefit from it. The worst scenario for a manager is an unhappy worker doing poorly work or planning to leave. So if you’re in this situation please set a meeting with your manager and explain your concerns. The first weeks in a new job are stressful, and like in aviation, the riskiest times are takeoff and landing. Before it’s too late, have an uncomfortable talk with your manager and fix it.
Things are there for a reason
Don’t criticize the work that has already been done. The first reaction when onboarded on a new project is to think “WTF is this mess? Why would anyone build a project like that? Why is the code so horrendous?”. But you’re missing a lot of context and history, and that prevents you from understanding why the project is like that. As Joel explains old code can be messy because it has a lot of knowledge embedded in it.
The project that appears poorly designed may be structured that way because it relies on a legacy system that is no longer maintained. For instance, the lengthy two-hundred-line class dedicated to parsing a file may seem excessive, but it likely addresses numerous corner cases that are essential for client requirements. Similarly, the seemingly basic linear regression model you think could be improved is like that because of latency concerns, needing its direct embedding into the service, which rules out any complex model.
So instead of criticizing the current state of the project you can try to learn why the project is the way it is. If you do so, you’ll get a lot of knowledge about your team and the company. There’s also the idea of context layers, so if something doesn’t make sense to you it could be because you’re operating in a different context layer (e.g. the context layers of backend engineers and data scientist can be very different). So be humble and instead of criticize all the “weird” things you see try to understand why they are there.
Try to meet with everyone. People are usually proud of the work they do, and they will be happy to share with you their projects. So meet with them and talk about which projects are they doing now, and it will help you to get more context. Since, usually, nobody is expecting you to deliver a lot of value during the first couple of weeks, so you can spend the first weeks meeting with people and talking about their projects, and you’ll get a good overview of which projects are impactful in the company and which lines of work are giving promising results.
Also, it’s a good idea to meet with your future stakeholders as soon as possible. Tech people typically focus on tech problems, and sometimes we can forget why we are working on a given project. So besides talking with your technical peers, you should meet with your stakeholders and understand why this project is important for them. Try to understand also the history of the project, i.e.: did they try to solve the problem before? If they failed, why? If not, why they didn’t solve it before? Why is it a priority now?
If you’re a bit shy (like me), talking to new people, especially in social situations, can be a bit challenging. To overcome this, just think about when someone new joined your previous team. You were likely excited to meet them and did your best to make them feel comfortable. Well, your new colleagues probably feel the same way about you - they want to get to know you and make you feel at ease. So, don’t hesitate to invite them for a coffee and introduce yourself. It’s a simple way to break the ice and start building connections. Getting to know your new peers is important because when you establish a friendly connection early on, it becomes easier to collaborate and communicate effectively. Additionally, building these connections helps you understand the dynamics within the team. You’ll gain insights into each person’s strengths, working styles, and areas of expertise. This knowledge can be valuable as you navigate projects and seek support from your colleagues.