I learned a little bit of python back in college with the hope that it would give me a competitive edge in the field I hoped to enter. Lo and behold, I got a job in a different industry entirely and any knowledge of coding I once had became irrelevant.
Would it be worth it to pick up my python textbook again and self-teach in my free time if I don’t want to make a career of coding? What exactly can python be used to create?
If your computer can theoretically do something, you can probably make that happen using Python. Most people don’t use Python to make their own software, though. Rather, they use it to automate tasks by gluing together software made by other people.
If automating stuff sounds useful or appealing to you, then yeah, learn you a Python. If that sounds like a waste of time… well, why learn something you won’t use? There’s certainly a joy to be had to the learning itself and there’s plenty to be said about how it may broaden your own thinking, but these are intrinsic rewards you can only discover for yourself.
I would check out the online free book How to Automate the Boring Stuff with Python it gave a lot of ideas for little scripts that can save me time (not hours usually, but about an hour over time so far) such as my script for organizing my downloads folder based on the file extension.
Author also puts codes on r/learnpython so course is effectively free on a monthly basis. Maybe he’ll start posting here, too. Here is last months [post](2,000 free sign ups available for the “Automate the Boring Stuff with Python” online course. (June 2023) https://reddit.com/r/learnpython/comments/140iolc/2000_free_sign_ups_available_for_the_automate_the/)
I would argue it’s worth having at least a passing knowledge of how Python works. It is a very simple yet powerful language that is used for a lot of applications.
Personally, I’ve utilized it at work to process data for reports that I would otherwise be doing in spreadsheets by hand. If you learn how to import .csv files, manipulate rows of data, and export back to a new .csv file then you will probably eventually find a use in any office you end up working at.
As a hobby, if you have any interest in AI art or AI large language model projects then knowing some basic python will be a huge help. Most of the open-source projects and their extensions use Python, and there are many times I’ve tried to use a GitHub tool but gotten an error. Knowing Python, I am able to track down and fix small issues about 80% of the time, which feels pretty cool.
Finally, even if you don’t get much/any use out of Python, it’s probably worth learning just so you understand how scripts, imported libraries, and basic programming logic works. Just having that baseline understanding will make you look like a rockstar when dealing with a companies proprietary software in many office settings.
Interesting food for thought, thanks!
I’m still very new at Python but would it be possible to use it to automate updating Excel from a company website (sorta like JIRA or Projects) and vice versa?
I don’t use JIRA myself, but after a brief search it looks like you can use the JIRA Python library or pull data directly from the REST api fairly easily. I know there are several libraries and methods to interact with Excel using Python, so I am fairly confident your user case would be doable with some scripting.
The userbase of Python is so large that for almost anything you might want to do it’s likely someone else has already worked out a solution and created a library for it. For everything else, you can make your own solution and share it for the next person with that same problem.
The short answer is that you can create what ever you want with Python.
It’s a general purpose programming language and you can do anything with it!
What do you want to do?
People certainly code as a hobby or have personal projects. But I wouldn’t say reading a textbook is fun for me, if I want to make a personal app then I’ll just learn what I need as I go.
This is the way. After your first “Hello World” you have to set a goal and learn the techniques required as you go!
Programming can be used to automate yourself out of your job if you are interested in helping your employer generate value for shareholders
On a personal level, it can also help make your job more interesting by automating tedious tasks, freeing up more space to do actually useful stufd.
Better yet, automate the boring stuff, never tell your boss and enjoy a stress free day to find some other job that isn’t so pointless.
I just used Python to download a video from the internet. I’ve used it to automate my home’s climate control and a whole bunch of other random tasks.
There’s an infinite amount of things you can do with code!
Curious what library you used for the download.
yt-dlp
Probably. I learned the basics of coding when I was young and I constantly find use for it, even if I’m not a coder by trade.
It’s not the language or editor or anything specific, but the core understanding of rigid logic and the linear thought necessary to solve problems that makes the difference.
The understanding of programming is itself a tool. Just like if all you have is a hammer, every problem is a nail, but if you didn’t have the hammer in the first place, then you wouldn’t think of it being a solution at all. Get yourself a hammer, get yourself an understanding of programming.
In practical usage I make a lot of use of VBA for Excel. It’s not a very good language but it is fast and extremely versatile. Obviously I use it mostly for Excel data, but the task doesn’t even have to be related to numbes at all. F.i I made an app to sort a bunch of image files and rename them according to a list that came from some other software. It used to be a dreadful task that would take hours and hours.
I believe this could be done in almost any job that involves any kind of data. Even if the data are just any sort of files on a pc.
Python is similar. You might not need python specifically, but if you understand what you can do with it, then you can apply that usage to many situations.
If your job involves, numbers, data, spreadsheets, and placing that info into reports, then you can automate a good chunk of that work-flow using python. For all things data, checkout out the following libraries:
- numpy (vectorized data manipulation)
- pandas (data manipulation, and easy import/export to spreadsheets)
- matplotlib (graphs, plots, and kinds of data visualization)
- jinja2 (automatically generating reports from templates)
Python is an EXTREMELY useful and common language, and it’s capable of all manner of things. For example, FreeCAD’s GUI is written in Python. The rendering engine, OpenCASCADE, I think is written in C. Especially in the Linux ecosystem, you often see a Python console as a user-facing scripting system. You can write macros in LibreOffice in Python, for instance. I use a package called Autokey on my computer that lets me automate basically any task on my Linux desktop, similar to how AutoHotKey works in Windows, but Autokey uses Python. I have also used MicroPython a lot on ESP32, ARM M0 and RP2040 based devboards, which can run the MicroPython interpreter. I find it easier to deal with than C++.