Software engineers solve problems August 17, 2020 on Drew DeVault's blog

Software engineers solve problems. A problem you may have encountered is, for example, “this function has a bug”, and you’re probably already more or less comfortable solving these problems. Here are some other problems you might encounter on the way:

  1. Actually, the bug ultimately comes from a third-party program
  2. Hm, it uses a programming language I don’t know
  3. Oh, the bug is in that programming language’s compiler
  4. This subsystem of the compiler would have to be overhauled
  5. And the problem is overlooked by the language specification

I’ve met many engineers who, when standing at the base of this mountain, conclude that the summit is too far away and clearly not their responsibility, and subsequently give up. But remember: as an engineer, your job is to apply creativity to solving problems. Are these not themselves problems to which the engineering process may be applied?

You can introduce yourself to the maintainers of the third-party program and start working on a solution. You can study the programming language you don’t know, at least as much as is necessary to understand and correct the bug. You can read the compiler’s source code, and identify the subsystem which needs overhauling, then introduce yourself to those maintainers and work on the needed overhaul. The specification is probably managed by a working group, reach out to them and have an erratta issued or a clarification added to the upcoming revision.

The scope of fixing this bug is broader than you thought, but if you apply a deliberate engineering process to each problem that you encounter, eventually you will complete the solution. This process of recursively solving problems to get at the one you want to solve is called “yak shaving”, and it’s a necessary part of your workflow.

Articles from blogs I read Generated by openring

Colorado SB26-051 Age Attestation

Colorado is presently considering a bill, SB26-051, patterned off of California’s AB1043, which establishes civil penalties for software developers who do not request age information for their users. The bills use a broad sense of “Application Store” whic…

via Aphyr: Posts March 6, 2026

npmx: A Lesson in Open Source's Collaboration Feedback Loops

npmx launched today, and witnessing its incredible development journey has taught me a lot about what I’m calling the collaboration feedback loops of successful Open Source projects — patterns where every contribution to a project makes future contributions…

via Vlad's Website March 3, 2026

Status update February 2026

Hey there! 4 months since last time? But I wrote in between! Let’s start. hare-lex, hare-template # I ended the last year with something I’m really proud of. hare-lex and hare-template provides really good tools for Hare users. hare-lex is based on good graph…

via Willow's feed February 26, 2026