Over the last two years I’ve been asked for resources I would recommend for software engineers starting their career. After writing this list out a couple of times and feeling a bit silly for doing it, I finally took the time to write this up as a post.
Here’s my attempt in keeping a list of resources, many of which are Python focused … at least for now.
By far my favorite medium to learn. Over the years I’ve gravitated more towards books about the craft of software engineering over books on a specific technology. That said, I’ve been very happy with the O’Reilly learning platform, what used to be Safari Books Online. I’ve used this platform to follow learning path on specific technologies like Go, Kubernetes, and data engineering.
- The Pragmatic Programmer, 20th Anniversary Edition
- Python Basics: A practical introduction to Python 3
- Think Python second edition: While this book has been out for a number of years, I would be remiss to not mention it. Fortunately this book is available under the Creative Commons Attribution-NonCommercial 3.0 Unported License. If you do read it and it helps, be sure to show your support 😉
Intermediate to advanced
- Fluent Python, 2nd Edition
- Modern Software Engineering: Doing What Works to Build Better Software Faster
- Building Microservices, 2nd Edition
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Design Patterns for Cloud Native Applications
Websites and blogs
There are a ton of excellent websites with a universe of content. These are just a few that I find helpful and enjoyable.
- Real Python: Some really great Python specific resources in the form of blog posts, tutorials, and paid courses.
- Mouse vs Python: solid Python focused blog posts
- ByteByteGo: great general computing topics. They’re short and straight to the point. I tend to look for their content a lot.
- Talk Python Training: I’ve gone over some of the training materials here and I’ve always enjoyed them. They always have package discounts that make them extremely worth it. You’ll also support the Talk Python Podcast while you’re at it.
After books, this is my favorite way to consume tech topics and news. There’s way to many excellent podcasts to mention here, but these are my recent go to list
While YouTube content can be all over the place I find these to have great content and I consistently come back to them
- ArjanCodes: When it comes to Python content from a YouTube creator, you can’t go wrong with Arjan. He produces great high quality content.
- freeCodeCamp: talking about tutorials and courses on YouTube without mentioning the OGs would be sacrilege. The amount of content can be overwhelming but a good search is well worth it.
- ByteByteGo: This is the accompanying YouTube channel to the ByteByteGo and newsletter. They have some amazing explainer videos on some complicated subjects.
- Pycon US: When it comes to Python conferences you can’t go wrong with the original. PyCon US has a world of talks from beginner to advanced topics.
- goto; Conferences: This channel is more of a general tech channel about the craft and business of software development. Their videos range from conference talks to book clubs.
There are many learning platforms out there. While many are excellent I keep going back to and enjoying O’Reilly.com. This platform is what used to be Safari Books Online. They’ve expanded from just offering a book subscription to providing learning paths that take from their extensive catalog of books, videos, courses, and talks. I’ve found that the subscription, while not the cheapest, is worth the value I get from it.
And there we are. There are definitely some excellent resources that I’m missing with this list. This is not meant to be an extensive list but a good starting point for software developers that are starting their career or are looking for resources to enhance their journey in this craft.