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.
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!
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.
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!
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.
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!
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.
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
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!
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.
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.
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.
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.
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.
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.
Deploying a Flask project is easy. I recommend using Python Anywhere - it's free and insanely simple.
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.
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?)
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.
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!
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!