I have been working as a Software developer from the last 5 years, out of which I spent a year and a half in Berlin. Like many developers out there, moving abroad for work is a dream and most people materialize their dream by pursuing a Masters degree in another country and work from there.

For me the story was a little different. I did not want to study further due to my lack of interest in the typical education process.

Moving abroad is not a big deal for many but for me, it was a dream. Since childhood, the dream of moving out of the country and living abroad inspired me, and somewhere in my head, I knew I would make it one way or another.


But Wait, Let me Backtrack

It all started after I finished my B.Tech in 2015. The year of finally applying all the knowledge gained in the last 18–20 years. It was my first time being an employee getting professional development training and email writing sessions.

2015–2016

  • Working at my first job was so much fun, and I met a lot of nice people. Office parties, celebrating for something we did not even know we achieved, but who says no to a party?
  • After almost 8 months of working there, I realized that I was not getting enough knowledge from the work I was doing. It had become a little bit of a routine and I hate routine just like many others. I decided to switch. I started preparing.
  • While I was looking for resources to study, I bumped into this book named Cracking the Coding Interview**. **As a newcomer, I did not have much experience with giving interviews. Reading the book helped me understand a lot about giving interviews and what interviewers expect.
  • My primary focus was to study content that I skipped during my college. I got the books for the courses and read them to make my background strong.
  • I applied to a lot of companies, I got replies from a few of them, and eventually gave interviews and got a job.

2016–2018

  • The new environment was totally making me feel proud and I felt super nice. It was a turning point in my life. I was working on technologies and platforms that I had never heard of. I was getting chances to work in different programming languages. I worked on Android and Backend development.
  • I got opportunities to get exposed to people from all around the world. I worked on different projects with different teams and in different cities.
  • But as we all know that change in life is the only constant. I decided to move on.

The Prep

This was the time when I decided to apply abroad. I started looking up for jobs on LinkedIn, Glassdoor, and other platforms. I narrowed down my job search into cities where I had some connections. Which further narrowed it down to Berlin. My initial idea was to apply to startups and work my way from there.

I started preparing.

I focused on three things:

Coding and Data Structures

When you are applying for a software developer job, this is something that is quite obvious. You should be able to solve algorithmic problems in the language you are comfortable with. I spent about a week going through simple challenges on HackerRank, solving as many problems as I could. I started small focusing only on the simple problems at first and then going to problems which were moderate.

Architecture Design/Data Modeling

This is one of my favorite parts of the interview process. In my opinion, this one is very important for any developer to learn and understand as a design decision can make or break your app/product, technically speaking. I read tech blogs from NetflixAirbnbSpotify, etc. which helped me a lot to understand the problems big startups are facing.

Previous Projects/Technologies Used

This one is very obvious and mostly involves talking in length and breadth about the work that you did. Proving yourself to be a potential teammate. The questions for this section could be either something specific, like a skill on your resume or about a project. And one of the questions could involve asking you about a critical situation from your past projects and what you did to handle that.

Tech Stack to Focus on

A backend engineer would typically focus on:

  1. Service layer: Spring Boot with Kotlin
  2. Database layer: Postgres
  3. Deployment Configuration: Terraform, Docker and Kubernetes
  4. Deployment: Knowledge of AWS or any other cloud provider.

Interviews

After getting responses from several companies, they send out a take-home coding challenge and you get 2 days to finish that in general. One of the problem statement could be the following.

“We would like to have a restful API for our statistics. Create API is to calculate real-time statistics from the last 60 seconds. This API is called every time a transaction is made. It is also the sole input of this rest API. And another API to return all the transactions for a certain period”

The solution to this is here.

#programming #self-improvement #professional-development #interview #tech

How I Landed a Tech Job in Berlin
1.20 GEEK