Soft Landing in A New Job

The first thing I found out in 2019 was that starting a new job as a senior developer was surprisingly difficult. The interview process is one thing, but when your first day finally arrives and you march in wearing your senior developer hat, that’s when it’s time to put your money where your mouth is.

Starting a new job is very likely to trigger a whole range of emotions and fears. What will the new place be like? Can you live up to the challenge? Maybe it’ll be too easy and you’ll get bored? Or maybe you’ll feel strongly about justifying all the money that they’re paying you… Personally, I mostly suffer from a mild case of Impostor Syndrome.

The beginning of a new job is always confusing. You have to install the working environments and that, as a rule, never goes smoothly. You have to wade through lines of code written by strangers, feel a little awkward when everyone around you is telling inside jokes, get used to the way they arrange their tasks in Jira, and do your best to keep down the burger from that place they all like to go for lunch. On top of that, you may start to feel like you haven’t achieved anything significant in your professional career- and that’s a real bummer. This time around, though, that feeling was worse because everyone made it very clear to me that my experience and knowledge mattered a lot, and so I had a lot to prove.

I had to ask myself - how do I get through this more easily? How do I hit the ground running?

Any job has two aspects to it - the professional part, and the social part. I want to tell you about how I approached both aspects, and hopefully you can get something out of my experience and insights.

The Professional Part

In my previous workplace, every single developer who had joined the company and said that “the code is horrible, it all has to be replaced”, never stayed there for long. It was a bad attitude that contributed nothing to the immediate tasks the team was facing (unless, of course, that task was to replace all that horrible code). Worse still, that’s the exact opposite of the “can do” attitude that every company is looking for in its employees. There’s always a history behind every line of code, and an explanation for why things look the way they do. Try to understand that history because it might make the code seem more reasonable. It is possible that with your fresh outlook the code might get re-written, but that’s not necessarily serving the team’s or the company’s current goals. Every company has a different way of doing things, but they all have one thing in common - they have to move forward. Treat this as an opportunity to still perform the required tasks, and fix what you can along the way, but be positive about it.

Ask about the company’s tech stack, both during the interviews and after being hired, and then talk to your future team leader. Which 3rd-party libraries are they using? Do they have a special way for linting the code? For testing it? Every time you realize that they are using something unfamiliar or that you’re not experienced with, go on and read about it. Being able to discuss all these technologies with your new coworkers on your first day will have a very positive impact. See if you could join a couple of design meetings, and listen carefully for any buzzwords that get thrown around, and then build a study strategy to bridge over some of your knowledge gaps. I spent hours going through different Udemy courses, read relevant articles and stayed up late researching new concepts I heard people mention while visiting the new office.

Here are the online courses I took before my first day:

  • Modern React with Redux
  • Advanced React and redux
  • Advanced NodeJS
  • React - mastering TDD
  • Typescript
  • Typescript with react

I had experience working with each of these technologies, but going over these courses (sometimes at x2 speed) helped me improve on some of my weak points, and reminded me of a few important dark corners which later came in handy.

The Social Part

Smile! be friendly, and try to mingle. This part might be the hardest for some, but it’s just as important as being a good coder. Jump into conversations if you have something to say and don’t only get to know your colleagues, but also let them get to know you. You’re the new guy (or girl), and people will be interested in what you have to say. Look people up on social media - some of them have definitely checked you out already anyway, just don’t be a creep about it…

This part requires a lot of self-awareness. It will sometimes require you to leave your comfort zone, especially if you’re an introvert who doesn’t like a lot of attention. Over time, however, it’ll become like a second nature for you. Nobody likes a grumpy coder whose nose is glued to the screen and who growls at anyone who comes near them with questions and requests and whatnot. It took me a lot of hard work to not be that guy, and the payoff was great and immediate.

Probably the best advice I can give, is to save important personal details when you add a new contact on your phone. Don’t write “Rachel HR”, but rather “Rachel HR likes tennis” or “David CTO kids Danny and Michael”. The next time David calls you, the first thing you do is ask how Danny and Michael are. It’ll leave an impression.

It took a lot of hard work to start off on the right foot especially because I was joining the organization in a senior role. The bar in terms of expectations from me had been raised, and I didn’t want to falter. All these preparations paid off almost immediately. I was able to join technical discussions before I even understood all of the code and its structure, and even got to influence some of the decisions that were made. I treated this as an opportunity to become a better developer and a better person by doing everything I could to live up to this challenge. If nothing else, this experience gave my career a massive boost even before I sat down to unbox my new laptop. My only regret is that I didn’t ask for a space-grey MacBook Pro.