The Magical, Full‑Stack Developer or The Intellectual Shmoo

Software, at least traditionally, was made in layers and parts, and each part has its own domain and its own technology. Developers know multiple languages and multiple domains, i.e. their skills gained from training and experience, but no developer knows every language and domain, however inconvenient this is for managers, and therefore recruiters. A team would have members who brought different skills and experiences.
A recent innovation is the invention of the Full‑Stack Developer to get exactly the skills needed in one engineer

“Stack” is a description of technologies that interact with each other. Originally, the stack extended down to the operating system and the binary network protocol and the physical electronic connections, and now the most common range of the stack is the data store (e.g. Redis, SQL) to servers (e.g. APIs) using communications protocols (e.g. REST, Thrift, Protobuf, Kafka, etc), towards the user interface, usually as a browser application or mobile app (e.g. React, Flutter)

As the examples in the description above indicate, each part of a stack can use completely different technologies from another, which makes the term “full‑stack” as meaningless as “can fix vehicles”. While one person might know a particular stack’s technologies, they are unlikely to know all of them well simply because no one has time to use all those technologies regularly. Recruiters, managers, and training vendors, however, happily weald the term to mean “whatever the employer needs at the moment”. Woe betide the FSD who does not also have every specific technology their employer might use in the future as well

The market is ready for a new type of software developer training: Shmoo Training. Shmoos were an imaginary animal in the Lil’ Abner comic strip started in the 1930s

Shmoos are delicious to eat, and are eager to be eaten. If a human looks at one hungrily, it will happily immolate itself—either by jumping into a frying pan, after which they taste like chicken, or into a broiling pan, after which they taste like steak. When roasted they taste like pork, and when baked they taste like catfish. Raw, they taste like oysters on the half-shell.
They also produce eggs (neatly packaged), milk (bottled, grade-A), and butter—no churning required. Their pelts make perfect bootleather or house timbers, depending on how thick one slices them.

And that is what a perfect Full‑Stack Developer is: a completely fungible solution without overhead, applicable to any problem or task, swappable without complaint or cost, and selflessly devoted to their ultimate contribution to their consumer


Now read this

The Detail-Backfill Pattern or DataLoader Before It Was Cool

While optimization is often premature and, therefore, the root of all evil1, using an efficient design for data access is choosing a good path rather than paving a bad one. A common task for APIs is to retrieve a “page” of master rows... Continue →