This is for people currently working and residing outside of Europe, who are looking for jobs in Berlin/Europe. There are many opportunities here, as the startup scene in Berlin is on the rise. I've been working as a Software Developer for 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 personal dream, and most people materialize that dream by doing a Masters from abroad, and working from there. For me, the story was a little different.
I did not want to study further as I couldn’t actually think of a field/course I would want to become a “master” in. 😉
My inclination towards practical knowledge has always superseded the theoretical knowledge. And I believe that there are a few things you can only learn through experience.
I had this dream when I was a child, the dream of moving out of the country, living abroad, the thought of that always made me really excited, and I knew I would make it happen someday.
Well, that’s enough philosophy for today.
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.
Working at my first job was so much fun, 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 has 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. I applied to a lot of companies, I got replies from a few of them, and eventually gave interviews and got a job.
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.
I decided this time to apply abroad. Glassdoor, in my opinion, has the most legit job openings. I started looking into jobs in cities where I had some connections, and it narrowed down to Berlin. My initial idea was to apply to startups as I thought it would be a little bit easier to crack those. I started preparing.
I focused on three things:
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.
This is one of my favourite 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 Netflix, Airbnb, Spotify, etc. which helped me a lot to understand the problems big startups are facing.
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.
After getting responses from several companies, they send out a take-at-home coding challenge and you get 2 days to finish that in general.
One of the problem statements could be something like 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.
After the submission of the coding challenge and cracking it, a few interviews are scheduled. One thing that I always do is that I read about the company and the work they are doing. I look at their blog posts to get updated on the company’s recent advances.
There is a series of interview rounds, starting from technical rounds that are focused more on the coding challenge submission. For a backend developer like myself, there could be questions regarding Spring Boot, Postgres, Docker, sometimes Kubernetes, and general architectural questions.
After that, there are cultural rounds and general interviews with maybe the CTO or VP of the company. All the interviews can occur in a single day or can span across several days depending on the availability of the interviewers.
So, that's how a general interview process looks for many companies here in Berlin.
I went through many interviews before I came here. It definitely is not easy, and a lot of prep is required. But if you are willing to put in all your efforts, it certainly is worth it.
If you have questions, you can leave me a comment below, or you can reach out to me via LinkedIn.