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.
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
2016–2018
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:
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 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 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.
A backend engineer would typically focus on:
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