I was thinking about how to properly communicate the value of software engineers as individuals, basically “why should you hire me specifically?”
In The Before Times, the answer was “I create code to solve your business problem”.
Two things have changed since The Rift.
Nowadays, the people with the business context have access to generate code with LLMs, and that code can usually do something useful (at a local POC scale). Business people were already busy using things like fivetran, zapier, airtable, notion, sheets/excel to become less dependant on interacting with The Backlog. As long as they don’t get the impression they are doing Software Engineering we’re all good.
Glossary
- The Before Times
- Prior to the proliferation of LLMs, the software world had very different unit economics, bottlenecks, and operating procedures. There was always a backlog of requests that grew faster that you could chew through them. Humans wrote documentation only for other humans. Internal tooling was rarely bespoke and was delegated to awkwardly duct-taping together pieces of different SaaS vendors. Everything was done by hand, even the things we didn’t want to do by hand. If you wanted to automate some of that hand-doing, the automation had to be done by hand.
- The Rift
- Now that code is cheap to generate and anyone can do it, there exists a disagreement as to whether or not Software Engineering is dead. Those convinced in death are the vested interests (LLM vendors, executives) those who are not are mostly the aggrieved party (namely software engineers). The proponents often misunderstand what Software Engineering is (it’s not really writing code), and tend to have the least experience building on or with LLMs at scale. The Rift is not just wether or not we are there yet, but whether we will ever be there (or should even want to be there).
- Software Engineering
The act of:
- theorizing a model of a business and technical domain
- abstracting that theory into automations
- updating those automations congruous with external feedback
All while maintaining or improving system coherence. Generally speaking, writing code is the lowest leverage task in the stack.