DEV Community

Cover image for From never writing code to becoming a Python dev in 19 steps
Cat McGee
Cat McGee

Posted on • Updated on

From never writing code to becoming a Python dev in 19 steps

Twitter | YouTube | Instagram

Hello fellow geeks! After circulation of my previous post and Twitter thread, I've received a lot of responses asking me to do a step-by-step guide for Python devs.

So, here you go my lovelies. You can go from never having written a line of code to being paid to write Python in just 19 steps.

Read it as a Twitter thread

Step 1: Know what on earth code actually is and what it does

If you haven't written code before, it's good to know what you'll be getting into before you start. Don't spend too much time on this step. You'll learn as you go along. But for now, I like this short video!

Step 2: Launch right in and take a beginner Python course

If you know me, you'll know I love Codecademy. This one is great (and free)! Work your way through that course online so you understand the fundamentals of Python.

Step 2.5: Books instead

If you prefer books, I love Automate the Boring Stuff with Python. You can get a free PDF if you order it from the website rather than Amazon, so do that!

Step 3: Download Python

Now you've got over the first hurdle of learning Python basics, and it's time to start writing it on your own computer.

It's a bit more complicated to write and run Python on your own computer than it is to do it on Codecademy. Codecademy has a special environment, but you won't have that when you have a job! You need to download Python so it can compile and run on your computer.

There are lots of versions of Python, and arguments over which one is best, but try to stay up to date. People try to argue that Python 2 is better than Python 3 but they're wrong.

Download Python 3 from the website.

Step 4: Get comfortable with the command line

You'll use the command line to run your Python, so you've got to get familiar with it.

It's nothing to be afraid of. It's just another way of seeing and using your files. Check out my YouTube video for an introduction. You'll feel like a hacker!

Step 5: Get a text editor

You need somewhere to write your Python code. I recommend VSCode, and honestly, so does the entire industry!

You could also use an IDE like IDLE, which is similar to Codecademy's environment - everything is already set up for you. But I advise against this because you won't be using this in jobs and I think it can cause a harder learning hurdle later.

Step 6: Write Hello World in your text editor

Hello World in Python is very simple and you'll have learned it in your Codecademy course. Write this code into a new file in your text editor, and save the file as helloworld.py.

Step 7: Run Hello World from your command line

Using your skills from Step 4, navigate to the folder that your new Python file helloworld.py is in. Type python helloworld.py and press enter, just like any other command. (You may need to run python3 helloworld.py instead). You'll see the terminal say Hello World back to you!

Step 8: Learn more about Python

Now you know the basics, have it set up, you can write & run it, and you need to learn some more about what Python can do.

I recommend following a tutorial to build a calculator.

Step 9: Play around with it

To really advance your learning, you have to experiment with Python and play around with what it can do.

I always recommend that you figure out something small you want to build, and build it. You'll need to search the internet a lot, so do that! We all do.

If you can't think of any ideas, check out this article. I also wrote a tutorial for a pretty fun Python project that people seemed to love on DEV.

Step 10: Explore documentation and libraries

One of the best things about Python is that it has so many different libraries that can do so many awesome things.

Learn how to use libraries, read their documentation, and play around with some of these ones.

Python is also used a lot for machine learning, which you might know already. I recommend finding a machine learning library and playing around with it. It will feel like the coolest thing ever.

Step 11: Learn Flask

Flask lets you build web apps with Python, so you can have a cool GUI to go along with your projects. Here's a beginner tutorial that I like.

Step 12: Get some projects up on GitHub

Now that you have a few projects and you're getting more comfortable using the command line, it's time to learn Git.

Git is a version control system, and GitHub lets you manage this while you show off your code to other devs & employers. You should have some projects from Step 10 and maybe a GUI from Step 11, now it's time to get their code on GitHub.

Here's an introduction to Git and GitHub.

Step 13: Build something you're passionate about

What are your hobbies? What do you wish existed? Build something that you enjoy with Python & Flask. Employers love that kind of stuff, but more importantly - you'll have fun!

Make it a bigger project than the ones you've already done and make it something you can be proud of.

Step 14: Deploy it!

Deploying a Flask project is easy. I recommend using Python Anywhere - it's free and insanely simple.

Step 15: Keep learning and building

You're not done yet! Keep learning, keep building projects that you're passionate about, keep getting them on GitHub deploying them. Watch old PyCon talks. Learn about best practices and implement them.

This step should be FUN - if it gets too much, take a break.

Step 16: Expand your knowledge of computer science

To land a Python job, you'll need to have a grasp on computer science concepts. Namely - data structures & algorithms. You'll be asked about these in your interview. There are loads of available data structures & algorithms courses online, so I recommend taking some.

Data structures are very simple ways to store and manage data. There are multiple ways of doing so in programming.

By 'algorithms' here, I mean two things - popular algorithms (things like sorting and searching a list), and algorithm design (if I tell you I need a program that does this small thing, can you write an algorithm to do that that?)

Start learning from this course.

Step 17: Practice for the coding interview

The best way to solve those algorithm questions is to practice them at home. They're really fun, especially in Python.

I highly recommend Leetcode for practicing these - they'll give you a huge list of them for free, with an online coding environment to try them in, and if you pay you can have a real person give you feedback. Try to solve them on pen & paper or a whiteboard first, as this is quite often what you'll be asked to do in interviews.

Step 18: Update your CV, LinkedIn, and GitHub profile

On your CV and LinkedIn, include your personal projects and everything you worked on for them. Write about exactly what they do. Get a profile photo on your LinkedIn and GitHub.

If possible, try to code a portfolio website - it can just be simple in Python & Flask, or if you know anything about HTML and CSS make one in that too.

There are plenty of people who will do free reviews of your CV if you ask them - reach out for help!

Step 19: Start applying!

You won't feel ready, but do it anyway. You miss 100% of the chances you don't take. And you'll start to learn what to show off on CVs, and what you can expect in interviews.

There are plenty of other ways to land a Python position, but this is a good guide to follow if you're brand new to programming. It could take half a year or two years, depending on your dedication, passion, and pure luck.

Remember to tweet about your journey and join the #100DaysOfCode community on Twitter. Keep learning and never give up!

Top comments (17)

Collapse
 
vaibhavkhulbe profile image
Vaibhav Khulbe

Wow. That covers A-Z. Thanks for compiling this :)

Collapse
 
catmcgeecode profile image
Cat McGee

No problem, hope it's useful!

Collapse
 
vaibhavkhulbe profile image
Vaibhav Khulbe

It is! I left the coding in Python last year. Guess now I will dive into this :)

Thread Thread
 
catmcgeecode profile image
Cat McGee

Awesome, good luck!! DM me on Twitter if you ever need help!

Thread Thread
 
vaibhavkhulbe profile image
Vaibhav Khulbe

Thank you! For sure! Also, if you need help in frontend/design let me know 😁

Collapse
 
cliffordjayne profile image
JAYNE CLIFFORD-GREEN

Cat, you are a great role model thank you! I dabble with html and css, but find JavaScript a pain! I am so determined to become successful.

Collapse
 
catmcgeecode profile image
Cat McGee

Thanks Jayne! You can do it, determination is all it takes. Good luck to you and if you need any help feel free to message me!

Collapse
 
cliffordjayne profile image
JAYNE CLIFFORD-GREEN

Aw thanks Cat. By the way, I love your name! I love cats!

Thread Thread
 
catmcgeecode profile image
Cat McGee

Hahaha thank you, me too!

Collapse
 
mikeminton profile image
Mike Minton

great post - well done

Collapse
 
danidre14 profile image
danidre14

This is some solid advice, will this work for JavaScript? Or do you have steps in JS specifically?

Collapse
 
catmcgeecode profile image
Cat McGee

Hey! I’ve written one to become a frontend web developer which includes a lot of Javascript, but not a β€˜Javascript developer’ per se (I’ve mentioned nothing about Node in there.) Hope that helps!

Collapse
 
mahajanmohit profile image
Mohit Mahajan

That really gave me a push to get into it.
Thanks a lot !!

Collapse
 
umairmohd8 profile image
Mohammed Umair

I just started learning Python in Jetbrains academy, it's pretty cool, my previous programing knowledge is helping me a lot.
Thanks for the thread, saving it for the future reference.

Collapse
 
gabrielvie profile image
Gabriel Vieira

Hey, a course based on the book Automate the Boring Stuff with Python, is free in the Udemy.

udemy.com/course/automate/?couponC...

Collapse
 
mccurcio profile image
Matt Curcio

Hi Cat,
Great article, comprehensive.
But, I thought Python does not need to compile. I thought it was an interpreted language. ;))

Collapse
 
elucian_moise profile image
Elucian Moise • Edited

I see steps here that I have yet to follow to complete my Python training. Great work!