I normally listen to an audiobook on the way to work. Most of these are now software development books. The more I listen to the more ideas I'm exposed to. There are so many great books out there. I was once told a story about a guy my old boss fired because he tried to implement something he read about in a book. It gave me the idea that I shouldn't trust books for programming learning. That was stupid of me. I don't think that was the point of the story.
Then there is the idea that you don't skip over anything. If you want to use a library and you find your self getting stuck, then go to the docs and learn everything you can about that library. Get a good deep understanding. I've found that while this costs time up front it saves lots of time in the long run. Not only does it save time but prevents interruptions. Once you understand something you don't have to stop and think as often. This makes development much faster.
The other thing I've found that helps is practicing focus time. Setting aside time where all your distractions are blocked. I use blocking tools to give me blocks of time that I can't even open my email.
Every book I've read has given me something to think about at least.
Recent books:
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#
By: Scott Wlaschin
Get Programming with F#
A guide for .NET developers
By: Isaac Abraham
Learning How to Learn
By: Tesia Marshik , The Great Courses
Fundamentals of Software Architecture: An Engineering Approach
By: Mark Richards , Neal Ford
Stolen Focus: Why You Can't Pay Attention
By: Johann Hari
Stein on Writing: A Master Editor Shares His Craft, Techniques, and Strategies
By: Sol Stein
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win 5th Anniversary Edition
By: Gene Kim , Kevin Behr , George Spafford
Understanding Software: Max Kanat-Alexander on Simplicity, Coding, and How to Suck Less as a Programmer
By: Max Kanat-Alexander
The Field Guide to Understanding 'Human Error'
By: Sidney Dekker
Ultralearning: Accelerate Your Career, Master Hard Skills and Outsmart the Competition
By: Scott H. Young
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
By: Martin Kleppmann
Clean Architecture: A Craftsman's Guide to Software Structure and Design
By: Robert C. Martin
The Goal: A Process of Ongoing Improvement - 30th Anniversary Edition
By: Eliyahu M. Goldratt , Jeff Cox
Thinking, Fast and Slow
By: Daniel Kahneman
The Complete Software Developer's Career Guide: How to Learn Programming Languages Quickly, Ace Your Programming Interview, and Land Your Software Developer Dream Job
By: John Sonmez
The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery
By: David Thomas , Andrew Hunt
I normally listen to an audiobook on the way to work. Most of these are now software development books. The more I listen to the more ideas I'm exposed to. There are so many great books out there. I was once told a story about a guy my old boss fired because he tried to implement something he read about in a book. It gave me the idea that I shouldn't trust books for programming learning. That was stupid of me. I don't think that was the point of the story.
Then there is the idea that you don't skip over anything. If you want to use a library and you find your self getting stuck, then go to the docs and learn everything you can about that library. Get a good deep understanding. I've found that while this costs time up front it saves lots of time in the long run. Not only does it save time but prevents interruptions. Once you understand something you don't have to stop and think as often. This makes development much faster.
The other thing I've found that helps is practicing focus time. Setting aside time where all your distractions are blocked. I use blocking tools to give me blocks of time that I can't even open my email.
Every book I've read has given me something to think about at least.
Recent books:
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# By: Scott Wlaschin
Get Programming with F# A guide for .NET developers By: Isaac Abraham
Learning How to Learn By: Tesia Marshik , The Great Courses
Fundamentals of Software Architecture: An Engineering Approach By: Mark Richards , Neal Ford
Stolen Focus: Why You Can't Pay Attention By: Johann Hari
Stein on Writing: A Master Editor Shares His Craft, Techniques, and Strategies By: Sol Stein
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win 5th Anniversary Edition By: Gene Kim , Kevin Behr , George Spafford
Understanding Software: Max Kanat-Alexander on Simplicity, Coding, and How to Suck Less as a Programmer By: Max Kanat-Alexander
The Field Guide to Understanding 'Human Error' By: Sidney Dekker
Ultralearning: Accelerate Your Career, Master Hard Skills and Outsmart the Competition By: Scott H. Young
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems By: Martin Kleppmann
Clean Architecture: A Craftsman's Guide to Software Structure and Design By: Robert C. Martin
The Goal: A Process of Ongoing Improvement - 30th Anniversary Edition By: Eliyahu M. Goldratt , Jeff Cox
Thinking, Fast and Slow By: Daniel Kahneman
The Complete Software Developer's Career Guide: How to Learn Programming Languages Quickly, Ace Your Programming Interview, and Land Your Software Developer Dream Job By: John Sonmez
The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery By: David Thomas , Andrew Hunt