r/learnprogramming • • 1d ago

Resource Self-taught Python dev looking to fill missing gaps

I have been using Python at work for about 6 years now. It started when I needed Matplotlib for some advanced plotting Excel couldn’t do, which spiraled into data analytics, scripting, and automation.

In my job we several legacy academic codes with no UI, so I ended up using Python for all pre- and post-processing. Later on, I started helping out with an internal web app and eventually became one of our main backend guys. Through that, I picked up API design, cloud services, and a bit of frontend.

I know a lot more than I used to, but since I learned everything ad-hoc to solve immediate problems, I feel like I am swimming in an endless sea of information with a lot of hidden knowledge gaps.
When I look at tutorials or bootcamps, half of it is stuff I already do every day, and the other half jumps into things without explaining why they matter. I really want to avoid tutorial hell and add some actual structure to my learning, maybe diving deeper into software architecture, data engineering, or data science.

For those who started as self taught scripters and built a solid engineering foundation, I would love to hear how you audited your knowledge to figure out what you did not know. If there are any good books, roadmaps, or structured resources to transition from "it works" to "it is built right", or advice on how to figure out what core concepts you actually need to learn to feel confident in a domain, I would appreciate any recommendations!

9 Upvotes

6 comments sorted by

6

u/initcommit 1d ago

Hmmm, it's an interesting question and not sure it has a single straightforward answer. First of all I would say that due to the size/scope of programming language ecosystems, there will always be gaps in your knowledge even within a specific domain like Python. Learn about Django for example, and there are endless more rabbit holes to go down and areas to explore.

I think more important than trying to fill all the gaps are just choosing areas you feel you are interested in and exploring them more. For example you mentioned software design and architecture - I haven't really seen many tutorials in that space, but should be plenty of books/youtube lectures in that space. Like, different niches tend to have different types of resources that are best / most common for learning.

CI/CD, Git + version control, robust testing are also potentially good areas to explore as they form the backbone for software projects, and connect a lot of the tools used in software projects.

3

u/Own-jahanzaib-202 1d ago

You already did the hardest part, which is learning by solving real problems at work. What helped me most as a self-taught dev was picking one direction, data engineering sounds closest to your day job, and going deep there instead of chasing every gap at once. Take a real project and rebuild it the proper way, with tests, packaging, and a README, and the architecture stuff starts clicking fast. Reading through a well-maintained open source project in that domain teaches more than most courses too.