The stuff you read "for work" will undoubtedly increase your technical knowledge and make you a better software engineer, but the books you read for pleasure might just soothe your soul, increase your knowledge about the world you live in (good, interesting biographies, history books, etc) or they might just be good fun and a good way to switch off.
So while I don't necessarily think your mindset is harmful per se, I do think it is perhaps a little self limiting. That's just my opinion of course - I like literature so for me books are definitely a pleasure. Your mileage might vary :)
This is very harmful to your "intellectual growth" and you should break out of the mindset that everything you read should be oriented towards your job and career only. Something from the book The 7 habits of highly successful people which i had read a long time ago stayed with me. There is a concept of P (for Production) and PC (for Production Capability/Capacity) mentioned in that book. P is what gets you a job in the present time since you are employed to "Produce" something for the Company immediately. However your future growth, both professionally and personally depends on how well you cultivate your "Production Capability/Capacity" so as to take advantage of whatever the future might throw at you. This is why expanding your mind and intellectual horizons by reading on widely different domains is so important. Don't limit yourself by reading only job/career related stuff. Go outside your comfort zones and expose yourself to various ideas and concepts. Life is much more fulfilling that way.
One thing to note is that you don't read all books cover-to-cover. You skim and jump back-and-forth to quickly identify the gist and essentials. Only then do you sit down for serious study of the identified sections. Also don't try to remember everything you study; only the essence/core is to be assimilated, for everything else keep a mental bookmark so that you know where to look for when you need the details later.
IPA: /faːɡ.i.di.uːt/
Ah, No! As a lifelong Sherlockian/Holmesian i cannot allow you to cast my hero in a unflattering light :-) That was Holmes being flippant. Over the timeline of the stories, it turns out that Holmes is actually very well and widely read and has a large personal library into which he often dips for some long forgotten fact which has suddenly become relevant to his current case.
That advise was given when there where no eBook readers, Smartphones or other mobile stuff. But it's still a good advise IMO as long as you use these tools for mainly recreational activities.
So long note, short answer: reading books isn't a waste of time.
What about if I feel I'm not a good software engineer?
We do many things just for pleasure; we go on holiday, we have friends, we eat dessert, we go for walks, we read books.
If you feel you need to improve your English or your technical skills, that's fine, you can study. But that's unrelated to all the other activities you might do for your own pleasure.
Well said! This is the curse of the modern society/economy that everything you do should be towards some "improvement" either materially or otherwise. The concept and importance of "play" has all but been forgotten. Incidentally, much of Science progressed only because many of the Scientists actually loved "playing" with what interested them. The actual inventions/discoveries were more accidental like.
Knowledge for Knowledge's sake is a very good thing.
But then reading your message made me think: this sounds a lot like Sartre's waiter [1]. I don't think I can change the way I feel and approach life, and I'm quite comfortable with my approach, but if you're not and you want to make a change, you might want to dig into why that's the case.
If you are close to the beginning of your journey, like say 1-3 years ago you didn't know how to program at all, them I would take the advice you are getting with a grain of salt. I would recommend pouring your free time into your trade, gaining both a breadth of knowledge about software engineering (like spending 3 hours learning about C++ not to write a program in it but to be able to understand what it is and what it isn't so you can carry a brief conversation when the topic turns to it) and a depth of knowledge with your preferred toolset (like 200+ hours going through 3-4 ground up resources on Python because its your most reached for language to get work done).
Once you have that strong foundation, the other advice here is very sound. Turn your computer off and go do wood working, or read a comprehensive history series that tackles each decade (and then do it again from an Asian focused author rather than a Western focused one), or find a solid podcast to listen to while you go for long walks in nature, etc. Pretty much anything other than sitting at your computer for both your job and your hobby.
Then you might actually be a descent software engineer. It's when you stop worrying if you're good enough that you are most likely falling behind.
For instance, Range, one of the books that Gates recommends, isn't specific to any occupation, but can inform one's general perspective on the hazards (or benefits) of taking a software job that is more specialized, and whether it's the best thing for your career in the long-term.
Relatedly, I can't tell you exactly what genre the You're Not So Smart or Freakonomics podcasts fit into, but like a lot of good books, each fleshes out all sorts of high-level ideas that can relate to day-to-day life.
I really enjoy learning about behavioral psychology/economics-type stuff.
Finally, if you have children, reading is a great habit to instill in them. Trial and error is a good way to learn, but it's time consuming and sometimes painful. Reading is one of few shortcuts in life that's not a fool's errand.
Whenever I go more than a few weeks or so without reading fiction, I tend to notice a drop in my productivity and problem-solving ability. Binge-reading a good book fixes it every time.
I'd recommend Issac Asimov's short stories. The robot series for example: https://en.wikipedia.org/wiki/Robot_series. You can read a few of those in a sitting.
If you want to completely escape our world then I recommend the old Conan books or the modern Brandon Sanderson starting with Stormlight Archive.
You have received plenty of Sci Fi recommendations but I will add my own personal favorite (this is one novel in the series): https://en.wikipedia.org/wiki/In_Death_Ground
If you want fiction that is grounded in reality with little to no fantasy elements then the murder mystery genre has quite a few gems that are fun to try and guess the twist of when you are reading. Murder on the Orient Express is great if you havn't experienced the story yet.
Have you read Robert Jordan's 'Conan' books? I just reread them (after finally getting around to reading Sanderson's final two books of Jordan's 'Wheel of Time' series) and they're more fun than I'd remembered!
I used to spend a lot of time working. Then over time that just started destroying me. I got let go from my job and while I had noticed this a bit, particularly on vacations, I had no idea how to "not work."
My stress level was through the roof and I had no outlets for anything.
2020 has been the year of me trying to create a life outside of work. Kind of a weird ass year to try it but despite 2020 being 2020, I've rediscovered my love of reading, really started learning music theory, and a bunch of smaller things.
I should be able to go into 2021 a lot better as a person and feel my life is "better" in a lot of ways that it was previously pretty poor. I still don't think my life is amazing or great or anything, but baby steps.
A big change in mindset to accomplish a lot of this is that my job exists to plan for the future (planning for retirement has been a big deal this year), it pays for me to have fun (enjoy the now), and it pays for me to pay my bills to live. My job is not my life, it's a means to an end. I show up, I do my job, and I leave at the end of the day and I don't think about work until I come back in the next morning.
And if you read the same books as everyone else, you'll have the same ideas as everyone else :-) Read about other industries - do they have stuff you can re-use? Read some of the great books and learn about history and human nature.
Develop a "hinterland" - https://en.wikipedia.org/wiki/Hinterland
Though maybe I'm lucky in that I have very broad architectural responsibilities in my job...
Think of it like a proof of concept. You don't just write perfect code every single time you sit down, right? Sometimes you write something and test whether it'll work. Sometimes you find it works, other times it doesn't.
I encourage people to try to do the same with their life.
I was always of the mind "Meditation is some kind of stupid mumbo jumbo and it's dumb and a waste of time"
I now meditate, because I tried it and realized it was helping me.
You don't have to go into some idea thinking this is the rest of your life, it's not, you can try something, see if it helps you or you enjoy it. If you aren't enjoying it or you don't see it actually helping you then stop and do something different.
I read a lot, over 20 books this year, most of it fiction. It has replaced watching tv in 2020 and I set a goal to read at least 30 minutes a day.
Reading more about areas outside of your own domain of expertise can only be a good thing as it introduces you to thoughts and concepts you otherwise wouldn't know about.
Frankly, more people in your field should read more broadly, particularly in the humanities.
I found that reading books on other subjects (from non-fiction I've read some biographies, some economics books, the usual suspects like Sapiens and such). I find that knowing a bit about everything is mainly a good way to keep conversations going because it enables you to chip in on many different subjects while otherwise it might be hard to find a common interest.
It also helps to see some issues that one might overlook. An example would be American Kingpin which shows how a good technical idea with no moral oversight might end up creating something that ultimately makes world a little bit worse.
Usually the part of out-of-scope of software is dealt by product managers. Maybe it is a problem of working in a big corporation?
Life happens outside of work too, it's nice to be able to talk about other things than coding. Out of scope questions can be also useful when asked the feared "do you have questions?" question during recruitment.
Don't be hard on yourself for not spending every waking minute of your life working, preparing for work, or feeling bad because you "should" be doing one of those two. That's a very quick way get burned out.
YMMV, but in my experience, even if you want to optimize your life for doing the best work possible, not working all the time is a winning strategy!
0. https://braydie.gitbooks.io/how-to-be-a-programmer/content/e... (Free to read, Community Edition)
1. https://www.amazon.com/How-Be-Programmer-Robert-Read-ebook/d...