On a regular base I have to deal with Python, some Golang and since March
2023 starting Rust. As a developer I normally solve problems and/or
develop products/services. That means I have to deal in different extend
with product management, project management, agile, self organisation,
soft skills etc. Here are my personal recommendations recommendations.
Warning
Learning x in e.g. 3 days / 2 weeks / x month is bullshit.
I do software development for more than 25 years and get almost everyday a "today I learned"-moment.
Reading books alone will not make you a software developer
The links lead mostly to amazon -> I don't use any affiliate link.
You can buy your books where you want and surely you will do.
I recommend if you buy the books, think about supporting your local book store!
I own all the books. Some as ebook, some in print, some in German language, some in English language.
I've read them all!
Note
Just found out that updates for these books are free, so I just got my The Power of Go: Tools (2024) for free. Thank you very much John!
I normally recommend only books I have read. Here I would like to make an exception. I have read a lot of good things about the books and have bought all of them, but have not yet been able to read them. 3 books read and they are on my list (Code for your life, For the love of Go, The power of Go), still two to go:
Note
Found some interesting free ebooks which I also not yet have read:
Books that have had a lasting influence on my way of thinking and approaching things.
I wished some of them would have been published earlier. Others have confirmed, reinforced and deepened my experience.
Although I have been doing this for more than 25 years, I still read books to stay up to date and learn new things. However, I have not been following every trend for a long time.
Self organisation, thinking, problem solving
Development in general, project management, git
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems: https://www.amazon.de/Designing-Data-Intensive-Applications-Reliable-Maintainable-ebook/dp/B06XPJML5D/
- Modern Software Engineering: Doing What Works to Build Better Software Faster: https://www.amazon.de/Modern-Software-Engineering-Better-English-ebook/dp/B09GG6XKS4/
- The Pragmatic Programmer: https://www.amazon.de/Pragmatic-Programmer-journey-mastery-Anniversary-ebook/dp/B07VRS84D1/
- The Goal: A Process of Ongoing Improvement: https://www.amazon.de/Goal-Process-Ongoing-Improvement/dp/0884271951/
- The Mythical Man-Month. Essays on Software Engineering: https://www.amazon.de/Mythical-Man-Month-Essays-Software-Engineering/dp/0201835959/
- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations: https://www.amazon.de/Accelerate-Software-Performing-Technology-Organizations-ebook/dp/B07B9F83WM/
- The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win: https://www.amazon.de/Phoenix-Project-Helping-Business-English-ebook/dp/B09JWVXFNG/
- The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data: https://www.amazon.de/Unicorn-Project-Developers-Disruption-Thriving-ebook/dp/B07QT9QR41/
- Engineers Survival Guide: Advice, tactics, and tricks After a decade of working at Facebook, Snapchat, and Microsoft: https://www.amazon.de/gp/product/B09MBZBGFK/
- Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation: https://www.amazon.de/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912/
- Agile Estimating and Planning: https://www.amazon.de/Agile-Estimating-Planning-Robert-Martin/dp/0131479415/
- System Design Interview – An insider's guide: https://www.amazon.de/dp/B08CMF2CQF/
- System Design Interview – An Insider's Guide: Volume 2: https://www.amazon.de/System-Design-Interview-Insiders-Guide/dp/1736049119/
- Code: The Hidden Language of Computer Hardware and Software: https://www.amazon.de/Code-Language-Computer-Hardware-Software/dp/0137909101/
- Code That Fits in Your Head: Heuristics for Software Engineering: https://www.amazon.de/Code-That-Fits-Your-Head/dp/0137464401/
- Everything curl - the book (free): https://curl.se/book.html
- Git for Beginners: Zero to Hero (free): https://jdsalaro.com/tutorial/git/
- A Visual Git Reference: https://marklodato.github.io/visual-git-guide/index-en.html
- Git by example: Interactive guide: https://antonz.org/git-by-example/
- Building Green Software: https://www.amazon.de/Building-Green-Software-Sustainable-Development/dp/1098150627/
- Network Programmability and Automation: https://www.amazon.de/Network-Programmability-Automation-English-Oswalt-ebook/dp/B0CFXDRM12/
- Hypermedia Systems: https://www.amazon.de/Hypermedia-Systems-English-Carson-Gross-ebook/dp/B0CC315VJK/
Vim
Important
- I've read a lot book dealing with scrum. But I've to admit none of them convinced me that much and that's why i stayed with the scrum guide. So no special recommendation.
- Make notes of what you read and learned.
- Write your notes in a simple language in a way that you would explain the topic to someone in an explain like I'm five style.
- Use technical terms when appropriate.
- Your customer wants solutions - normally he is not interested in the programming language and tools you use.
- Write down decisions: when, why, what, who was involved.