rw-book-cover

Metadata

Highlights

  • how some software engineer was asked to complete a technically complex, jargon-filled coding challenge over the phone in order to get a job. He did well enough on the call to get an offer, but after he started the new job, he realized it wasn’t going to be the academically challenging role he was hoping for. No, he’d just be building basic CRUD applications for the web with a legacy system haphazardly running on whatever virtual machine could be found. (View Highlight)
  • With that in mind, the industry’s state makes sense. Just like plumbers, we are paid to know our tools and understand how they work together to make a usable piece of equipment, not to reinvent working technology or spend 80 hours optimizing something that 5% of our users will use. (View Highlight)
  • Part of the problem is that we over-engineer the software we work on. I am guilty of this as well. (View Highlight)
  • Now you’ve sold yourself to an investor as an AI/Blockchain/etc. company, so you’ve got to hire engineers who do that thing, even if you’re not sure it’s actually going to help you build a better business or not. This means you’re going to shun candidates with 10+ years of experience in existing tech to hire slick kids who jump from buzz-word to buzz-word chasing trends. It’s like hiring a plumber with 3 years of experience who invented his own tools: high risk, very low reward. (View Highlight)
  • living in a world where most “software engineering” is essentially plumbing (View Highlight)
  • This isn’t a popular opinion among software engineers, but I believe that many in the field are overpaid relative to the difficulty of the work they do (View Highlight)
  • we can’t stop learning if we want to remain relevant and well-paid. Keep going deep and wide in your knowledge, and learn how to filter out the hype from the truly ground-breaking technology. (View Highlight) Update on 2024-06-03: with Foundational models this is even MORE true.