How I learned Python
I studied economics / logistics, and started my career in production planning. I was responsible for complex analysis and management reporting.
It became my passion to improve how I work, and try to automate all the repetitive tasks I'm doing. This is how I came across and self studied VBA. I read the well known book VBA for Dummies, and started to experiment with the newly gained knowledge.
In the beginning this meant scripting some of my analysis done in excel. In a few months time I automated complete processes: data gathering from ERP, calculations, then actions taken based on these calculations.
Why I wanted to learn Python
By the time I got to this level, an opportunity came to switch from production planning to ERP consulting, and I took it. In the meantime, I was looking for a way to become even more advanced in scripting / automation.
After doing my research I have chosen Python, as it is a very well documented scripting language, with thousands of already made plugins, and a thriving community.
How I approached learning Python
As I was doing my research, I came across Al Sweigart's superb Automate the Boring Stuff with Python site. His online course was discounted on Udemy, so I bought it and did it in a few weeks time. It was an excellent learning process, the course starts from the basics and demonstrates the awesome capabilities of Python via very easy real world projects. As an end project, I created a recurring script that scrapes restaurant's menus nearby our office, and sends an alert for us if our favourite food is on the lunch menu.
To further deepen my knowledge, I took Jose Salvatierra's Complete Python Web Course: Build 8 Python Web Apps, which deep dives into more complex web app development via Python.
Based on this knowledge I developed a Telegram bot for my friends working at iseeq.co. They needed a bot to help them decide where to have lunch, so based on my previous script and the newly gained knowledge I delivered this to them.
Along the way, I was fascinated by the Python community. There are thousands of modules ready to be imported, that solve a lot of problems out of the box.
Challenges I faced
The most difficult challenge for me was to find time in my life to learn and experiment with Python. I was doing all of this beside a 9-5 job, sports and social life. My passion to build and automate processes have pushed me further, but it was not always an easy ride.
My key takeaway from this learning process was that Python is a very easy to learn language, and the community behind it is amazing.
Also, many people use this language to automate stuff, and it is a very capable language to do this. If you have any boring repetitive task you want to get rid of, there's a great chance you can do it with Python.
Tips and advice
- Always have an end project in mind! This is what kept me going when I had to do the courses after work hours. I had an idea what I wanted to automate, and I knew I need the knowledge to accomplish it.
- Python is a very well documented language. If you want to solve a unique problem, google it! Chances are high you will find a solution on stackoverflow or github.
Final thoughts and next steps
Overall, if you are interested in scripting and automatiion than it is a no brainer to start learning Python. The benefits will come fast.
For me, the next step is to do an even more advanced course on Udemy, for an even more advanced automation I have in mind.