Remember that some of the most brilliant people in the world are self-taught…..
Over the years I have sort of became an expert on finding the best way to self teach myself technical skills, with my willingness and desire to learn how technology works has been the key to building my career and helping those that want to get started.
This year I started learning Python due to my recent career change into cyber-security and after having a few discussions with different type of profiles within the field and having my instructor confirm on what language is essential to know to be able to work in a technical field within cyber-security , the conclusion was that Python is a great programming language to learn.
So what exactly is Python?
Python is a high-level, object-oriented, interpreted programming language, which has garnered worldwide attention. If this doesn’t mean anything to you,what you need to take away from this section is that Python is a programming language used to develop software on the web and in app form, including mobile. It’s also used within Cyber-security and Data science fields for data manipulation or automation for example.
Python was created by a developer called Guido Van Rossum.
In the past 11 months I have discovered that there are a couple of excellent tools and libraries used in Python, and surprisingly it’s actually has vibrant, global developer community(Mostly Men though i wonder why?) around it. Also i believe that by learning Python it will definitely give me or you an edge if you are looking to have a more technical career within cyber-security.
My philosophy has always been that you can’t really understand or even learn anything until you get your hands dirty by actually writing those lines of code and eventually messing up like everyone and then spending hours,days fixing it and then discovering the rush that comes with this process, just simply looking at the code or copying and pasting it won’t help you learn or understand what is actually happening behind the scene.
So after doing extensive research and speaking to different profiles and finally making the decision to pursue my Python journey, i decided to go back to the first place that helped me get into tech in the first place “Codecademy” which truly takes to heart my belief of “learning by doing” philosophy.
The great thing about Codecademy is you get to learn by tackling different assignments and challenges that help you understand what makes python or any other programming language works. But to my surprise they also went on and creating a PRO subscription membership which is absolutely fine they have to earn money some how but this means you don’t get access to some of the features that can help you dive deeper into the language.
And if things got difficult to understand, or i simply need more challenges or projects , I would find other resources such as Stack Overflow and Quora, Google,Reddit etc… to help me fully understand. And when I was able to actually write my first python code or when I was able to write a function that found the sum of all prime numbers, or solving my Hacker Rank challenges without any help all this was only possible because i practiced and like any other skill you might want to learn, takes practice, practice and more practice, working on these different projects, and challenges has truly been a huge help in keeping my focus and every milestone or problem solved is the reason why i am still here, motivated in my learning journey.
So, after I finished Codecademy free python course, I wanted and needed more, but the one things that I learnt over time, was that for every paid version of some course you find online to teach you a coding skill, there is an equally as good resources available which is completely free that also offers you just the same knowledge –all you have to do is go on Google and dig around for it and to be honest most of the time you don’t have to to dig at all – there are that many quality free resources on coding groups on LinkedIn or Facebook groups from beginners just like us that you can join and i bet that there is someone who has already build a resource library that he or she would be willing to share with others.
I recently began learning how to run “Python Scripts” on Real Python this involves creating mini-scripts to automate certain tasks which apparently makes your work quiet easier, i know that i am no where near close to being a Python expert, but I’m slowly making progress each day, being a beginner again, trust me i know that learning to code, can be quite and exciting adventure but it also comes with a few low moments of utter frustration, but if coding is truly something that you are a passionate about, don’t let that stop you from pursing it, i believe from my past experience that it gets better and more adventurous as we move on from newbie to an expert.
Some additional resources that i am using to learn:
- Code With Codecademy
- Dataquest – Python Programming Fundamentals.
- Cybrary Course: Python for Cyber Security Professionals(Pro version only and that’s a shame)— https://www.cybrary.it/course/python/
- Automate the Boring Stuff Online Book — https://automatetheboringstuff.com/
- Cracking the Code with Python Online Book — https://inventwithpython.com/cracking/
- Python Crash Course: A Hands-on, Project-based Introduction to Programming
- For Coding you have Hacker Rank challenges which are absolutely great to practice what you read or learnt.
Now that I’ve shared with you how I have been learning Python and the resources I’ve used, If you have other resources that can help me improve my Python skills please do recommend them to me!