He's a good writer, but I think he underestimates the implicit skills that an experienced engineer has that beginners don't have. Sometimes it just seems like common sense, but it isn't, and the result is often a lack of empathy.
To build up that empathy, being around children or the elderly probably helps. Also, helping a relative who is struggling but you're on their side.
Also consider the difference between a native speaker of a language who just kind of knows how to say what they want to say, versus someone struggling to learn the language.
I started programming at age eight, while my brother started in his 20s. Teaching him to write C was an eye-opening experience because it showed how much I rely on vibe and feelings. He struggled with things I take for granted, like indenting his code consistently, or actually reading error messages from the compiler and using them for debugging.
It took him a couple of years to get to the point where he could get a job as a programmer. This isn't surprising, because it also took me a couple of years. I had just forgotten where my starting point was.
Thank you for the kind words on the writing! And the implicit skills are important, it's just that reading a book is, broadly speaking, a very strong indicator of ability and a great starting point. The best engineer at my consultancy doesn't really read books due to S-tier ADHD, but has a massive amount of lived experience and has read enough documentation/high-tier blog posts that there's probably some equivalency.
One of the funniest emails I ever received was from someone extremely talented that said that reading books never felt that helpful, then they reeled off the five books they had read that year. I think they accurately self-assessed that the books actually weren't that good for them, but the fact they still opened five is the discipline that brought them to the top.
I'm teaching myself linear algebra after failing the official class. I bought Strang's book and to me it was like reading the rantings of a madman (edit: ofc I mean "to me", as he is an accomplished mathematician), nothing made sense and it seemed all over the place. Which is strange because he seems always so highly recommended in that field. Its a visual subject for gods sake make some use of pictures! -- Anyway, not giving up I bought another one, this time from Lay and Macdonald and its like I'm reading a different subject. It makes logical sense and uses pictures to illustrate geometric points effectively without going overboard. So yeah, I cannot agree more. Sometimes its the right book you need, not just any book.
edit: In summary, we need good bullshit detectors to avoid being drowning sleepwalkers ;)
Let me get this straight: you can be better than 90% of people if you just read a book, but wait, not just any book, it has to be the right book -- and also it doesn't have to be a book, it can also just be "lived experience" or technical documentation, that counts too.
At this point, the thesis is more qualification than statement. Mostly what I drew from the article is that the author feels smugly superior to many of his peers, and wants an excuse ("they didn't even read a book") to morally blame them for their (perceived) shortcomings, while serving up a generous helping of false modesty on the side.
You can obviously substitute a book for whatever you want, but a great book is a huge accelerator. And yeah, it has to be good, which doesn't seem very controversial. Fluent Python is a great example of this. I could, with enough effort and time, piece together some of the philosophy underlying the language's design, but someone has already put a huge amount of pedagogical effort into pre-chewing a lot of that food for me. This probably isn't intrinsic to books (I really like Josh Comeau's CSS course, for example, which has book-tier thought put into it) but I do think that books attract authors who are thoughtful, and the form factor makes them pleasant to revisit. Even some of the suspect, like The Mythical Man Month, have some beautiful prose and thought that I think wouldn't appear typically appear in a more colloquial format like a YouTube series.
I do appreciate you taking the time to read my mind for false modesty and vaguely insult me though, thank you!
> ...I am clearly worse than almost everyone that emails me along all of these dimensions. I only have a dim understanding of how my 3-4 years of experience coming from a strong background in psychology has rounded to "senior engineer", I've only ever written tests for personal projects because no employer I've ever seen actually had any working tests or interest in getting them, and I wrote the entirety of my Master's thesis code without version control because one of the best universities in the country doesn't teach it. In short, I've never solved a truly hard problem, I'm just out here clicking the "save half a million dollar" button that no one else noticed. I'm a fucking moron.
comes off to me as false modesty in the context of an essay that characterizes the majority of industry colleagues as "drowning sleepwalkers." Take it as a criticism of your writing persona, not a personal insult. You are right that I can't read minds, only the text in front of me.
I am glad you are mentioning specific books about software here in the comments. The essay had a very thoughtful and detailed discussion of books about drawing. If it had kept that energy when it turned to discussing software, instead of retreating into taking potshots at "the average developer", consultants, etc., it would come off to me like a persuasive essay rather than a self-congratulatory smugpiece.
Yes probably a bit like chess masters. They surely know theory and theory can surely help, but often they just “feel” that one way is more right than another way. How does this “feeling” arise? Tons and tons of deliberate practice.
I am the author and was puzzling over how to respond to this, but yeah, this is basically it. I still have very little tolerance for a certain level of incompetence (don't work at a hospital if you're going to crash prod repeatedly, sorry, this isn't adult day care), but most of my readers are better software engineers than me, and every day I have to humble myself and ask one of them how to do something stupidly simple, like "Is there a better way to develop pipelines than watching GitHub Actions fail, tweak the code, repeat?"
I don't know how to avoid frustration because it often is a frustrating situation, for everyone. I think you have to accept that.
But after a while I learned to stop blaming people who are in over their heads. Ideally there would be a gentle learning curve with a gradual ramp-up in difficulty, but often real life doesn't work like a video game.
> Then there are engineers [...] who never try for the entirety of their careers
This matches my experience 100%. I am not a brilliant developer by any measure. I'm competent enough, I can put together good solutions to the admittedly low-scale problems I'm assigned, and I like to think I have a pretty good sense for the right and wrong ways of going about doing so. But I'm not even sure I could land an interview with a FAANG company, let alone a job.
My feeling at work is one of constant vigilance. I feel like if I look away for too long the gremlins will start creeping in. And I'm not talking about some imperfect design or the odd code smell, I'm talking about dropping in on a PR two senior engineers have already approved and spotting a critical security flaw in the first 30 seconds. Or a data loading pattern that works okay with the five records they've tested against but would make 300 database queries per page for a realistic dataset. Or spend 75% of their CPU time hydrating date objects from timestamps that are then immediately discarded.
I think it comes down to a lack of inherent curiosity and/or interest and/or passion in programming. To me good programming is a craft—I won't go so far as to say it's as much art as it is science, but I think there is definitely an artistic element to it. Which for me introduces a need to do something well, rather than just ticking boxes and going home. "Painting the back of the cabinet", as it were. If business requirements force me to ship some monkey-patch fix, it gives me a discomfort I can't really put into words. I immediately want to replace it with something better, because I just don't like putting work I know to be substandard out in the world. I'm not even particularly invested in the product and services my employer creates, but if it's my work I want it to be good.
Something I often hear is "I couldn't work out how to make <solution we all know to be good> work so I just did <sloppy solution that will need workarounds five seconds after clients start using it>". It irks to me to no end because without fail, what "I couldn't work it out" always means is "the first thing I tried threw up a minor roadblock so I stopped trying". And it sucks because the worse a codebase gets, the more difficult it is to contribute something you can be proud of.
Have I just had the misfortune of working at particularly crappy companies, or are things really this bad across the whole industry? I'd really like to think it's the former, but I read articles like this and dread that it's the latter.
An engineer I work with told me “I don’t think I’m a rockstar engineer, but I put care into what I do, and I think that makes up for not being a rockstar”
Even though she doesn’t realize it, she’s the rockstar on our team.
In your examples it sounds like your coworkers didn’t put much care into what they were doing.
You likely work at the top of the food chain in your IT structure as a result? You put care into your work and get results, people leave you alone?
I am the person everyone calls when things hit the fan, when disagreements need to be settled, when unfixable things need to be fixed, when something needs to be figured out. Do I feel qualified, never, no. I don't feel I'd last one day at say Facebook, no chance, I don't have skills to fit into a team, to play nice, the patience needed to grind the political structures. I like my dark corner.
Is it this bad across the industry? Its way worse, there are more people in the industry than ever, finding someone that actually knows something is impossible.
Build a book of people over 5–10 year period and never, ever letting go of them, keeping those relationships alive.
Personally I do try my utmost on the patience and teamwork aspect. It might well be naive, and I’d much prefer to not have to, but I’d rather give the same feedback a dozen times, even if I’m despairing inside, than for anyone to feel like they couldn’t reach out for advice. Some of that is wanting to help my colleagues when they need it, some is the more self-serving point that if there is going to be a problem, I’d rather it be caught as soon as possible. Thankfully the company I work for is small enough that there are very little politics at play. There’s no risk of backstabbing or oneupmanship—if there was I would probably feel very differently.
Still, when I read the words “can we jump on a quick call” I know I’m not getting much done that morning.
> Build a book of people over 5–10 year period and never, ever letting go of them, keeping those relationships alive.
No worries there: while I lack both the skills and the personality to ever run a company, if I did somehow find myself in that situation I already have a small dream team of current and previous colleagues in mind. The sort of folks that are an absolute joy to work with.
> Have I just had the misfortune of working at particularly crappy companies, or are things really this bad across the whole industry?
It's not universal, but you might have to do a lot of searching. Personally, I think it's easier to find the right people in smaller companies, mostly because it's harder to hide in the crowd that way, but there are clever, dedicated people in companies of all sizes.
You'll do ok. Keep the fire burning, and keep looking for people who either share your principles, or respect them.
smaller companies are more exposed to customer demands. whether that makes for better or worse code depends on the team and company culture. the demand to ship something right this second and is existential for the company tends to prioritize shipping over well engineered code. At the opposite end of the spectrum, being totally insulated from such demands can lead to some really nice design docs, and code that might be the epitome of software engineering, but it also takes forever to actually ship anything because there's less of a forcing function, which also leads to complacency. there's a happy medium between the two that's optimal, though finding the right one is challenging.
also learning to say no is an important skill to develop. my current director asks the impossible just to get us to say no, and then we have a good back and forth on what's a realistic balance, like what features we can trade off for which time.
I don't know if you're correct or not, but I will say your experience mirrors mine.
I have seen more than I'd like of people who throw some code at an issue without much interest or care or curiosity about it and think that's ok. A former manager of mine was always looking for people with, what he called, "the fire". I guess I had it at the time since he hired me.
There are places for devs without that, and I've been in places that suffered for trying to get ONLY those people too. But there are plenty of bootcamp graduates in it for the money or (what they thought would be) job security, and nothing else.
It sounds like you'd be a brilliant developer by most standards, but have the curse of understanding the gap between yourself and a top 0.0001% Linux kernel contributing supergenius. Drop my consultancy an email in case we do enough revenue in 2025 that we want to hire for 2026!
The section about reading "the right books" is important. I tried reading some self-help books in high school, but after reading a few, you'll realize they are mostly "fanfic" as the author says. I noticed some other patterns in these books.
1. Constant self-questioning while reading - "Is this obvious? did I already know this?"
2. Lots of examples or stories
3. Try to turn a simple metaphor/slogan into a complete philosophy for life - i.e "skin in the game"
I read a comment, possibly on HN, about a college professor who tried an experiment on information recall. The first group had just raw information, and the second had the information crafted into stories with simple, singular ideas each. The second group by far did better at recalling the information than the first. People are story driven creatures, there's a reason our oldest epics are stories. That's why self help books follow this formula, because it works.
And like the other commenter said, there is a huge difference between reading something, understanding that something, applying that understanding, and finally mastering that application.
When it comes to self-help / philosophy in general, I've found that application is very different from knowing. I believe, selling yourself completely an idea/routine/process (however obvious or well-known to oneself) & build that natural instinct / capability in applying it (when the situation warrants), as if it was second nature, is the point of these books.
> Lots of examples or stories
Some books could be blog posts (btw, LLMs are great for questions like "summarize <widely reviewed book name> chapter by chapter" and follow up questions like "highlight key arguments, counter-intuitive points, novel ideas outlined in <chapter>") and some have just the worst kind of filibustering to bloat the page count; but the many stories / narratives are so one can identify self in at least one among it & consequently build a strong recall to its morals / conclusions.
> ... simple metaphor/slogan into a complete philosophy for life ...
Starting with Taleb at a young age was helpful for me, as he introduced me to the Narrative Fallacy. I.e, the easiest way to convince anyone of anything is to posit a causal chain with some neat story, and 95% of the population will absorb it uncritically (including me, at the time).
I'm asked if I read Cal Newport a lot, and I can't stand him because he makes some good points, some trite points, then relies on the examples and stories. There's a place for them, but he does it in a way that I don't find compelling.
I'm a bit sad that I didn't think of those three bullet points as I was writing this piece, as that's a great short list. It's also super funny that "Skin In The Game" is explicitly one of Taleb's books, the same author who inoculated me from the rest of the list, hah. Not that I think Skin In The Game is bad or anything, just a funny example.
Oddly, I think having concrete examples and storytelling are good, actually, and you do it a fair bit in your writing, drawing from your own experience.
(I don't do that - my writing is all abstract arguments. I should use concrete examples, but have trouble thinking of them. That's why I'm writing critical comments in Internet forums and not blogging.)
I get what you mean about how storytelling is sometimes a contrary indicator, though. When there is too much storytelling and the stories are too simple, it comes across as fake.
I think the best writers want to tell stories with additional complexity even when it doesn't entirely fit the point they're trying to make, because the world isn't really story-shaped. Stories are better when they're not too polished and the author isn't afraid to include contrary evidence.
The main issue that I have with self-help and pop-business books is that they are always way too long. They are forced to be because "books" are expected to be a certain length.
There's always one or two good ideas that you get early in the book, and then the rest is repetition and filler.
Because this issue is so common, I think that it actually is okay to just listen to a youtube video summary of most of these books.
My other trick is to always get the first edition version of the book; they tend to be shorter and clearer.
You might enjoy the If Books Could Kill podcast. They mostly cover self-help and pop-business or pop-science books. They talk a lot about the recurring patterns and sometimes surprising shared topics among the books.
Thanks for this recommendation. I've started with their Atomic Habits episode which is excellent. Critical thinking skills are an essential foundation before picking up this type of book. I'd be pleased to hear of any good books on critical thinking for teens.
Underrated habit - Even for people without diagnosed ADHD, there's a skill aspect to deep focus that is developed through experience and discipline. Habit is a shortcut to discipline.
What a lot of people see in themselves as ADHD is at least compounded by underdeveloped and (willfully) neglected skill in being able to focus. Not saying all, so chill everyone. But if you have self or professionally diagnosed ADHD, do you "exercise" and build your focusing muscles regularly by engaging in tasks that require focused attention? Do you discipline yourself away from the junk (doom scrolling, short video consumption)? Or like someone who is a servant of their affliction do you avoid what's hard and indulge in these behaviors that reinforce the problem?
TL;DR: The ability to focus is a perishable skill for everyone.
This doesn't always get a lot of traction, but I have medically diagnosed ADHD. The meds cause terrible and dangerous side effects for me, so I cannot take them.
I decided to actively train my focus in my early twenties. Over time I got better and better at it. I require a few prerequisites: well rested, recently exercised, not too hungry, have no meetings coming up, and keep my phone away. I'm able to engage my hyperfocus at will. Most days it lasts for 4-6 hours straight. I am able to engage it at least once a day.
This took many years to build up. It's fragile - easily prevented by distractions. But with the right set and setting, once it engages it's an incredible tool. I've accomplished things in 4-6 hours that would normally take me weeks.
I wish I could get the benefit with meds, but here we are. Maybe what I've built is the generic crappy equivalent, but it's all I've got and I'm proud I've gotten it this far.
For how I trained it, I started programming on the train ride home. I worked through low stakes programming puzzles from SICP. I found it worked best if I sprinted to the train station and ate something an hour before departure. I would open my laptop and just try to engage the hyperfocus. Many days I couldn't: people talking, train noises, being hungry, etc. Over time though I got better and better at it. Eventually I would be engaging as the laptop screen was opening. To this day ten years later opening a laptop screen engages the hyperfocus if all the rest of the requirements are met. Over a year I finished SICP, doing about one exercise a day. I then picked up another book of homework problems, then another, and another. Over a few years the skill strengthened, I found I could hold it for the drive home from the train station and keep going after.
It's harder at a desk, often I'll burn an hour or two before I can make it click. But once it does I can hold it even when getting up to go get food or going for a walk. I've gone to a cafeteria with coworkers or driven home while still in a "work trance" that picks right back up when I log in again. It's very strange being in hyperfocus on a programming puzzle while talking to someone over food. I can release it, but then I might not be able to engage it again that day so I often leave it running. Rude to my coworkers at lunch, perhaps, but I gotta make money somehow and this is how I do it.
I credit a large amount of my success to this tool. It's fantastic for just getting epic amounts of work done. I can spend hours tracing down a detailed bug, or building out a whole new module. In this trance state reading code feels as natural as reading English. Big transformations make perfect sense in ways I cannot describe outside the effect.
I've used it to write two books, build my own business, and make a living.
The point is a bit exaggerated and reality is more nuanced, but as a general principle, I agree that simply giving a damn about what you're doing can often get you miles ahead of people who just show up for the paycheck.
> I can't help but feel that something has gone dreadfully wrong in society in that we've decided to start incentivizing people with no talent or interest to participate in the technology space. Many of them are extremely wide awake in other areas, be it sports, art, mathematics, whatever. Unfortunately for complex reasons related to some sectors having more money than they know what to do with, large organizations being impossibly hard to run well, ...
While I agree with his point to a large degree, this line of thinking leads to some interesting possible conclusions:
1. Tech hiring processes, across the board, are "several levels" more sub-optimal than even people in the business complain about. Even when looking for fresh talent, maybe what companies screen for is wrong.
2. There are extremely poor financial incentives for any long-tailed vocation (professional sports, arts, etc). Addressing the problem the author identifies probably involves addressing this problem too, which itself is a rabbit hole.
> But since they're producing nothing anyway, or are a net negative to society accounting for opportunity cost
3. If the situation is so bad, why aren't companies training their staff directly, on the job?
4. We seem to never ask whether this opportunity cost is more expensive than Universal Basic Income because private and public sector decision making tends to be orthogonal these days.
I teach Software Engineering at the university level. I can definitely tell the students in my intro classes that are in it for the money and have no talent or real interest in software development. Provided they make it through the program it's anyone's guess how they'll do in their career assuming they even get a software development job.
> 3. If the situation is so bad, why aren't companies training their staff directly, on the job?
Short-term and wrong-headed thinking. Most places seem to consider all employees basically "fully trained", and bizarrely treat on-the-job training as a favour to the employee. This is probably connected (influencing, influenced by, or both, who knows) to how tech workers have short stints at each company.
Salaries going up in tech are an indication that there are not enough programmers. Most growth in the US economy is now based on programming/technology.
Oh right, it’s the dominating Matlab piledriver[1].
1+ book, playing the guitar, having this one weird hobby, being a semi-pro gymnast—insert whatever you want from your life experience in order to have a story frame to justify a long rant about how you are so good without even trying (or everyone else is a moron).
Reading is more of a facilitator and a start. Practicing is what makes things fall into place. And being interested enough to look up and try different things out.
> 1+ book, playing the guitar, having this one weird hobby, being a semi-pro gymnast—insert whatever you want from your life experience in order to have a story frame to justify a long rant about how you are so good without even trying (or everyone else is a moron).
Hah, I wish I could take credit for that, but the writing is pretty explicitly a claim that you can 80/20 a lot of domains (see Dan Luu's writing on Overwatch), then you spend a billion years practicing. I wonder how people are reading this stuff and going "Wow, it's all so effortless for this guy!"
I'm like, extremely untalented at many things and compensate with effort.
I very much agree with this premise. My skills fall into three camps: That which I have invented myself, from first principles; That which I have read one book on; and That which I am bad at.
One of the things I am bad at is finding books. Books are everywhere, most books are rubbish, and yet every book I've had recommended has been amazing. So, does anyone have a good book on finding good books?
I was interested in this, but my 3 runs in their recommandations engine were almost complete failures.
Their author list is plagued with homonyms.My first search had Dostoievsky in my 3 favorites. He was then recommended twice to me. It seems there are 7 distincts transliterations of his name.
Then I put 3 Italian novelists as favorites, starting with Curzio Malaparte. I was first recommended a Scandinavian poet. Other recommendations had 2 poets and one philosopher. Overall, nothing useful: either known, or definitely not for me.
My last run had 3 Russian classical novelists as favorites. The recommendations were a bit better, with two authors I'll try to read. There were obvious errors, like recommending Anrei Platonov then Andrey Platonov. And I really don't understand why I was recommended most of them, like Guillermo Cabrera Infante, or David Foster Wallace.
BTW, the site "doesn’t harvest your data" but their links to booklists are blacklisted by UBlock as adware sites.
If you go to the gnod homepage, you can see the literature map and it will maybe answer some of your questions. Sounds like you got 2 new recommendations at least already though.
Wow, this has existed for at least 10 years, although the domain has had some wayback machine snapshots since like 2002 but I was too lazy to pinpoint where the project started.
I love finding stuff like this that have been going for so long.
Yes I thought it used to be FOSS but perhaps it is not to avoid corporations stealing the capability.
Beyond that I find just asking someone also interested or finding a forum about the topic to be a good place to jump into the basics. Usually someone has already asked the question, “what else like this?” somewhere online.
I have a weekly meetup for an unrelated hobby but I find asking “anyone see any good movies lately” to be a great way to talk about both old and new movies and break the ice during the social portion. Sometimes someone drops something I haven’t heard of related to the old or new movie.
I can't suggest a book on it, but I think there's nothing wrong with just finding them through recommendations. If that's not happening organically, then there's:
1) recommendations/references in books you've read and liked
2) other books by an author you've read and liked
3) other books in a series (be it a novel, or some set of technical books on a particular theme for example) you've read one of and liked
I have started using large language models for book recommendations. I can be very specific about what I am looking for and the recommendations are hyper personalized. If you use some sort of tool that pairs LLMs with realtime data like Gemini the results are even better.
LLMs are actually great for book recommendations. Still not quite as good as looking up "HN best book on unit testing" for most topics, but great for niche things.
But, to be honest, my go-to move these days is joining a community and asking a well-regarded expert. I get all my recommendations from readers these days.
Does reading HN count as self-improvement? I can't say how many "leads" in technology or ideas I've got by spending time on this site; and I'm sure I never would have quit my job to be a solo founder if not for the stories on this site. (Too soon to say whether the latter was a good idea or not!)
For me HN is definitely less valuable than reading a book (obviously) but a lot more valuable than scrolling Reddit or social media.
I think you get a lot of knowledge kinda by osmosis that you would never get otherwise. Like I have a pretty good knowledge of the programming landscape despite only having worked with a tiny fraction of the tech. Gives you more knowledge of “what’s out there” and “what to google”.
But you could probably get 95% of that osmosis with like 10% of the scrolling time lol. In general HN is a good use of time, but usually I am specifically wasting time
I know people like to say "work to live, don't live to work" but I find it quite depressing to work with people who aren't interested in their job and make no serious effort to improve.
This is an ongoing conundrum for me. I feel incredibly fortunate to have a career doing something I enjoy doing and feel a natural compulsion to do the best I can in. But I also view work conceptually as a means to an end that takes up far too much of the years we are most able to make the most of our time on earth.
The square I can’t circle is my belief that it’s fine to make a living how you can without needing personal investment in your work, combined with the absolutely horrid effects that can have on the people who do care. I can’t in good conscience expect my colleagues to be as interested in software as I am, but jesus a lot of the time I wish the average level of interest was a lot higher than it seems to be.
We meet again! And yes, I try to keep the reading to 9-5, at least on technical topics. My team is free to read as much as they want when they're benched, and we tend to read in pairs so that we have discussion partners.
Although since we don't know if the businesses is successful yet, we'll see if that's economically rational!
I try to read at least 16 books a year (usually it turns out to be more). I cannot stress enough how much this helped me increase my skills.
One example: The Go Programming Language. I tried using Go several years back after using Java for years and my experience was horrible. Then I read this book and I understood the philosophy behind Go, followed all exercises. Am I Go expert? Far from it. But I am proficient enough to write my own tools or contribute small fixes to other teams at work efficiently.
That's a curious example. In my circles, Go is viewed as a very plebeian language.
Go is a practical language. It's for getting things done in (large and often changing?) teams. It didn't strike me as a language for people who are ambitious about improving their computer programming skills. Lisp, Haskell, Prolog, whatever J/K/APL... those always seemed to me like languages for the ambitious.
Damn, it feel like you either have to read a book or you’re a looser.
I do read book but at the end I would still do things my own way and not follow someone else ‘Best practice’ because life is made of trial and errors. There is value in failing something and getting back to it.
It reads like this author is a nerd, for lack of a better word, not someone I would enjoy talking to for extended period of time.
But it sounds like you're doing exactly what I'd do anyway. Read a book to load the brain with some useful concepts and philosophies, then go get lived experience.
My apologies for saying « not someone I would enjoy talking to for extended period of time. ». It’s not possible to know enough from someone to make that judgement by just reading a blog post.
No harm, no foul. :) You might very well be right, but I chose to interpret it literally (there are lots of people that are otherwise pleasant that I don't get along with and that's fine) rather than as an insult.
I actually had a huge laugh about it, because I was reading R.A Salvatore's Starless Night which is peak nerd material and not even a good book, I read this trash literally because it's D&D. Doesn't get much nerdier than that!
I absolutely hate reading tech books, I feel like my soul is getting sucked thru my eyes, but it's shocking funny how much better you can reason about the world with just a couple of philosophy books.
Peter Singer, even though I'm not really a utilitarian, really helped my thinking skills at university. Formal logic and political philosophy were probably the two greatest units I ever took!
If you can't stand reading non-fiction, read "literature" quality fiction. High quality fiction conveys deep concepts through narrative. You can put yourself in the minds of others and experience different ways of reasoning, communicating, and being. For example, you could read "Homage to Catalonia" by Orwell (non-fiction experience during the Spanish civil war) or "Animal Farm" by Orwell (short fictional allegory) and come away with some of the same ideas the author has reached regarding power dynamics. One is lived experience, another is the distillate of the same, perhaps. Of course, reading both is best, but this is just an example. Personally, I find fiction a less efficient protocol, but there are many cases where it is more profound, more impactful, and more impressive a learning tool than non-fiction, particularly as concerns the more elusive and esoteric.
There's a big gap between "doesn't care" and "wants to learn more" but there's ALSO a big gap betweeen "wants to learn more" and "actually learns more."
The post touches on this with "how do you know which books to read" but I think it's incredibly important to stress the motivation/execution part too of actually reading, learning, and practicing the new things.
This is just semantics I think. Certainly some people may express a desire to learn but not be able to motivate themselves to read a book. However people who actually want to learn are intrinsically motivated to read and don't fall into that group.
Certainly some of this is a question of degree (eg. motivation to read a blog post versus a longer, more comprehensive book), but the gap between reading and practicing is real and very important. Just as the OA is referring to practitioners who are too lazy to pick up a book, you also have people who go the opposite way and spend all their energy reading and theorizing without putting anything into practice.
It's the general attitude of "I want to know more" vs. "It would never occur to me that there is more to know" or "I would literally rather do anything else than learn more about anything".
It's even more general than that: effort is antithetical to cool. Being seen making effort is as embarrassing as failure itself, perhaps moreso -- there's a peculiar glory in spectacular failure. Parents these days are taught (well, speaking for myself here) to praise effort over results. As if parents can overturn culture so easily...
Do they like nerds more but refuse to learn as much as nerds because tech like CoPilot enables you to not care about technical details?
To me it seems like “school is lame” is more tolerant of nerds, not necessarily interested in learning more.
It’s like the rise of popular science fiction movie genre. It’s good at a high level but not as impressive at the ground level if most of it is super hero sub-genre movies with all very similar content.
Students probably fail because of external factors (depression, anxiety from poor home life) not because they’re a dumb-dumb. When the course work requires you to understand subjects that have no real world use or your curriculum doesn’t teach you how to apply the education, you’re incentivized to fail as well.
> Students probably fail because of external factors (depression, anxiety from poor home life) not because they’re a dumb-dumb.
Standards may seem harsh, but eventually it's way harsher to have no effective standards at all.
> When the course work requires you to understand subjects that have no real world use or your curriculum doesn’t teach you how to apply the education, you’re incentivized to fail as well.
True. If students are not interested in learning, they should have a pragmatic curriculum.
I agree with you! Correlation is not causation. Being particularly motivated about a subject causes you to read more books, and both combined cause you to improve on that subject. Setting the goal to arbitrarily read more books just because you think it will make you more successful will fail you in the long term.
The key is to learn not to ignore/suppress your internal drive.
Yeah, basically. Although the reason I venerate books specifically is that a great book is just amazing for personal growth. That's true for any great learning resource, but there are things about books specifically that I love, and some of that might just be sentimentality about the role that books have played in my own life. A great YouTube course just wouldn't hit the same.
Yeah I also kinda misjudged the tone at the beginning of the post. Commented prematurely. As for the rest of it, I actually sorta agree?
I know people who got jobs for DoD contractors out of college and are still writing the exact same matlab programs they were a decade ago.
But also most developers I know who’ve worked in a startup or small company are very committed to learning new stuff and mastering some tools. So idk I guess it depends where you’re working.
> Heck, you could probably eliminate almost all dud candidates during technical interviews by asking what their favourite tech book is, then only talking to candidates where you know enough to check if they've read that book.
You know, I bet this would actually work really well…
We've been floating the idea of giving everyone on the team Wednesdays off, fully paid, to read non-technical material while they're benched. We haven't done it yet because I pay rent and am worried that maybe we aren't good enough at sales to generate that much surplus... but deep down, I think it'll make a smarter team and that'll pay for itself.
And the only reason that it's non-technical material is that it's just assumed that people are reading every other day, and we thought a break into psychology/fiction/whatever would keep the brain well-oiled.
Speaking of, I found interesting (and thinking about it some more, I am not even sure why I find that interesting...) that you seem to be exclusively talking about technical books in this posts, yet "tech book" is only directly mentioned once, towards the end.
Probably because my audience is probably 90% software engineers, and many of them have more experience and technical skill than me. I only really dare to advise people in the first 1-3 years of their tech journey on actual tech topics.
> I wrote the entirety of my Master's thesis code without version control because one of the best universities in the country doesn't teach it
They probably do, but it's not under the university's college of engineering and they don't call it "version control". Instead it's a subject covered in humanities courses and they call it "textual criticism".
The returns probably manifest at a senior level, where job security is already a non-issue and one has the privileges and power to make this knowledge actionable. This could be why the readers find it redundant and stick to coasting. I'd like to finish reading the Algorithm Design Manual, SICP and others, but it won't get me my next job, because I won't even be in the same room as someone who cares without jumping through other hoops first. It gets shuffled at the bottom of the pile. On top of it is: networking, building bs, contributing to bs, overengineering a bs blog where I'll write bs. I just want to work my 9-5, man (and do it well), but in my case it's a liability not to.
I always think about this - how many great engineers might be out there that are hard to spot/hire because there's no indication anywhere that they're great? And simultaneously, how many crap engineers out there are hired simply because they know how to play the "thought leader" game?
And as a thought exercise: How would you yourself like to be found / hired? What would you do to show the company that you are indeed great / knowledgeable? Is it Leetcode, or is that too much to ask? Is it a take-home project? Is it a lengthy interview that shows off your skills? A lengthy probationary period? What would you be willing to do to make up for your lack of "bs"?
I think the canned answer will be that drive and determination will lead to results if the innate talent is there. Their heuristic then will be that if they're hard to spot, they can't be that great to begin with, because aspiration would lead to great outcomes. I think this is an unfair view.
I've jumped through all those hoops to get hired. It would be nice if the years and proof of experience on paper were enough - that's how I'd like to be hired - but it's not enough, apparently.
Find them in their social life and offer them a job. These people are satisfied with life; they are not looking for more. Many of them are so effective because they see through problems; however, this can also make it easy to see how empty a corporate career is.
Your question sounds like, “How can I convince people who are already winning at life to win at life for me instead of for them?”
But yeah, broadcasting has been great for my career. I don't even broadcast maximally employable things (but maybe that's a way to stand out) and am not even trying to get hired, but putting yourself out there does good things.
Yeah, this is probably a sad truth. Something weird is that, as a consultant now, no one asks me to jump through hoops. They just talk to me, I provide sensible guidance and insight, then we get paid to work.
I have absolutely no idea why companies roughly know how to hire private consultants at a bajillion dollars a day, then basically bully people with Leetcode or lame panel interviews, but they do.
>> I got the sack, very traditionally in Britain, I got the sack on Christmas Eve.
I remember how NCC Group told me not to worry about my health insurance, because it would stay good through the end of the month, as they fired me, with no stated cause, no notice, and no severance, on Halloween.
Competence can put you in a lonely place. In the best case, you get talented junior developers to train, and then you lose them because they’re too good to be concentrated with you in one part of the organization, or because they realize how badly underpaid they are. Regardless, you may never reach a point where anybody can meaningfully critique your work.
Edit: this is not to disparage competence. It sure beats the alternatives. Go read a book. Please don’t let it be Design Patterns, that one has already done enough damage.
> This led me to Betty Edward's Drawing On The Right Side Of The Brain, a book whose title profoundly upsets me as someone that left psychology due to the field's horrendous epistemology.
I was hoping that the author revisited this at the end of the piece. We see this line of thinking on HN all the time. Perhaps judging an entire field solely on epistemic grounds is a form of all or nothing thinking?
I'm the author. I've been meaning to write something about this, but for context, I was a very strong psychology student, completed my degree, learned most of my early computer science/statistics from a clinical neuropsychologist, and can get a clinical license in about two years if I want to do that. I'm like, still deeply into psychology in many ways.
But the epistemology of the median practitioner and academic is ridiculously low. I'm now convinced that they're not actually that worse than other fields though, it's just that clinicians lead a feedback mechanism as obvious as an exception being raised so they never improve to some baseline floor.
Paul Meehl's influenced me deeply on this topic, as did Gregory Francis' critique of Paul Piff's (great name) terribly conducted yet ultra successful work.
Well, there's a couple of things going on, right? One is whether we it's a bad idea to judge an entire mass of literature because of its epistemology and the second is whether the OP's claim that psychology has horrendous epistemology is valid.
I'd say that judging an entire mass of literature because of its epistemology makes logical sense. However, in practice, it's not possible to make a judgment as to 'what the epistemology of an entire field is'. What would that even mean? Does OP think that every psychologist has an analogous enough epistemology that anyone can claim what the field's epistemology is? I think not.
Well that's a thorny question, now isn't it? I mean, if it was so clear what 'epistemologies' exist in any field, then there would be little need or interest in the study of philosophy and history of science, no? If it was clear, then I think one would simply state what the epistemology of the field is.
That philosophy and history of science are so successful seems to suggest that the way of the scientist is both multifarious and difficult to pin down. I'm skeptical about using either the conscious report of the practitioner of psychology or the labels we may ascribe to their behaviors to triangulate on what their epistemology could be.
Aren't positivism, anti-postitivism, post-positivism, experientialism, and critical realism among others we can rubric psychology or psychological thinkers or results against?
Well, my understanding is that we have not yet found any clear scientific method that will be consistently 'the one' to choose at any time. There are a few criteria that generally stand out, but a general method--no. And if there's no general method, then how can there be a general epistemology?
I mean, psychology isn't actually paradigmatic yet, is it? I don't think there actually is a general method throughout the field beyond surveys and null hypothesis significance testing--but those are too broad to be particularly symbolic of psychology imo.
In that sense, I'm not sure what value the list of perspectives you provided have i.r.t to what scientists actually do in practice and what kind of practice is successful.
Epistemology is beyond the realm of science. All I desire is for folks to be transparent and have some consistency surrounding the epistemological basis for their agreement or disagreement with particular facts.
Instead what I see, often here, is that folks switch epistemic frameworks in order to prove or rationalize their beliefs. RCT becomes the threshold for knowledge when we're discussing psychology and sociology and trust experts or "science" or vaguely "logic" becomes the basis when talking about "hard" sciences. They typically reinforce the writers preconceived validity of the topic rather than acting as the foundations of belief, and I hope we can agree that's the opposite of how it is supposed to work.
>Then there are engineers (and people in every profession) who never try for the entirety of their careers, and this is the majority of every profession.
I find this pretty ridiculous. It's just that the standards are pretty low in IT. And being a good programmer just isn't a job requirement in the industry. I don't know a single case where a someone got fired for writing bad code.
Through the blog I get to meet a lot of people from all walks of life, and this has broadly been the consensus, with some exceptions. "Never try" is maybe unique to I.T, "remain fundamentally incompetent or try incorrectly" is very common.
I was horrified to hear surgeons say that they view their field this way. Lawyers seem to be a bit more optimistic on average, but I still hear horror stories now and then. But yes, the floor varies field-by-field, though the broad point I want to make is that I.T is not uniquely bad.
See: HR, recruiters, real estate agents, etc. I had a friend's birthday party where he and all his guests worked in hospitality, and the stories I heard did not at all indicate that the industry is run sensibly.
EDIT: Oh, and of course, I talk to journalists now and they say the exact same thing once the microphone is off.
One of the most important changes in the recent decades is that the bar to become a journalist (as in, someone that wields the 4th power of broadcasting) has been lowered tremendously (from print / radio / tv to bloggers / wiki editors / podcasts / home video makers / streamers...).
P.S.: Congrats, you are a decently powerful journalist too now.
What about those very capable engineers that do not read books? I'm talking about the independent and original thinkers that solve problems their own way. They exist and I'd prefer to be them, actually. I haven't quite figured out how to engage with the craft at that deeper level so, instead, I read books...
I love this guy's cynicism and no-bullshit attitude. As someone who lived in Melbourne and has suffered Deloitte's "technology" department, the frustration and anger is warranted.
Like everyone else, Australia has tech brain drain and loses its best software engineers to USA. But unlike almost everyone else it's a very rich country and so can still afford to spend billions of dollars training and deploying engineers who "haven't read one book" to quote-unquote 'solve' domestic and regional technology problems. It's a giant make-work program to keep people busy while property speculation and resource extraction drives GDP growth.
Author here! Firstly, thank you for the kind words.
And secondly, this is quickly becoming apparent. I'm trying to run sales in Australia, my whole network is here, etc, but most of our good leads are at American companies. I know some smart Australians, but there's less appetite for quality work here, because that would require changing things and that's too much risk for people who just want to tap out and retire.
I'm putting all my work and in-person sales time into Australia, and we're still walking away with American clients despite the timezone differences and other obstacles. In Australia, the line has thus far been "I know we should do better, but no one will ever approve spend when they just want to wait out the clock for a new job". This is probably common in the U.S too (it's common everywhere), but the line with American clients has more typically been "We need this done to a really high standard because we think it's competitive advantage - can you start tomorrow?"
Most of EU countries havr some kind of consultancy embedded deep into the their core financial and governments and other critical institutions. The EU commission is full of barely competent consultants developing some sort of applications.
Probably getting EY or Accenture to solve the problems is one of the key steps in becoming accepted as a 1st world country.
I get it, I live in Belgium and being a freelancer is truly the only way to make a more than decent wage(more or less silicon valley salary with 36 hours week). Problem is that is not really fair
Australia has amazing CS departments that produce more top talent computer scientists per capita than any other place I've seen.
They then export those engineers to the US and Europe and import people by the boat full who can't code their way out of a for loop with a map and compass.
I studied with some very cool people. One joined my consultancy, and the other won a million dollars in a machine learning competition before we graduated.
Unfortunately, yeah, we were all removed from the workforce in a conventional sense almost immediately. I run my own business and most of our clients are American, my co-founder became an executive within four years, and the last guy went into private consulting for the mining industry.
I know of a local business with a great engineering culture, and they told me that they've run forty in-person interviews to fill a single slot in the past. And their team is really overloaded with Americans that immigrated to Australia for non-career reasons.
>And their team is really overloaded with Americans that immigrated to Australia for non-career reasons.
Which is ironic given how bad everything has gotten since the end of covid. From my circle of friends _everyone_ has left and I'm half way tempted to move to Switzerland to work for a competitor in the field who offer American salaries with European social services.
This resonated with me so many of my thoughts recently. This inherent lack of skills that could never make up to the best of the best, even with garangutan amount of efforts, is a depressing thought.
On the other hand, one can be sufficiently ahead of the competition if they find that one resource and master it well. How does one go about finding them?
I often resort to asking real folks via email, recommendations on HN or Tildes, or sometimes even on Reddit, all aimed at collecting opinions from people who have experience and developed a good taste. However, this sometimes yields bad or even no results. I wonder how some of you folks here on HN find meaningful and helpful resources on anything of interest.
Author here! You might like David Whyte's writing on "genius". It's sad when you want to be the best of the best in a specific thing, but almost anyone can blend their natural aptitudes in a few distinct fields to the be "best of the best" in something unique.
I'm an okay programmer, and the general opinion from clinical mentors here is that I'd be an above-average psychologist if I wanted to get into it, but I'd be one of the only professional software/professional psychologists in the country if I multiclassed.
For finding resources, I'm souring on some Hackernews material as I become more skilled and cure some Gel-Mann Amnesia, but generally speaking it's still a great place to look for book recommendations.
Another great tip is to check Goodreads lists from people you admire, or to find recommendations that include other material you find good. For example, I like Taleb's Black Swan. I found Keith Johnstone's Impro from a Reddit comment that that included Black Swan in the list, and repeat that trick ad infinitum.
I don't believe the author is saying you should trust someone who has only read about a job to do the job.
Maybe your illiterate mechanic is great. In every case, a professional will be better by absorbing the experience of others, even if just marginally. Learning from experience of others without having to spend the same 1:1 time and cost is a huge win. Certainly we would all agree on that point.
Reading is how knowledge gets transferred indirectly across time and space. I agree there's no better signal of effectiveness than history of results, but with two people who 'get results', considering what can get lost in such metrics, the one who is driven to keep learning from others outside their direct circle is almost certainly better at what they do.
As applied: Two mechanics who 'get results' exist. One spends their spare time pouring over Internet forums to learn about emerging issues, diagnosis techniques, tools improvements, part performance over time, etc. The other goes home and plays WoW, their only new input comes from what arrives at or emerges in their shop. I would always favor the former type. No different with any domain.
You can become functionally capable in any mainstream programming language with some working examples, newbie hello world tutorials, maybe a debugger, and/or stack overflow. You are unlikely to get past an intermediate level of skill, and you won’t understand the deeper patterns that motivated the language designers, but you can add features and write useful applications.
I’m betting that all of us operate that way a percentage of the time. I’m not a zsh expert but I have to edit my zshrc file.
If that’s being a monkey, I guess I’m a monkey. But I bet you are one as well sometimes. I have empathy for people doing their best outside their area of experience, because all of us are that person.
If what you are talking about is people employed as professional C++ developers who have a very superficial understanding of the type system, that’s different. But I still don’t think the term “monkey” applies.
Every time Nikhil Suresh comes up on hackernews I look at the comments for insults and wait to see how quickly they come up on his 'compliments' page in his blog. So far all 3 of them appear to be there! I don't know how he can be this obsessive about people's responses to him while also running a consultancy.
Of course, you think if he has this much time to respond to insults he would have time to respond to my email where I said hello :(
The joy of not having many clients yet, haha. Also sorry that I haven't responded to the email. :( I currently have 451 from readers and have had to accept that I can't get to all of them.
I will never recover from this psychologically or financially. My life will be neatly divided into before this comment, and after this comment, and ever shall I long for the former to no avail.
> I've only ever written tests for personal projects because no employer I've ever seen actually had any working tests or interest in getting them, and I wrote the entirety of my Master's thesis code without version control because one of the best universities in the country doesn't teach it.
I'm sorry, but after reading this sentence there is no way that this man is a great engineer. And I don't care how much he studies. This is unprofessional. Pretending you don't need version control or tests is wildly arrogant.
He did't use version control for his master's thesis because he never even knew about version control until after he left university. And he's saying that when he's in control of his own time (i.e., for his own projects) he writes tests; but that when he's being told what to do by someone else, they don't want him to spend his time writing tests.
Yeah, like, these are explicitly bad things. I have no idea how the commenter above thought those were brags, those are self-owns. My Master's thesis took 5x longer than it should have because there were no tests or version control, I absolutely limped through it. I'm still not confident some of the results were correct.
But it's also crazy that like, at no point did a single professor go "Submit a git repository, you morons". I was studying at Monash, which is a well-regarded institute in Australia, and I'm now pretty sure that most of the staff didn't know what Git is.
All four of my employers before I went into private consulting didn't use version control either. It's whacky out here.
To build up that empathy, being around children or the elderly probably helps. Also, helping a relative who is struggling but you're on their side.
Also consider the difference between a native speaker of a language who just kind of knows how to say what they want to say, versus someone struggling to learn the language.