How to Find a Software Engineering Job Abroad: A Step-by-Step Guide
Advice from a Turkish engineer in the Netherlands
This post was originally published on vlkan.com
Volkan Yazici is a software engineer currently working for bol.com in the Netherlands. Originally from Turkey, he relates his account below of how he managed to land a job in Utrecht 2 years ago, after a very thorough and long process of research.
On the way back to the Netherlands from my PhD defence in Turkey, I wanted to share a couple of my personal experiences for those who are in the pursuit of finding a software engineering job abroad. I will proceed in a Q&A form; feel free to continue reading from whichever part you wish.
Who am I?
I migrated from Turkey to the Netherlands for a software engineering position at bol.com — the biggest e-commerce platform in the Netherlands and Belgium. I have a BS in mathematics, and an MS and PhD in computer engineering. That being said, I had several job experiences in various part- and full-time positions in parallel to my education. Right now, I work as a full-time software engineer and my daily programming routine constitutes of a blend of Java, Scala, and SQL kung-fu.
What is the influence of a computer science-related educational background on job finding?
Almost none. I can assure you none of my programming-related enthusiasm or job opportunity potential emanates from my educational background, but from my interest in the field. That is, I had always found programming a joy and I still do. I was programming while I was at high school or even nights while working in a catering shop kitchen to make my school stipend. Put another way, programming is not something I perform due to financial necessities whatsoever. And this is what makes the most out of you as a software developer vacancy candidate. Nevertheless, for certain positions (management, researcher, etc.) companies can ask for a degree partly due to the official requirements.
So, does this mean all these university certificates were not worth a dime during the job search? No, it certainly did. First of all, HR people (the first official company entry point that you will be exposed to) are not developers and university degrees are one of very few things that give them a clue about the candidate. Nevertheless, here is the gist: If you are good enough at your job, you can put up a resume that can create more or less the same effect a university degree can.
How did I search for a job?
I followed a path composed of two major steps.
- Over the years, I had a certain idea about software companies that I met through Hacker News, Proggit, Stack Overflow, DZone, or similar programming-related news channels. And I enriched this set through similar companies via LinkedIn as well. Note that I was not looking for a ticket out of the country, but a decent company that can help me to improve my technical skills. (Though I must admit that the Turkish political atmosphere with an increasing tendency towards an Islamic dictatorship had its own contribution on making up my mind too.) In more concrete terms, I did not want to keep on earning my life by implementing yet another web service, but by figuring out what it takes to write a web service that handles millions of requests per second in a real-world market.
- Next, I tried to make connections (via Twitter, FreeNode, business links, etc.) to several people who already work in these companies as a software engineer. Then, I scheduled meetings with these people (through various channels; Skype, e-mail, IRC) to learn more about their personal experiences and recommendations. In a nutshell, I talked with around 40 people around the world through Skype.
Here I need to note that the country was my second concern, while the job itself was the first.
What did I ask people over Skype?
During these meetings I tried to let people provide as much information as possible about the job, company, and the country. That is, I neither advertised myself, nor asked for a job by any means. These talks were merely for the purpose of scratching the surface of what it feels to be a developer over there.
- What does their daily programming routine consist of? (Which programming languages and software technologies do they use? Do they have a decent VCS convention? Do they take advantage of SCRUM and CI? Is the overall architecture Windows or Linux/BSD based?)
- What are the pros/cons of the job and the company? (What does the social environment look like? What about working hours, salary ranges, pension schemes, holidays, commuting/vacation/relocation allowances, health insurances?)
- What are the things that he/she likes/dislikes about the job? (Intellectually challenging enough projects? Demotivating managers? Fresh college graduates? About to be retired Oracle developers? Quick and dirty architectural decisions that save the day?)
- What is his/her programming background? (Is he a programmer or yet another employee using programming as a tool to earn his/her life? How long has he/she been working at the company?)
- What are the career opportunities? (If you are inclined to move on into the realm of management.)
- Are there any (preferably technical) blogs of the employees that I can access?
- How does it feel to live in that country? (Taxes, accommodation/utility/commuting costs, social integration of expats, etc.)
How did I rank the open positions?
I put together an Excel sheet of around 50 company positions and a dozen countries. Then I scored each of them over a multitude of features that I set in the columns. After reducing the size of options to a handful, I shared this sheet (together with some personal comments) with people that I find experienced in the field and had potential to shed some light on certain pitfalls that I could not see due to my inexperience.
How did I apply to the positions?
First things first: Brush up your technical blog, GitHub and LinkedIn profiles and put together a catchy CV. Note that nobody cares about your LaTeX kung-fu, swimming enthusiasm, Excel skills, university TA-ships, college entrance exam rankings, etc. Put yourself in the position of the HR staff and try hard to think about what you would look for in a candidate. And one more thing: no long texts. Nobody will read them, I can assure you.
According to the feedback I collected from various sources around the internet (Skype meetings, employee blogs, company profile and products, etc.) I connected the pieces of the puzzle in my mind about the position and the required (both technical and social) skills. Then I delivered a to-the-point cover letter (less than a page) along with my CV (single page) to the relevant HR person, if possible through means of another programmer at the company. I would like to emphasise two certain things here:
- I wrote a cover letter from scratch for every position. For sure there are common parts among dozens of cover letters. That being said, every position more or less has its distinguishing requirements and I tried to address them as specifically as possible.
- Both your cover letter and CV must be at most a single A4 with a readable font size. Keep that in mind: The HR person on the other side receives dozens of such applications every day and is highly experienced at trashing out boring non-readable stuff.
What did I do during interviews?
The following items are the highlights of things that I kept reminding myself of during the interviews:
- Including the technical challenges (which I will not address in this blog post), pay attention to what has been asked and answer the question. If you do not understand the question, explain this clearly and ask for further details.
- Admit your mistakes and explain the reason behind it and how you can fix it if you would have faced a similar problem next time.
- Instead of bashing the interviewer with a particular solution of your preference, try to understand his reasoning and discuss potential approaches objectively.
- Be precise about what you know and what you do not know. I personally would not excuse any sort of dishonesty.
What mistakes did I make about the relocation?
Realize that you are moving to another country. Given the fact that even the handling of the utilities (gas, electricity, etc.) changes from a city to another within the same country, think about the tremendous set of differences that you will face cluelessly. Below you can find a short list of miscalculations and unexpected obstacles that I experienced while relocating to the Netherlands.
- I was expecting to find a house around €500, which I sadly figured out was off around another €500, that is, €1000 in total.
- Everybody speaks perfect English, but the entire official paperwork is in Dutch. (Reminded me of Lost in Translation.)
- I spent almost a full week to get the governmental migration paperwork ready at the town hall.
- I figured out it was almost impossible to live without a bank card. (For the first week, I paid people in cash at the company restaurant to buy something for me to eat. It was more annoying then being an embarrassment.)
- There are many alternative private companies that provide house utilities. Finding one, collecting necessary forms, figuring out the right path of mailings, etc. was a tormenting adventure for me — despite the fact that I was guided by a professional expat agency hired by the company.
- I spent a fortune for housing, almost 5–6x more than I anticipated.
- Commuting is quite expensive and more problematic than I was expecting.
@yazicivo abi "aradigimi buldum mu?", "simdi nelerden sikayet ediyorum?", "neyi farkli yapardim?" gibi sorularin cevaplarini da istiyoruz 🙂
— sinan (@_osa1) May 24, 2015
Sinan asks: Did I find what I was looking for? What am I complaining about right now? What would I do differently if I did it again?
I have mixed feelings on whether I found what I was looking for or not. If I would stick to the subject, what would I have done differently? I would have tried to get more information about the software ecosystem and a working continuous integration cycle with all commit-test-review cycles. But those would not add much to my previous knowledge and not affect my decision, I believe. Additionally, I would have surely made a more in-depth investigation on how much I would spend for housing, where despite all my efforts, my estimations were way off.
Currently on the market?
Looking for something new and exciting to get you out of bed every morning? Have a look at a few of our favourite current marketing openings. Good match? Go ahead and hit the “Apply” button!
- Senior Software Engineer @Devtailor (Tallinn, Estonia)
- Full-Stack Software Engineer @TH Development OÜ (Tallinn, Estonia)
- Senior Full-Stack Engineer @GetYourGuide (Berlin, Germany)
- Senior Full-Stack Software Engineer, Ruby on Rails @GoCater (Paris, France)
- Senior Full-Stack Software Engineer, Node.js @GoCater (Paris, France)
- Front-End Web Engineer @Vivita (Tokyo, Japan)