Exploring opportunities beyond borders
Fundamental differences between job markets
Pragmatic and tested way to apply for jobs
Expectations from a fresher
Tackle interviews beyond borders
Increase visibility from countless other candidates
Most effective strategies and platform to look for a job
Hi, I am Prakhar, one of the co-creators of codeintuition. I completed my Bachelor's in Computer Science and Engineering in 2018 and from there on I moved to Germany to start my career. During the past three years, I have worked for 3 companies ranging from multinational tech giants to hyper-growth tech startups, working across domains like automotive systems, drone mapping photogrammetry softwares and e-commerce at scale. Currently, I work in Berlin as a backend engineer for Zalando which is Europe's largest e-commerce company.
Without further ado, let's go on to explore what you could do to rock start your career in the tech industry.
In this blog, I will share my journey and experiences on how I and many others I know managed to get job offers abroad as freshers from tier-1/tier-2/tier-3 colleges in India. Job hunting is one of the most important parts of the college journey and every student dreams of getting a high paying job after college and trust me when I say this, it's not that hard. All you need is some research, strong fundamentals and the right strategy. In this blog, I will try to explore all those aspects as well as share my own experiences on the same and try to make your job search process more informed.
If you are still in college and in your first or second year this might be too early for you to look for a job but you still need internships in the coming years, so follow this post as the strategy remains the same. Apart from that if you haven't already, I would highly recommend following Computer Science for Beginners as your single source of truth and do what it says religiously. Nothing will benefit you more in finding the job that you want later, not your college GPA, not your college tier but only your skills and fundamentals which that post talks about in detail.
If you are a final year student or a recent grad, now is not the time to think about what you did and what you didn't. This blog is specifically written for you to maximize your potential and showcase it glamorously. It doesn't matter if you are a competitive coder or a guru in your college or university or even if you are already experienced and are looking for a change, the process remains the same.
Before we start, we first need to understand the difference between the hiring strategies, the candidate pool, the tech scene and the interview process between India and other countries like Europe/the USA.
Companies in India pay a lot of attention to your college tier i.e if you have that "brand-name" or that "top-college" tag in your resume unless you have a strong referral. Most companies go to colleges for so-called on-campus placements. Though they can't be blamed for that as India is a huge country with lots of people which also means lots of software engineers, and to hire a single person takes a lot of time, effort, money and resources for a company. All the companies, not just the ones in India, want to hire the best talent and retain them with minimal efforts possible. One superficial yet proven method is to hire from top tier institutions as on average the talent there is top level. If you are not from one of those, you need to work a bit harder to be noticed initially as a fresher but 6 months to a year down the line it's your work that speaks for you, not the college tag (though it does matter but not that much).
Companies in the West have a different way of working. There is no such thing as on-campus placements. There are job fairs but they are a bit different. People apply for jobs themselves. Generally, all the students apply for internships/jobs themselves once they graduate. So what you need to understand is that the way this whole system works is that everyone, irrespective of the college they come from have to apply for a job to get one. Therefore, there are a large number of positions that are open and everyone gets an equal shot for applying for them. What happens after depends on many different factors that we will talk about later.
Again I say this from an Indian perspective India is a huge country with an equally large proportion of people applying for a job and hence the competition is very high even when there are a huge amount of open positions as compared to other places. This makes the off-campus process harder without a referral or a strong skill-set for an average "Joe". Apart from that, the tech space in India is really in the future compared to Europe. After Silicon Valley, India is the next tech giant in the world with countless startups, innovation and tech entrepreneurs, so the software space is quite saturated for both jobs providers and job seekers.
Compared to that, in Europe at the time of writing this, the number of people looking for software jobs is much less in proportion to that of India, even when I scale down the population size and simply compare the ratio. In short, not a lot of people work in the tech industry and the industry itself is still gearing up. You could imagine it being around 5 years behind India and so it's still not saturated. The number of jobs sometimes is more than the number of skilled people applying for them.
Let's come to the interview process. In India, in most companies, the interview process mostly revolves around coding. You will face a stream of hard questions and you need to be at the top of your game before every interview to crack the job, even for senior-level positions. Apart from that because of this over-competitive environment, competitive programming has become the go-to method that you must be good at to get a good job, which unfortunately has become the metric of your worth as a software engineer. This has caused a rat race where everyone is trying to do competitive programming even if they like it or not just because everyone else is doing it and one of their successful seniors used to do that.
Compared to that in Europe/USA the interview process is quite different, yes they do ask you coding questions as well (you can't escape them in the tech industry) but that's not the only metric, rather equal importance is given to every other engineering topic like Operating Systems, Networking, System design and general engineering subjects. Though, as a fresher or for junior positions you are not expected to be a pro in all of them but a basic understanding is still expected. Competitive programming? What is that? Surprised? Yes, not a lot of people or mid-tier companies know about competitive programming. More emphasis is given to your open source contributions and personal projects rather than solving hard algorithmic problems. Don't get me wrong, it is still well recognized but not as a holy grail like in the Indian tech space.
In India, most companies have a progressive approach for hiring talent i.e - it does not matter much if you are a C++ developer and the job you are applying for is in Java or Ruby, the tech that you work on mostly stays a black box for junior and mid-level positions. This could be linked to the fact that interviews generally focus on problem-solving which is language agnostic. It is assumed that if you are good at solving coding questions in one language you can pick up a new technology easily and that is a measure of your capabilities as an engineer. However, a conservative mindset can be seen in the thinking that if you are a physicist or an electrical engineer with some software experience you are not as capable as a Computer Engineer for the same job. Your practical experience matters less than your theoretical experience.
Compared to that, the European market is quite conservative about technology. You will have a hard time finding an interview for a Java role if you are an experienced Ruby Developer. As there it is generally believed that you must be experienced in the tech stack that you are going to work on. Again, it can be associated with the interview process that also covers questions about the tech stack that you would be working on. However, the industry is quite progressive about your practical knowledge i.e - a Physicist or an electrical engineer can be chosen over a Computer Engineer if he/she has more practical knowledge.
With these fundamental differences in mind let's look at how to start the process of job hunting in Europe and what are the key points you should focus on to have higher a success rate.
The MOST important part of any job search irrespective of the field is your resume. It's the one page that the recruiter sees for less than 6 seconds and decides whether or not you should be given a call for an interview. It is the most important step of your job application since more than 99% of the resumes are rejected and you have to be in that 1% to get an opportunity to prove your worth.
How do you ensure that?
You must make sure that your resume stands out from the rest. It takes a lot of time, many iterations, a lot of technical vocabulary and a lot of research to make a perfect resume. You should mention all your relevant achievements (not how you got a gold medal playing cricket). Your resume should be crisp and short, always a single-page resume with a simple top to bottom layout without any useless information. It should glorify your achievements, projects and any such thing that makes you stand out in the right way. Some of the recognitions that you can highlight are -
- Codechef/Codeforces rankings
- ACM ICPC participation/rankings
- Google Summer Of Code
- Open source contributions
- Hackathons participations/rankings
- Interesting Self projects
Most resumes don't even reach a human, as most companies use Applicant Tracking Systems (ATS) which scans, and ranks resumes based on keywords that are related to the job description so that the recruiters can easily view the top resumes. A shabby resume with an improper layout will be very easily rejected by the system or get a bad rank from amongst the other resumes.
To show how a good resume can drastically improve your chances, I can share my own experience from the second day of my first job in Germany. The manager of my sister team during lunch mentioned to me how my competitive programming achievements stood out and edged me over the other candidates in the pipeline. So you know it's not an understatement when I say that MAKE A ROCK SOLID RESUME. In some companies, you are also required to have a cover letter that talks about you and why you want to join that company.
Most of the software projects do not involve any complex maths or very specific domain knowledge. All it involves is basic logic and Object-oriented programming principles. You will be respected much more as a Software Engineer if you can write clean and structured code rather than if you know some complex algorithm. Writing good code is an art and that art is mostly dependent on basic logic and being able to connect the dots to make a bigger picture.
As a fresher, you are expected to have some basic knowledge of algorithms and the ability to convert them into okayish code. Apart from that as I already mentioned, European companies give a lot more emphasis to the overall engineering knowledge and not just coding, so having basic knowledge of Operating systems, Computer networks, Database and some knowledge of the tech stack that you will be working on is needed to ace the interviews.
If you are still in college, the best time to apply would be anytime after you have completed half of your last semester (or between the fifth and sixth semesters if you are looking for internships). Anytime before this is not advised as most companies want to close the positions as early as possible and might not wait more than 3-4 months for you to join. Even after you have completed your studies you would have ample time to apply so there is no need to rush and start applying early. Use that time to cover all the important topics and make sure that when you sit for the interview you are fully prepared for it.
Many of us when in college have a fear of rejection or we underestimate ourselves in some way or other, either based on our college tier or lack of knowledge or just by comparing ourselves to others who are landing great offers. Many of us have this insecurity that we wouldn't even be considered for interviews at big tech companies like Amazon, Google, Facebook etc.
Let me tell you that the people working there are no different than you, they were once students as well and went through all those insecurities themselves. To prove this point, I again have a real-life example of one of the guys I know who now works at a big tech company in the UK (also a fresher who got a direct job abroad). During his third year, he was applying for a decent software company that offers on-campus internships at his college. He was a pro coder but in his excitement forgot to mention his name on the answer sheet (yes those were written coding tests, on paper) and even though he would have surely got the internship, he failed to get one as the answer sheet came out to be nameless. Thereafter, on a whim, he decided to apply to all the big tech companies across the globe thinking he will not get a call anyway. To his surprise, however, he got calls from multiple tech giants and various startups all across the globe and got offers from multiple places.
So, don't ever underestimate yourself. Always apply for the job that you see fit and what happens next might surprise you. What most people fail to realize is that to get a job you need to apply first. Also, keep in mind that the job application is a manual and tiresome process but you have to do it if you want to land your dream job. You can't apply to just 10 positions and wait for a call from 5 of them. That's not how it works. As a fresher with no experience, your chances to get a response are already quite low and so you need to be practical with your approach. Apply for 100 positions and you might get a call from 5, that's what the real world ratio looks like.
If you Google, you will find countless platforms to apply for jobs. But there are a few that work better than others. Let's have a look at them. The way this works is that you go to either of these platforms and set a location for where you want to work and search for the kind of job you are looking for like a generic software engineer, a web developer, hardware engineer etc. These platforms are usually job advertisement aggregators and not real companies themselves. Sometimes you might see an ad where you can apply directly to the job provider but in most cases, you will be redirected to that respective company's career website to complete the job application.
Some companies prefer to have their own application tracking systems so you might be asked to create an account with them, share your resume and other relevant data and then all your applications for that company will be made via that channel (this is usually the case for bigger companies). Once you have applied for the job, in most cases, you will receive a confirmation email that your application has been received and if they consider you for the job you will be contacted on your registered email. You will also in most cases get a rejection email if you are not shortlisted.
Most companies keep your data with them for at least 6 months before deleting it from their systems, to consider you for other openings if and when they arise in future. This gives you all the more reasons to apply to many places and scatter your resume to as many systems as possible.
- Linkedin Jobs - LinkedIn is by far the biggest portal in today's world to apply for jobs and it has tons of job postings for every level.
- StackOverflow Jobs - Stackoverflow is the Bible for all developers and recently they launched their own jobs aggregator, most of the time you can directly apply there and the application will reach the recruiter.
- Indeed - Indeed is quite popular in the U.S. I have not used it personally but it appears to be one of the top job search platforms.
- Glassdoor Jobs - When I was starting out back in 2018, I knew only about this platform. Now it seems to be a thing of the past but still worth a shot.
As I conclude this blog, I hope it turns out to be helpful to all the job seekers out there. Again all this is based on my experience so and hence should not be considered as facts. The tech industry is always changing and this blog talks about the current scenario which I have seen across the span of 3 years while working as a software engineer in Europe.
Try our data structures learning path made of highly visual and interactive courses. Get hands on experience by solving real problems in a structured manner. All resources you would ever need in one place for FREE