r/learnpython • u/OppositeFisherman506 • 11h ago
How do I learn Python well enough to automate the boring half of my job?
Operations analyst here. About a third of my week is just moving numbers between two systems that apparently will never talk to each other.
So yeah, I want to automate it.
I’m not trying to become a developer or switch careers at 38. I just want the four hour Tuesday task to become a script I run and then forget about.
I’ve got Boot dev, DataCamp and Automate the Boring Stuff on my list. But I’m having trouble figuring out which one actually makes sense for someone who wants to automate work tasks instead of learn coding for a new career.
What would you start with?
66
u/crashomon 10h ago
Oh if only there was a book titled
“Automate the Boring stuff”
8
u/keg-smash 7h ago
If only he already put it in his post
-10
u/crashomon 7h ago
“It’s on my list”
But I’m going to ask others anyhow, because I lack critical thinking skills
6
u/keg-smash 7h ago
Maybe he wants suggestions for other books. You should probably take a break from this shit and use your own critical thinking skills.
2
u/DrShocker 4h ago
I agree they're too harsh, but there's something to be said for "just try and see how close you get"
Gathering the perfect resource to learn from seems to road block most beginners on the learning subreddits (to be fair, if they were the kind of person to by coincidence be able to solve everything themselves, then obviously that person is never posting)
-1
13
u/alfonso_texada 11h ago
First, we need to formulate the problem more specifically: what does it mean to move numbers?
19
9
u/Binary101010 8h ago
Is there some particular reason you think the book whose title is the exact thing you're wanting to do isn't the right choice?
5
3
8
6
u/danielroseman 10h ago
You have a book called Automate the Boring Stuff, and you're asking which is the right resource to lean how to automate the boring stuff?
5
2
u/Kevdog824_ 9h ago
> someone who wants to automate work tasks instead of learn coding for a new career.
How does one write code to automate their job without learning to write code?
13
u/Excellent-Practice 9h ago
I read that as he wants to learn just enough to accomplish his immediate goals but is not interested in building enough skill that he could make a career out of it. That's not an unreasonable position, but perhaps OP would be better served describing the problem to a chat bot and not bother to learn at all
6
u/Kevdog824_ 7h ago
Actually, after rereading it, your interpretation makes much more sense and I retract my (somewhat snarky) comment
1
u/waitthissucks 5h ago
That's similar to how I approached this book, but then it became so interesting that I actually started learning more
0
•
1
u/DrShocker 4h ago
Whatever process you're doing manually, you can probably record it and play it back in a few ways.
I don't know if you need to make decisions or interact with servers though, that bumps up the challenge.
In general though if you can write the process down as though you were explaining it to someone else, you can probably work with an LLM to get a script to get each individual step (with unit testing) and then at the end get it to 1 script.
If you're okay with manually kicking off the script and verifying the result, that's all that's necessary.
1
u/CosmicClamJamz 2h ago
Assuming you can export numbers in a CSV from one system, and import CSV to the other, you just write a python script that takes the first format, builds the second format, and you do the export/import yourself manually. When you run the script it should prompt you for the location of the input CSV. That way you don’t need to deal with auth
If you do need to deal with auth, but your company won’t give you API keys to build with, then you can usually write a script which makes the same requests that your browser makes to show the numbers. You can see these in your devtools, along with the bearer token your session issued during login. Python can prompt for that bearer token, you paste it, then it makes the requests on your behalf. It would then parse the (likely JSON) response, and do whatever you want with the resulting data. You might feed it a bearer token to your target system and have it write the data for you. Or, you make a CSV like the first option and import it yourself. Basically, Python can make web requests, read files, write files, all the things you’re probably doing. You just need to give it A) numbers, or B) access to the numbers through your credentials.
1
u/digitizedeagle 1h ago
I think at first, the OP needs to be able to run code by setting up virtual environments and installing packages.
This way, the AI can produce code that he can test and iterate. This would be the fastest path to success, as they slowly but surely come to understand the code beneath.
1
u/nizzoball 8h ago
Having a goal in mind is the best way (to me) to learn a new language or skill. Pick a task and build something to automate that. When you’ve accomplished that, pick another and so on and so on. You’ll get to a point where you’re looking at a task and can think “well, I did it this way here but this will make it better”, then you’re going back and refactoring code and combining tasks etc…
The easiest way is to start with a goal and go from there
0
u/FatDog69 7h ago
Most books/courses try to show you how a broad number of things work in the language.
But you have a specific problem. You will focus on things that help you solve this 1 task you have.
So you want to focus on automation and skim for things you think will help you write this task. DO NOT PLAN TO DO AN ENTIRE COURSE OR READ THE ENTIRE BOOK.
The automate the boring stuff is exactly the first book you should try.
BUT: Authors are taught to be ready to kill their favorite characters. This advice is good for programmers as well.
Your first scripts will be crude, ugly but work. Plan on taking the time once things work to read more, the go back and re-write your working script. The next gen will be cleaner, better designed and probably have more comments & error checking.
Plan for the re-write. It is not a failure - it is 'get it to work' then 'clean it up'. We all do this.
0
u/nizzoball 6h ago
I never read automate the boring stuff or any other python books. I have them but never go around to reading them. When I wanted to teach myself python my team was looking to migrate off of our old cobbled together monitoring system and so I used that as a way to teach myself python. 6 years and a patent later, it’s the focus of our team
0
u/Creative_Sugar-33 10h ago
Do the two systems provide programmatic ways to move numbers between them? If yes, you should use those APIs. Otherwise, consider using ChatGPT Work or Claude Cowork which can handle these tasks for you without having to write a script. These AI tools will also handle unexpected scenarios better.
0
u/LobsterIndependent15 8h ago
your job sounds like mine. here is what I did.
read the “automate the …”. good book. then learned a decent about python and general coding with ”100 days of python course. only completed like 60 days but learned a lot.
I then find out my employer IT wont let me run Python on my work PC. no big deal since I can still use VBA and Office Scripts.
I automated the shit out of my job with VBA. now I have so much free time that I am slowly switching many of the automations over to Office scripts. Office scripts is shared easier but VBA can do so much more.
I also got into using Microsoft Power Automate. pretty powerful also. many tools are available, find the ones you have access to at work and then learn how to best apply them.
0
u/CthulhusSoreTentacle 7h ago
Automate the Boring Stuff. Move it from you "TBR" list to your "read" list. I'd also recommend "Python Crash Course".
0
u/Gengis_- 7h ago
Well. First make sure you clearly define what is the problem by writing down requirements. What needs to be done? What does success looks like? What are the constraints or opportunities? Etc. Without specifics about your job it’s hard to give you examples. But let’s say you need to get profile data from SAP to Salesforce or sales data from Stripe to some analytics tool. What data exactly needs to be moved from the source? Does it need to be transformed? What is the destination system and how could it be ingested there. What are the available tools you have at your disposal? What would be a red flag for your IT, CISO pr legal department? Etc.
Once you’ve done that. Only then start thinking about the solution. Maybe you don’t even need code. Is there an out-of the-box or readily made solution to your problem? It could be! If not only then proceed to think about a custom solution. LLMs are of great help for this, they can help you pin-point available methods and features a tool has (or doesn’t have). Use it in discovery to guide you to the proper documentation and from there evaluate the possible solution.
Maybe there is something simple you can use without too much hassle. Maybe you are trying to move terabytes of complex data without anything at your disposal to process it. When you start you will need to start small and build things step by step by breaking the problem down. For example by focusing first on extracting the data. Then transforming it. Before loading it in the destination. Don’t try to do everything at once. Start with what you can handle. The rest will come.
If code is the solution and you have the tools to do it, then this kind of project is great to learn code. As others have mentioned you will focus only on stuff that helps getting closer to a solution which will hinder your foundations but you will be highly motivated by having something tangible to work on and the satisfaction of getting it done.
Maybe there is someone in your team or organisation that can help you kickstart your project.
0
u/mileswilliams 5h ago
If you'd like we could probably break it down if you give an example of a boring long winded task you have to complete.
0
u/PureWasian 5h ago
Depends if you actually care about learning (resources you listed) or just automating that single task and then moving on with your life (LLM).
Your time-sink/priorities will vary.
-3
u/princepii 10h ago
try opencode. runs local and doesnt share anything.
you can even give/take permission so it has access to your filesystem.
tryd it right now cuz i really was curious how far ai has come the last few years and read about claude and stuff yesterday.
i watched how it cleaned my whole download folder and structured, renamed, moved and deleted files. it asked me of course before doing all that. it even has access to your terminal and can install, update or remove things.
companys use claude to automate really anything and even create websites or apps with it and it looks very promising.
as useful as it is the reality is, they will replace humans with ai one day. crazy!
37
u/jmooremcc 10h ago
Read Automate the Boring Stuff with Python and learn.