Programming is a skill that everybody recognises to be valuable in the modern world. The requirement for being able to write code using the programming language Python has become more and more popular in job advertisements and it has spread way out of the engineering field — Python is not anymore a skill that is required only from engineers.
And for a good reason. Python is one of the tools for creating automation — and what automation essentially means? It means that we, people, can focus more of our time on the things that matter and drive value. Who of us really wants to do a task that is repetitive and doesn’t need much thinking from your side? I’m assuming (or at least hoping) that majority of people agree that we shouldn’t do those tasks. But why are we doing those then? Well, the answer is simple — it’s the lack of skills and knowledge to understand what and how to automate.
In this post, I’m going to focus on explaining why I think that every person should learn Python — even if you have no plans whatsoever to enter the tech world. The reason for this is much broader than simply gaining new skills — for a business person who doesn’t plan to start coding in its daily work, it’s more about changing the mindset. And in this post I’m going to bring you the best from both worlds — how learning Python could impact your mindset and what have been the recent real-life use cases where only a small knowledge about Python has already saved me tens to thousands of hours of time.
For start, I want to clarify that I have a quite strong background in business and finance-related topics. I have worked in consultancy and at some point in time I was tending to get really entrepreneurial – not only about starting a business but rather I took up every challenge that came to my head and just went for it. I had an enormous amount of business ideas going through my head constantly. I was bold with every move I took — instead of working for a cafeteria, as most of my age people did (I was 20), I decided to run my own company. I didn’t have anything to lose. But I was scared of one topic. I had a big mental block with approaching new technologies. For that reason, I dropped multiple business ideas from my head back in the days despite how good they were. I simply couldn’t understand the technology world — how the tech works, what do you even need for creating some automation and what type of people do you need for this — I felt that my skills were so low in that field. How are you running a technology-driven company if you can’t understand what you need for creating one?
A few years later I went to a tech-focused master’s program with a higher goal to get rid of this fear. And to even top this out, I decided to write my thesis about artificial intelligence — to really push my limits and not give myself even a chance to be afraid of tech topics. Result? Well, the story I shared above comes as a surprise to every person knowing me. There’s literally no fear left in me with new tech. The change in my mindset is enormous and I even feel silly about having such fear back in the days. It was all stuck in my head and had no rationale behind it whatsoever. Key takeaway? Don’t be afraid of your fears. Most of the fears are overvalued and you’re the only person standing in between them and the accomplishments you could have without ones. Throwing yourself in the tech world helps a business person to get rid of whatever boundaries you might have regarding that field and makes you able to understand this industry way beyond than simply thinking ‘let’s find some IT guys who will solve this for us’.
“Your words control your life, your progress, your results, even your mental and physical health. You cannot talk like a failure and expect to be successful.”
— Germany Kent, an American print and broadcast journalist
Going to university to learn about mindset is only one of the ways to throw yourself into the tech world. Luckily thanks to the internet there are so many opportunities to learn and in my opinion one of the best places for that is Udemy. Udemy is a platform for online courses and the count of topics is endless. Not to mention – it has some really good tech courses, just as I have described in one of my previous blog posts on “Where to start with your AI learning path?”. When I was getting more into the tech world after getting my master’s degree I realised that I need to get more technical to really understand how the back-end of the tech world works. So I completed several courses on Udemy on various topics – starting from programming and data science to Excel and interpersonal skills.
Just recently I got back to the learning curve and I went through one of the courses I had wanted to complete for some time already — “Automate the Boring Stuff with Python Programming”. And that’s actually the topic I wanted to share with you my thoughts about in more detail. Specifically, what I’ve learned ever since starting this course.
Just a few days back I was gathering data about urban population sizes across certain cities globally. I already had collected a quite huge dataset over a longer period of time, but I had done it mainly manually. Not because that I enjoyed typing the data over to a spreadsheet or that I didn’t realise that it could be automated (just to be sure — I knew it), but I literally didn’t need all global data in that file because this dataset rather had a more qualitative goal for the exercise I was doing. But then at that day, I figured that it’s easier to simply transfer all global data to this file and map out the urban city populations across the whole world — because it seemed that eventually, I need all this data in one place anyway, and there’s simply no rationale for me adding them one-by-one per request basis.
And then I remember that I just learned in that recent Python course how to with few lines of code convert a huge PDF to an Excel spreadsheet. Well, why waste time? I wrote the code, and with a fairly small effort, I saved myself decent hours of time and removed room from a human error that might happen from miswriting the number in a dataset.
Learning this particular skill in the latest course gave me the last push to not waste time on things that could be done automatically. It’s quite easy to think like that, right? Well, I bet that you also have some tasks in your life that you’re doing quite mindlessly while recognising the opportunity for automation, but it simply feels easier to just proceed with what you’re doing. In the short-term, it might be easier, but it’s definitely not better for the long-term. Learn this skill once, use that for life.
So what else useful did this course provide? I’m sure that nearly every business person out here uses Excel regularly — and maybe even some of you know the feeling of downloading a CSV from a database/BI tool and regularly copy-pasting that to some certain spreadsheet. Maybe you even need to do it to multiple spreadsheets? Well, this could be automated and in many cases, quite easily.
The course showcases how to use Python & Selenium to control your web browser with Python script, log-in to the webpage, download data, and dump it regularly to the spreadsheets. And that’s something that I’ve been using during my work to keep hundreds of reporting files in Google Sheets up to date – automatically, with no human involvement at all. Before my script, this action was done manually every week by dozens of people and I just felt that this is not the way this process should work. Writing this script has already saved thousands of hours of other people’s time. Today every such action would take 20 minutes of time with 260 files — while repeating this every week. In one year my script saves 4,506 man-hours in the current volumes and that’s only one use case of this script. Not only is it faster and saves time, but it also takes the pressure off of other people to get this data and there are no spelling mistakes inside (.. and yes, there was plenty of them when I was auditing that before automation took place). So it’s both saving us time and improving the quality all simultaneously.
The course also teaches how to read and edit Excel spreadsheets in a more powerful way than Excel by default allows. Just to be clear — Excel and Google Sheets are one of my main competency areas and I know this domain decently well. But during the brief 15 minutes of lessons dedicated to Excel I already learned a new trick how to control spreadsheets automatically using scripting and got validation to a task that I’ve always wanted to do using Excel but for which I was told by other people (.. and Google) that Excel can’t really do it. Well, if Excel can’t do it – try combining Excel with Python through few lines of code and make it happen. Imagine what else we could automate if we’d dedicate more time to learning about Python’s integration with tooling well known to non-technical people?
Learning Python allows you to know what is possible and be able to ask the right questions. “Automate the Boring Stuff with Python Programming” gives a real crash course on how programming works technically, and gives you a glimpse of different domains and items that is possible to automate in your daily work — either through Excel, emails, file editing, or copying a pasting data that you usually would likely do manually. In fact, I think this is one of the easiest courses to take about Python — compared to all rest of the Python courses I’ve taken it puts effort into explaining how every single line of code works which is super beneficial for non-technical people to understand. First of all, you will gain the knowledge of how to automate the simple stuff easily — maybe work out some codes even yourself. But more importantly — if you understand how automation and scripting works, you can ask the right people to create those things for you. You can think about what is possible and how easy (or complex) such developments could be without having to rely on somebody else’s opinion or input whether it’s doable or not.
For example, I don’t write Python code from scratch. However, I can read and understand it, and modify or customise the already pre-written code to complete the work I need this to do. Also, I can understand what programming really can solve or make my life easier with. So I’m always trying to automate as much as possible — so that neither I nor people around me don’t have to waste time on tasks that don’t bring value by doing them manually, and that we can work on things that matter.
I’m really against wasting people’s time. I think that time is the only resource people have and hence, it should be used as efficiently as possible. Take the example. If you want to earn more money – what do you need to do? Upgrade your skills and learn. What does it require? Time. If you want to strengthen relationships with your loved ones – what do you need to do? Hang out with them. What do you need for this? You again need time.
If automation helps you to make your work more efficient, it will buy you time. This time you can use to spend on adding additional value to your life – whether it is spending more time with people close to you, or dedicate more focus on areas that matter. You start by automating one task in your life, then another one, and soon without even realising that you have become exponentially efficient in everything that you do because all those simple actions stack up to a whole bigger win — you have automated so many tasks in your life, while still having them running — without you having to be constantly involved in them.
Simple decisions in your life can change the whole outcome of it. Fear is a motivational force, but only if you decide to fight back on it. If I would have not been scared 5 years back about new technologies, I would have not gone to learn technology management, and I would have not overcome my fear — at least not that fast. If I wouldn’t have done that, I wouldn’t have started learning Python in Udemy to back up my theoretical knowledge with practical skills. And I definitely wouldn’t currently be writing to you about this.
Every decision in your life has an impact. And the lack of decisions is the worst of them all. If you’re this person who wants to have control over your future, you are interested in tech but don’t have a clear path on how to achieve this or where to even head — take my advice. You just need to get started. Start with simple steps. Complete the course I shared in this post or find something else from the Udemy page. I bet there’s plenty of topics you’d like to master but haven’t just found the right moment to start. Now is the time for that.
Udemy is a great place for learning and keeps your personal development going. And starting to learn Python helps you figure out those small, simple tricks on how to make your work more efficient and win yourself the time that you can dedicate to new, more interesting things. And here’s a spoiler alert — I’m soon coming out with my own course on Udemy on how to take the maximum out of spreadsheet automation. Stay tuned for more.
“The only person who can transform your life is the one you see every day in the mirror. Be you the one who shapes your own destiny.”
— Federico Navarrete, Timeless Stories of El Salvador: The Beginning