Is Python Enough To Get A Job?
No. Just Python will not be enough to land a job. You need 5 more things.
1. Companies don't hire a Python dev. They hire a problem-solver.
If you have learned X and can't do Y with the concepts you learned from X, you will not get hired. It's impossible to know what problems you have to solve when you get hired or what problem you will be solving 2/3 years from now. That's why companies look for people who can take any problem and solve it by using coding techniques.
For example, you have learned the dictionary data structure. Now, if I give you a new situation (car dealership, book club, grocery store, or bank software, etc.) and you don't know how to use the dictionary data structure in that situation, you will not get hired.
So,
- Don't just learn coding. Pay attention to why you are doing certain things. What else you could do to solve the problem.
- Solve as many problems as possible. If you are beginners, check out Programming Hero to learn and master 100+ coding problems. If you are an intermediate level developer, check out Leet Code or Hacker Rank.
2. Companies don't hire a single skill. They hire a set of skills.
Just python is like plain coffee. It doesn't taste good. You need to add milk, sugar, caramel to make it tasty. Similarly, don't just learn python. Instead, you have to learn a little bit about other programming languages. You don't have to be master at those. However, you need to know a little bit.
- To build web development using python, you need to know HTML, CSS, and Javascript. Without your basic understanding in HTML, CSS, and Javascript you won't be able to master in python frameworks like Django, Flask, etc.
- You must learn a little bit about Database (SQL). How to structure a table. How to query data from a table. How to join data from two tables.
- If you want to become a Machine learning developer, you need to know the basics of Mathematical modeling, how to train a model and what are the different modeling approaches.
- Also, you could be just the front-end developer or the just database guy. However, you need to know how the full-stack software development works. How front-end, back-end, and database are connected.
3. Don't just learn Python. Learn the overall Software Development process.
Unfortunately, most of the companies don't want to spend time to train you about the overall software development process. That's why you will hear companies are looking for X years of experience. To compete with that requirement...
So,
- Build full-scale projects. Have at least 3 projects on your Github
- Don't just copy the project from somewhere. Instead, try to build them yourself. While developing the project, you will get stuck numerous times. Try to find out solutions online. Struggles to find out the solution will make you a better developer.
- Deploy your projects on some servers. It could be Heroku or somewhere else.
- Get familiar with popular Python frameworks like Numpy, Pandas, Srapy, Django, etc. Play with those. Use them in some projects
- Write unit tests. Put enough comments on your code. Know how to organize code. Find out Python best practices like PEP 8 -- Style Guide
- Master at least one IDE. Learn keyboard shortcuts.
4. Don't submit your profile. Submit the profile they want.
Just before applying for the interview, make sure you have a good resume, updated LinkedIn profile. Then you should spend time to prepare for the interview.
Google and learn Python interview questions. If possible, buy a whiteboard and practice your answers on the whiteboard. If you don't have a whiteboard write code on a paper.
Also, companies don't care how great is your resume. If your resume doesn't have 9 out of 10 things they are looking for, they will trash your resume.
So, before applying for a new job. Make sure your resume has most of the things they want. Even you just googled each topic and spend 2 hours on each topic. If you get the interview call, you should spend more time on those topics to perform well in the interview.
5. Don't be hard core. Fake some soft skills as well.
To get hired you will need soft skills as well. Huh!!!
One truth is- you don't have to be great in soft skills. You can just Google some answers and tell them in the interview. Just learn the following answers-
- What is your biggest weakness?
- Why should we hire you?
- If you don't like a decision made by your boss what will you do?
- How will you resolve a conflict with your team members?
- Did you ever miss a deadline? What did you do?
- Is there any time of your life when you failed/ get embarrassed? How did you handle the situation?
It took almost 6 months for me to land my first job. Most of my friends got a job in one or two months. So, that time I was frustrated but I kept trying.
So, don't worry if everyone else is getting hired and you are still looking for a job. Just make sure that after each rejection, you spend 1 hour to find out what you could have done better to get hired. Then spend the next 3–4 days to improve your skill on that topic.
If you keep doing this, you will become so good at all these things that you will get promoted before your friends get their first salary raise.