On September 2022 I received an offer from Oracle to join their MySQL team in Zurich, with my official start date set for December 2022.
This was the end of a 3 years long effort of trying to get a big tech job in a high paying location, ideally for a team and project that I was passionate about.
To be fair, this process was longer than 3 years, but 3 years since I learned a few things
Interesting software engineering and computer science nowadays is mostly carried out in companies: the most “cutting edge” stuff is not really done in academia in most cases, but by the R&D departments of the largest tech companies out there;
These companies that do interesting stuff also happen to have by far the highest salaries and the smartest people, without the bureaucratic and archaic systems, culture and people that some other companies offering decent pay (think of your average European bank) have;
To get into these companies at the end of the day you only need: 1. reach the interview stage (good CV + referrals/network), 2. know how to pass the interviews;
By that time (September 2019), I had already discovered Blind, and I knew my way around LinkedIn and was able to get referrals for every big tech company out there, moreover I was also very informed about the big tech world overall and knew how to approach it;
I had also started preparing for interviews: my focus, since I was junior, was on algorithms and data structures (LeetCode etc), not much on system design.
Before diving into details, a few considerations:
In a way there are 2 types of effort that went into this:
One is more about figuring out myself since I was young and deciding on a career goal;
The other is more “action-based” and related to what I did, operationally, in these 3 years (September 2019 - September 2022), before I got this offer.
Also, without having to wait for it, let’s spice things up a bit right away: a big tech software engineer salary in Zurich, for the level of experience that I had when I got the offer, is usually somewhere between 170k and 270k USD. This includes base salary, stock options, and yearly bonus, and the exact number depends on the specific big tech company, negotiation, CV etc.
I’m not gonna say how much I was offered, but if you’re curious about the topic you can check levels.fyi for some salary numbers and codecapitals.com for savings numbers. My level when I got the offer was somewhere between junior and mid-level.
For me money was very important, but another great thing about this job was that I got to join a very cool project: namely working in the control plane (think “distributed systems”) team of the MySQL database, hosted on Oracle Cloud Platform. More on this later, but basically both a very large scale and very cutting edge project.
Ok
What did I do in these 3 years (2019-2022) to get this job?
In a way this is quite simple:
I realised I couldn’t move to the US “just like that”: if as an European you apply for a job there, you’ll have to tick a “require visa to work in the US” and your CV will get automatically canned;
I researched which big tech company had office in Europe (gradual process, took me years to get a good picture, now at your fingertips with one click :);
Prepared for interviews, polished CV (and worked on stuff that would improve it), gathered referrals, applied, interviewed, etc;
Got some big tech internships (further improving CV);
Moved to Switzerland for a non big tech job (at least I would start saving some decent money), while getting more software engineering experience and further preparing for interviews and targeting big tech jobs in Zurich;
Finally got the offer for the big tech job in Zurich;
What was I doing before?
Something that I haven’t mentioned yet: in September 2019 I was in my first year of a master of science in Computer Science in Italy.
I actually graduated from my bachelor (in robotics) in September 2017, and then I worked for a couple of years as a developer (in AI and web app development) in Italy and Switzerland. Then I realised that I was a bit bored by these jobs and since I was still young (24 at the time, in 2019) I decided to try out a master in CS.
My reasoning for doing the master was:
I don’t really have a formal education in CS, so it won’t hurt to give myself time to properly learn the fundamentals (algorithms and data structures, operating systems, databases, networking) and some more advanced graduate stuff;
I was considering doing a PhD and staying in academia: I like the freedom that there’s in academia where you look for things that seem interesting to you and try to make a living studying them. This is a little bit of a idyllic characterization of academia, but still;
I could try to do some scientific research during the master (like helping out some professor in their research group), and see if a PhD might actually be a good idea;
If I like research → do a PhD;
If I don’t → choose as many courses as possible around algorithms and data structures and double down on big tech job search, leveraging the fact that I’m a student and can apply to internships (lower barrier than full-time job, and high rate of intern to full-time employee conversion in big tech usually - around 80%);
2019-2022 (more detailed story)
How did I like academia?
I would say this is a little bit of an off-topic for this article, but briefly: I liked it, but I also felt that I would ask myself who would use the stuff I would work on as a researcher in academia if I were to be working on it for many years (basically was worried about impact).
Also, I realised I could be doing as interesting type of work (if not more interesting), while getting paid a lot more in big tech, and thanks to that be allowed to live a lifestyle that could be more appealing than basically being on minimum wave and living like a student.
Covid
To be fair… Since I was really quite all-in on this career project, this result could have easily taken me less than one year, instead of 3 years.
In fact, I think I had my first big tech internship offer around October 2019, which I turned down waiting for something better and then got a few good ones but all of them got rescinded when Covid broke out in January 2020.
This SUCKED big time, and basically I just ended up for half a year only studying for uni and learning more about computer science and software engineering, while Covid was going strong.
Machine Learning, App development, Distributed Systems?
When I started the master, my idea was to try out to do some Machine Learning research: I always liked math, my bachelor was relatively math-heavy, and Machine Learning was in one of its hype growth cycle, so I thought about learning more about its theory. I was quite passionate about it and tried to help a professor and its group with some things in the area of Statistical Learning Theory, Online Learning and Graph Theory.
But as I mentioned, around September 2019 I started moving away from that theory/PhD stuff and started focusing more on landing a big tech job.
Then… Because of Covid I kind of had to deal with some unexpected issues related in my job search and started to explore other areas of Computer Science while in uni.
App development was what I tried out in the industry before starting the master, and it didn’t seem all that amazing to be working on basic CRUD applications.
When I then started learning about these big tech companies I realised how even simple web apps can become quite interesting when the scale is huge, which led me to becoming interested in Distributed Systems. I also had a uni course on peer-to-peer networking where we developed a Java project using gRPC and I was quite hooked.
[I’m not linking a reference to every technical thing I’m mentioning: if you don’t know what I’m talking about, don’t worry, just copy-paste it and you should be able to find a wikipedia page for all the words I listed with capital letter :D]
So in the Covid period I developed this new passion/career/specialization idea.
Master Thesis
By then, my money (which I did save while working in 2017-2019) was running short (basically I was broke), so I needed to find a way to make some, and managed to lend a well paid master thesis in Madrid.
I had to do some interviews with the supervisor but in the end I got a project in distributed systems (in particular, on measuring the performance of complex systems).
This was quite good: finally some good news and decent momentum after the very depressing Covid episode!
The thesis was alright and during that time (September 2020 - February 2021) companies started hiring again, and I got an internship at Amazon. They sent me to Barcelona because since it was still Covid times, they didn’t want to risk having me to cross borders.
I wasn’t too happy about it because I didn’t want to work in FAANG Spain and pay there was lower than other countries in Europe (remember: I was still basically broke, and still not quite dreaming of having a student lifestyle for much longer).
Anyway, Barcelona was actually a pretty cool experience and I had a great time also with the other interns there and made some good friends and memories.
The problem with FAANG Europe
The Amazon internship is when I realised that people in Europe were doing the same work as people in Seattle/California, just at 1/2, 1/3 or even 1/4 of the pay. Crazy!!
I started informing myself about relocation policies to join Amazon USA, but it sounded too troublesome and I decided to just find any software job in Switzerland, as long as it would be a 6 figures one.
Amazon didn’t have an engineering office in Switzerland, so continuing with them was not an option.
I ended up with a software consultant job in Zurich paid reasonably well in a decent, relatively modern company.
Then doubled down on big tech Switzerland and finally found the Oracle job.
The dream job
This Oracle job was by several means my dream job.
Take into account that I never really cared about how fancy the company name sounded (I know a lot of people like Google or Meta because of their brands), I always cared more about the type of work I would be doing, the team culture, and the pay.
At Oracle all these 3 dimensions were maxed out. I got a really nice compensation package and the team was also with cool and super qualified people.
Moreover, the technical aspect was actually perfect for my journey: I started out with Machine Learning, at some point I realised that probably the future of ML would be more about systems and scale than about algorithms and theory (topic for a future article), got into large-scale and distributed systems, then found a job for a very advanced and large-scale database with analytic and machine learning plugged in (basically exactly what I was looking for → large-scale infra for “data”/”AI”). At the company which is the number one leader in database technology worldwide, ever.
The end
The topic of this article was about how I got this job, so we’ll do a hard cut here :)
And, of course, more on how it has gone since I started the job coming sooner or later in the future!
Pep talk
Whenever I share my articles related to compensations in Europe, I often encounter quite a bit of resistance online, especially on places like Reddit: people saying that making 6 figures in Europe is incredibly hard, that getting a job in Switzerland is impossible if you don’t speak impeccable German, that big tech jobs represent the top 0.1% of all software jobs, etc etc.
These people who complain, often do it in a way that imply that they know more and/or that I’m spreading misinformation.
The truth is: most people prefer to complain on Reddit than to actually do stuff. It’s much easier, it takes less effort, less time, less skills, you don’t need to face rejections and keep your head up, you can stay in the comfort of your low-paying job without having to challenge yourself, or change country, etc.
The other truth is that getting a 100k+ job in Europe is relatively easy, actually.
As long as you do something to get it…
In many ways, I am just an average developer really. And I managed to land a big tech job in Switzerland, which is a WAY harder challenge than just getting a big tech job in Europe, or a 100k+ job in Europe. And I did that during Covid, with less than 3 years, while also selecting a job which matched what I was looking for in terms of team and project.
And I am not saying this just to look humble. I might agree that I have very good analytical reasoning skills and am overall “smart”, but if we’re talking about computer science and software engineering… I basically didn’t even know what coding was when I was 19 and started my bachelor in robotics. I did graduate from my bachelor with average grades, and I was almost never the developer pumping out the most code in the jobs I did before joining Oracle.
So I was able to achieve this very ambitious, challenging and somewhat life-changing result just by having a good strategy and executing it well month by month (and year by year).
This to say that probably many more people in tech out there are underselling themselves and being lazy on this career management aspect is costing them A LOT.
Very inspiring story, I enjoyed reading your thought process and how you adjusted the goal as you went. More interesting work -> Higher impact & pay -> Big tech in Europe -> Big tech in Europe with comparable pay to US (interesting work implied). Well deserved to be where you are today 🔥
Sometimes i've doubted myself for adjusting my goal (i.e. wondering if i was just lacking discipline), but this story makes me realize that for the right reasons, it can be worth it! Thanks for sharing your journey 🙌
Cool article. Keep up the good job.
How was your consulting shop experience?