November 30th, 2024

You must read at least one book to ride

The author reflects on their engineering and artistic journey, emphasizing continuous learning, contrasting engaged professionals with complacent ones, and critiquing the tech industry's incentives for unqualified individuals.

Read original articleLink Icon
FrustrationCuriosityCynicism
You must read at least one book to ride

The article discusses the author's reflections on their journey as an engineer and artist, highlighting the paradox of feeling both competent and inadequate in their professional life. The author acknowledges their success in the engineering field, having been recognized as one of the best engineers despite a lack of deep technical knowledge. They contrast their experience with that of other professionals who seem to "sleepwalk" through their careers without striving for improvement. The narrative shifts to the author's exploration of art, where they initially struggled but eventually found success through a single book, which transformed their drawing skills. This experience leads to a broader commentary on the importance of continuous learning and the disparity between those who actively seek knowledge and those who do not. The author emphasizes that even minimal effort, such as reading one book, can significantly enhance one's skills and understanding in any field. They also touch on the competitive nature of various professions, illustrating how levels of expertise can vary widely, and express concern over the incentives in the tech industry that allow unqualified individuals to thrive. Ultimately, the piece advocates for personal growth through education and the pursuit of excellence.

- The author reflects on their dual feelings of competence and inadequacy in engineering.

- They emphasize the importance of continuous learning, citing their improvement in art from reading one book.

- The article contrasts engaged professionals with those who "sleepwalk" through their careers.

- It discusses the competitive nature of various fields and the disparity in expertise levels.

- The author critiques the tech industry's incentives that allow unqualified individuals to succeed.

AI: What people are saying
The comments reflect a range of perspectives on the themes of competence, continuous learning, and the tech industry's challenges.
  • Many commenters express frustration with the lack of genuine effort and curiosity among some engineers, contrasting them with those who strive for improvement.
  • There is a shared belief in the importance of reading and continuous learning, though opinions vary on the effectiveness and necessity of reading specific books.
  • Some commenters highlight the disconnect between theoretical knowledge and practical application, emphasizing the need for hands-on experience.
  • Concerns are raised about the tech industry's hiring practices and the incentives that allow unqualified individuals to enter the field.
  • Several comments reflect a sense of disillusionment with the industry, questioning whether the standards for competence are sufficiently high.
Link Icon 33 comments
By @skybrian - 5 months
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.

By @deergomoo - 5 months
> 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.

By @yellow_lead - 5 months
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"

By @ksubedi - 5 months
Starting to read again has significantly increased my attention span and ability to focus. It has also made me crave doom scrolling less.
By @63 - 5 months
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.
By @DavidPiper - 5 months
> 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.

By @keybored - 5 months
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] https://ludic.mataroa.blog/blog/i-will-fucking-piledrive-you...

By @wizzwizz4 - 5 months
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?

By @082349872349872 - 5 months
> I aim for things that people spent a long time thinking about to prepare, in order that I may learn from them in a much shorter time

https://news.ycombinator.com/item?id=40147526

By @gwd - 5 months
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!)
By @hermitcrab - 5 months
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.
By @pfoof - 5 months
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.

By @aucisson_masque - 5 months
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.

By @asdasdsddd - 5 months
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.
By @fancyfredbot - 5 months
It's not the reading books, it's the wanting to read books.
By @chamomeal - 5 months
> As a rough rule, I study more than the average engineer around me by up to two orders of magnitude.

How in the world do you study 100 times more than average engineers??

By @codazoda - 5 months
I am most productive, from day to day, when I’m also reading. It somehow strokes my mind and encourages my creativity.
By @cxr - 5 months
> 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".

By @slothtrop - 5 months
Prefacing that I agree -

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.

By @thaumasiotes - 5 months
>> 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.

By @sevensor - 5 months
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.

By @kelseyfrog - 5 months
> 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?

By @talencorimas - 5 months
>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.

By @BugsBunny1991 - 5 months
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...
By @thundergolfer - 5 months
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.

By @DavidPiper - 5 months
> A colloquial tone (like mine, sadly) tends to lose a few points, though it isn't a knockdown if the topics are nuanced.

Another "I take your point, but..." moment.

Robert Nystrom's books are some of the best out there for any software engineer.

By @abhayhegde - 5 months
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.

By @harrall - 5 months
Reading a book is like a mechanic learning how to work on cars without ever touching a car.

Is reading helpful? Absolutely.

Does it mean you would trust them to work on your car? Absolutely not.

Would you trust a mechanic who didn’t read any books? I sure wouldn’t discount them because of that.

At the end of the day, there is no signal of someone’s effectiveness better than their history of getting results.

Measures like whether you read a book or keep up on a field may be correlated but are largely meaningless.

By @arisAlexis - 5 months
A novella about the psychology of erudite software engineers.. well written but..
By @itai_the_punk - 5 months
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 :(

By @radar1310 - 5 months
You definitely have no issue writing long and boring articles.
By @loeber - 5 months
> 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.