A couple of weeks back, many of my friends reached out to me. They personally and asked, “What programming language should I learn to crack a job at Amazon”. I am sure many of you might have similar questions. So to answer all of your questions, I am making this Article.
Before I answer the question of what programming language should you learn to crack a job. In Amazon, Google, or any other Big Tech companies for that matter, let me ask you a question. What programming languages do you know? If you are just starting out and don’t know any of the programming languages, that is fine too.
Coming back to our question, “What programming languages should you learn to crack a Coding Interview?” Companies like Amazon, Google, are giant companies and they have built huge systems to support their software. Do you think they do all of this with only one programming language? Obviously not, they use multiple programming languages across the organization.
Amazon 2-pizza rule In 2021
Each team has its own requirements and based on their requirements. The teams have the flexibility of picking a tech stack that best serves their needs. So, during these 1.5 years at Amazon. I have worked on at least 3 different projects and each of these projects has got different stacks. Some of them are built on AWS and some of them are not. I worked majorly on Java, C++, and NodeJS at Amazon and under the hood. I have worked with many other technologies.
So there is no single programming language fit for the entire company. Before joining Amazon. I was proficient only in Java and learned C++ during my college. But I haven’t really worked on any projects using C++. And I have never even touched NodeJs.But I was still able to pull strings together to do my job effectively. This happens to every one of us right. If you are an already experienced Software Developer.
For newbies out there, if you are just starting out, don’t freak out. Just learn the basics and you will do just fine when you get into a new job. To understand a little bit more on what kind of programming languages. These technology companies use, check out this wiki page. This wiki page gives you a list of the top tech companies. And what kind of programming languages they use. And what kind of front-end technologies. what kind of back-end technologies, and what kind of databases they use. Everything is in there.
Programming languages used in most popular tech companies In 2021
Though the list of technologies used isn’t conclusive. This just shows you how each company is diverse and uses multiple technologies across the organization. So no programming language is left out and you are in a good position. whatever programming language you already know. Then why am I doing this video? Does it even make sense for you to watch this video after? I just told you that whatever programming language you know just works fin?
Don’t jump to any conclusions yet. Even though Amazon, Google, or any other big tech companies don’t care about it. what programming languages you know. they do care about your problem-solving skills. And if you want to showcase that you can solve a problem.
you have to showcase that by using some kind of a programming language. And this programming language can be any programming language as long as you are comfortable with it. When I say comfortable, I mean you are really proficient in that language.
What matters most for a coding Interview in 2021?
So many people might think that they look at the job requirements and the job requirements say. It may be proficient in Java or something. They may think that only if they showcase these certain skills, they get this job. But that is not true (at least in the case of these big tech companies). So as long as you are able to solve the problem they ask for, you are In.
If you want to solve the problem effectively. You have to use the best data structures. If you want to use the best data structures, you will need to know the “In” and “Out” of the programming language.
So when you claim that you know a programming language. Be prepared to write a syntactically correct code on a whiteboard for any given problem using this programming language.
Also, learn what kind of libraries exist within that language. And how you can leverage those libraries to solve the problem effectively. To help you understand why it is important to learn the libraries of that language.
At that time, I didn’t realize that this is a lack of knowledge of the existing libraries of Java. But over the period of time, I came across these existing data structures like ArrayLists, HashMaps, HashTables, Sets, Collections, etc. At that time I realized that, okay if I used these data structures back in that coding competition. My life would have been way easier to solve these problems.
What do you mean by being skilled in a programming language?
Just try to make the best use of existing technologies or libraries that you can leverage to your needs. So if you claim that you know a programming language. Then try to learn the programming language “In” and “Out”, what kind of libraries exist.
what kind of functionalities exist within that programming language. what is the time complexity of these operations? So your coding Interview lasts for just about 45 minutes to an hour, right.
Within this 45 minutes to an hour. That you have to make your Interviewer believe that you know how to solve this problem. Actually, solve this problem and you have to make him believe that given this opportunity. In this job, you can solve any problem that the company is currently struggling.
if you want to showcase this kind of skills in that 45 minutes time frame. That you can not do that by just re-inventing the wheel like building everything from the scratch.
You have to just make use of existing libraries and try to build the solution in an optimal way. It makes your Interview believe that you can solve this problem. This is why I am saying that you don’t have to know each and every programming language that exists. You just have to know at least one programming language deep enough.
How to showcase that you have problem-solving skills?
And this level of learning the programming language doesn’t come with just reading the code. And doesn’t come with just writing the code on the editors. You have to practice writing this code on white paper. And you have to make sure that your code is syntactically correct.
So my suggestion to you like, when you take up some problem. try to write this code on white paper. Then after writing on the white paper and do some testing on the white paper itself and if you are confident enough.
try to put this code into some kind of code editor and run through some compiler and run it. And try to get it as much correct as possible so that… because you have to write on a whiteboard when you are going to this kind of coding Interviews, right. So if you practice writing on the white paper, 1) you will get a syntactically correct code.
2) you will analyze the code by looking at it and you will be better judgemental. About what the code is exactly doing when you look at the white paper rather than some code editor.
How to learn a programming language In 2021
So practice using the white paper when you are trying to learn a programming language. Technology is ever-changing and new programming languages may come into existence. And they may beat the existing programming languages. The entire Software Industry might go and migrate to that new programming language. So ultimately programming languages don’t matter.
Honestly, if you have these three qualities, you can crack a job at any tech company. And ultimately perform well in your career as a Software Developer.
So don’t stress out too much about what programming language you know. And instead, focus on what you can achieve with the programming language you know. And to give some justification on why we are doing this video, I want to add on. That, even though you can get a job with any programming language you know.
Try to focus your energies on the most widely used programming languages. Because big tech companies don’t care about what programming language you know. But other companies might do, right.
you will end up with a job with other companies. So try to learn one of these programming languages so that you have better chances of getting a job.
If you are already an experienced Software Engineer, then don’t worry about what programming languages. You have to learn unless you want to, and instead, focus on whatever programming language you know the best. I hope you like today’s session.