But remember there is a huge difference between learning the fundamentals and mastering the language.
Masting anything can take a really long time…
First let’s learn the basics
Let’s assume you have some basic computer skills, you can surf the web, install software, watch youtube videos but beyond that, the computer in front of you is a complete mystery. You probably heard of python in reference to how it’s easy to learn, and lacks a lot of complexity of other languages.
The good news is there are a ton of free resources available on the internet, from youtube to W3 Schools, pretty much anything can be found on Google. Best of all. most of this is 100% free, for example I have a simple playlist on youtube that is designed to be watched over a few days:
Without experience, knowledge is useless
Assuming you watched just half of those videos and played around with python, you have some confidence to try and create a simple application.
You open up an IDE and ….panic sets in…what do you write, what does this error message mean, am I doing it correctly?
Welcome to the second phase of learning anything new — you are now gaining experience.
Some advice from a seasoned developer…
- Pick an obtainable goal
- Keep it simple
- Learn as you go
- Talk to other developers
Picking an obtainable goal
This is probably the hardest part for beginners. I get (literally) thousands of emails from new developers asking questions like
“What is a variable, and can I hack FaceBook”
Dial down your expectations for your first few projects, instead make sure you actually understand the basics, once you actually start creating a program you will find out very quickly what areas you need to review.
Keeping it simple
Some ideas for the complete beginner include small, simple applications that can actually be useful:
- File counter
- File re-namer
- File downloader
- Telnet client
- Image re-sizer
- TCP server
Learning as you go
When making applications you will often stumble into situations where you don’t remember how to do something or you have no idea where to even begin.
Don’t get discouraged — most things can easily be found on google.
For example, lets take an image re-sizer.
Open google and type “python image re-sizer”
Or if you are super lazy you can click the this link:
Let Me Google That
For all those people that find it more convenient to bother you with their question than to google it for themselves.
Usually the first link that comes up is the most relevant, if not just try different search keywords. By the way…you will come to love stack overflow.
Talking to other developers
One thing in life that has always been accurate — there is always someone out there that knows more than you do. Talking to other developers can be both a blessing and a curse.
Finding other developers is super easy, there are tons of groups out there from reddit to facebook.
Personally I prefer the VoidRealms facebook group, but I am biased as I created it, and we have an awesome group of admins that kick out the scammers and jerks.
What ever group of developers you decide on there are some general rules of internet etiquette you should try to follow:
- Ask relevant questions
- Try to help others
- Report scammers and jerks
- Join mentoring programs
- Be nice to other people
- Ask questions that can be easily found on google
- Post pictures of error messages
- Beg for someone to be your personal teacher
- Expect everyone answer you
Special note on scammers and jerks
The harsh reality of the world is simply this — not everyone has your best interests at heart, and many people will try to sell you things.
Spotting a scammer is easy, avoid people that post things like:
- Inbox me
- Join our telegram group
- Go to my web site
- Anyone want a free course
The first moment anyone wants your personal information, password, credit card, or wants you to take some special action like joining some other group, simply stop talking to them — they are trying to sell you something or trying trying to scam you in some way.
For example a lot of the “free course, inbox me” style posts are actually someone trying to give you a virus. If you already accepted one of these, you might want to stop reading this article and go update your virus scanner.
Shockingly not everyone in the world is polite. You will run into a lot of people that will be full of bad advice because they think they know everything, or just plain rude.
An example of bad advice —
One morning, for some unknown reason, a python module I had been using for years failed to load.
I visited google about 100,000,000 times, nothing was working. Finally I broke down and asked for help, the first response was:
“Spend a year on the command line and learn some basic skills”
How does that even remotely help the situation? It really does not. Everyone has an opinion about something, just ignore these types of people and move on. Eventually someone who also faced the same issue posted a fix for it and I was able to get the situation resolved.
Where to go from here
The great thing about Python is it is easy to learn, but it’s also very powerful. Once you have the basics down you can move on to more advanced topics, like
Questions like that will typically take you to frameworks written in python. Some of these will have a learning curve, and may take some time to master. If you followed the steps outlined above, you can drastically shorten the time it takes to learn.