My dad used to tell me about an old car he used to have—the Chevrolet Chevette. It was an inexpensive compact car with rear-wheel drive from the late 70s. As he described it, “all the thrills of high-speed driving at low speeds.”
That’s how I feel about the JavaScript ecosystem sometimes. There are so many dependencies and libraries that dealing with breaking changes, performing security updates, and figuring out subtle bugs between versions is a high-scale activity. The problem is, you have all the thrills of high-scale software development even on small-scale projects.
(Although maybe it’s more of Pinto which had a habit of exploding into a fiery mess when rear-ended).
See also:
- Frontend JavaScript toolchains trade off ease of adding dependencies over bundle size
- TypeScript undermines the value of the JavaScript ecosystem and static typing
Links to this note
-
There Is No Software Maintenance
In There Is No Software Maintenance by Henrik Warne, the author argues that software maintenance is just product development. Since software is never “done”, all of the things we call maintenance such as bug fixes and improvements are feature enhancements and iterating on the original feature.