❯Schrödinger's Engineer and the Illusion of Experience
Experience is sought for, but also not.
It is no longer a question of imitation, nor of reduplication, nor even of parody. It is rather a question of substituting signs of the real for the real itself.—Jean Baudrillard
Put it simply, a Schrödinger's engineer is an engineer whose experience is considered both indispensable and irrelevant at the same time.
Working in engineering is becoming a simulation built on an increasing sequence of abstractions. We can identify at least a few:
- Stage 1: Early computing. Code directly manipulates the machine (Assembly, C). The code is a faithful reflection of what the hardware is actually doing.
- Stage 2: High-level languages and frameworks. We abstract away memory management and hardware specifics. It’s helpful, but we are beginning to hide the "real" machine.
- Stage 3: Cloud computing, serverless, and Kubernetes. The "server" no longer exists as a physical entity you can touch; it’s an abstracted pool of ephemeral resources.
- Stage 4: AI layers, modern tech stacks, endless "services". The industry now interacts entirely with symbols of symbols. Engineers build systems to orchestrate abstractions that manage other abstractions.
The symptom we observe nowadays, is that the industry believes it needs the latest framework, a highly specific cloud architecture, or an engineer certified in a hyper-niche tool (with minimum 12 years of experience), because it is worshiping the sign (the trend, the tool, the credential) rather than the substance.
An abstraction creates value when it reduces the total complexity. It creates negative value when the abstraction itself becomes another source of complexity.
We can draw a couple of conclusions. First, as we produce higher level abstractions we lose contact with the foundational concepts that got us where we are. The abstraction is not the goal, it's a useful tool to build a functional system. The tool does not bring you closer to the solution, understanding the problem does.
Second, there's a trend of building complex systems for the sake of complexity, perhaps because we confuse between the tool and the problem or because showing a complex system carries social rewards. At some point along the way complexity has become easier to justify than simplicity.
Hyper Collaboration
Another idea I've been thinking about is the following. As we raise the level of abstraction and create more sphisticated tools, many feel less compelled to learn the fundamentals, as if they weren't so imoprtant anymore. It's hard to say if that type of experience becomes inherently less important, some say it's no issue, AI will take care of things. One thing I've noticed is that incentives change from understanding and study, to "likability" and "personality".
Real experience though brings skepticism of novelty, this reality partially clashes with soft personality traits. Experienced engineers are opinionated and challenge assumptions because they know that's where the real problems are. They ask questions that reveal inefficiencies and point at difficult tradeoffs which challenge people. To a rigid corporate structure, these questions sound like "pushback" or "lack of alignment." Even if those questions are well-posed and crafted with appropriate language, a denial doesn't feel as good as an approval.
I want to underline that I'm not suggesting closing yourself in a mental box and being uncollaborative as a course of action. Rather, I'm pointing to a trend that places greater weight on likability than on many other characteristics typically associated with experience.
Hyper-collaboration is one fruit of this trend. Modern work wants you to spread yourself around the office in an almost obsessive manner. But a busy engineer hardly has the time to do that. For example, Issue tracker tickets are broken down in a dozen subtasks to give live up to the idea of "collaboration", but this way of working only slows things down and increases the chances of frictions and misunderstandings.
Copy-Pasting from AI
Another consequence of living in abstract-land, is summarized by just copying AI's output. To be precise, this is specifically due the AI abstraction. This is has interesting consequences I will perhaps speculate on in another article.
I'll briefly say this: some people say that code is just a means to an end. I'd say it's clear that much of human attivity is well more than just that, and it's because we consider it more that we have elevated certain fields of study to the point where they are now. Programming, software development, engineering: all represent more than just the task, for many of us.
Conclusion
Companies pay a premium for veterans, sometimes, not to leverage their wisdom. They make seniors work with hands tied behind their backs, walking a pre-established path that is hardly optimal. In other words companies claim they want experienced people for the solutions they can offer, but at the same time they already have the solution in mind.
Management is made of mere mortals just like you and me. I know much of management is not blind to the simulation, they do understand they are contributing to create difficult situations and frictions or at the very least, they are not making things easier even when they could. To be real, there are cases where also management has its hands tied. They respond to a different set of pressure levers. But I think that's hardly an excuse for constantly selling vacuous slogans.
If a company has already presupposed the solution, they do not need experience. Until organizations realize that true seniority is defined by the license to say "no," the hiring market will remain an expensive theater where wisdom is bought at a premium, only to be locked in a room and ignored.