How long it takes to learn python to get a job?

Photo by Icons8 Team on Unsplash

How long it takes to learn python to get a job?

and why I hate this question

I started to learn programming three years ago. It became my main activity during the pandemic and completely changed my life. I changed my corporate job in a nuclear power plant construction project to flexible and fully remote work as a developer. Many people asked me about how to get started on change towards software engineering career path. And I am always happy to help and talk about coding; however, there is one question that I can't hear anymore:

How long it takes to learn python to get a job?

OKAY.

Let’s be honest and rephrase the question to get the real intention. I think it would sound like:

“How long does it take to learn python the easiest programming language, to get a well-paid job.” Often these thoughts happen because people want to change something in their life, and it’s trendy to be a developer.

yyyy.gif

If you think it’s trendy and you should try it just for the sake of it, I am going to disappoint you - learning to code is not the same as learning a new language or completing a course at university. Coding is a continuous process, not a destination; you can’t complete one, two, or five courses in Python and become a developer right away. No one will tell you that now you are ready for a software engineering job. You will never be ready. There is always something you don’t know, something new to learn, and there are always more skills to develop. At some point, you just need to decide that you are ready to apply for jobs. For some people, it takes six months, and for others, it’s three years.

Another thing I would like to tell you: If you are looking for the easiest way to switch careers or land a new job and don’t care at all what you will do there, programming is probably not the best fit for you. Learning Python is not going to be easy, even when everybody says Python is a beginner-friendly programming language to learn. Coding actually requires you to spend hours in front of a computer. Most of the time, you will feel lost, struggling, or trying to find answers to most random questions. For example, writing a sudoku solver algorithm or weather forecast application. These problems were solved by millions of people already, but you have to recreate the wheel all over again and try to do it yourself in order to understand how it works.

Sometimes, you will hear a loud inner self-esteem dialog and many questions about why it doesn’t work as it should. This lifestyle is about keeping the balance between Eureka’s moments and the feeling like you know nothing.

m.gif

Let me explain. When you ask for help or google for solutions, answers are often more confusing than the original problem. You will try them but they can end up triggering more problems. A few days later, you can find yourself still searching for answers with no progress on the original issue. It is called “going down the rabbit hole.”

Are you ready for that kind of experience? Because if not, exit();

Now, let’s look at this article as a program.

The paragraph above is not meant to be rude - it actually allows us to filter out people who are websurfing without actual purpose. In fact, it is good practice in programming to validate input, handle errors and exit the program as soon as possible (it doesn’t make sense to detect errors after the program has already been completed, right?).

Here is what actually happened:

  1. I validated that the reader is correct for provided content. First, I introduced to the reader the downsides of a developer’s struggle before sharing tips on learning python.
  2. I asked the reader to exit() if it was read by mistake. Be it a web application, it would display an error message with a status code. For example: {404: “reading reason not found”}.

How does it sound?

Coding is for people who enjoy logical thinking, like to try, and are okay with making mistakes and not knowing everything. For those who have this “Always keep trying and never give up” attitude.

I would not think about “how long it takes to get a job” - I would start by asking myself:

Where do I want this new skill to bring me?

What things do I dream of working on?

What am I interested to learn/doing?

These are the first questions to answer yourself. Better in perspective of 3-5 years. Just starting with random languages like Python, Javascript, or HTML/CSS without a project in mind is not going to be motivating enough in the long run.

No matter what your journey will be, I would like to share one lesson I learned→

investing time to get fundamentals right will save you hours of debugging in the long term.

Start with completing ONE project which interests you and brings you joy.

do.gif

There are so many resources online that it can be really overwhelming to decide where to start. Below I have listed my favourite ones to help you discover the topic:

If you like roadmaps:

https://roadmap.sh

If you like videos:

https://www.youtube.com/watch?v=6avJHaC3C2U

If you like reddit:

How to start learning to code when you don't know where to start

https://www.reddit.com/r/learnprogramming/comments/vzp82v/i_just_finished_the_odin_project_foundation_path/

If you like github:

https://github.com/reaktor/tips-for-ppl-who-want-to-learn#user-content-web-technologies

If you like games:

https://www.codewars.com/

https://www.codingame.com/

If you like to learn web development:

https://fullstackopen.com/en/

https://www.freecodecamp.org/learn/

If you want to work on Python projects:

https://github.com/Python-World/python-mini-projects

If you want to be shocked by the amount of different projects you might create:

https://github.com/codecrafters-io/build-your-own-x

I hope you found this information helpful. Please share it with anyone who you think will benefit from this article 🙂

Happy coding ❤️