huronbikes

I am not a Software Engineer

I am not a software engineer. I know because I was told this 23 years ago back when I was starting. I was "a good hacker" according to my coworker at the time but not really an engineer.

I'm Still not a Software Engineer

23 years on I'm being told what the software engineering is. I need to develop skills for the "new agentic paradigm". As far as I can tell, those skills are to ask the Waylon Smithers machine to make no mistakes. To tell it it is an expert software engineer. The future of software engineering is to use a program that does not have deterministic output to write programs that do. I watch old colleagues go this route. They are software engineers.

I am not a software engineer. I believe in silly things. I believe code should be readable and comprehensible to software engineers (which I remind you I am not). I believe code can be efficient and well reasoned. I believe when a machine writes code, the machine should produce the same output for the same input. After all, reproducibility is hard enough when working with a live system, why should code get built on shifting sands?

I try to encourage others I work with to understand things, to question things, to establish dialogs about what it is we are working on and how we intend to achieve it. This seems silly of me, because those other people are software engineers, and I am not a software engineer. They are too busy being software engineers to worry about things like views made of combined subqueries using aggregate expressions and how those subqueries will negatively impact query performance. They are too busy to worry about Inversion-of-Control. They are too busy to worry about lifting functionality out of a method so it can be tested in isolation. I worry about these things, because I am not a software engineer.

I am Very Silly and Not a Software Engineer

At work I am told we want agentic user flows. I don't know what that means, because I am not a software engineer. One of the examples given is the user interface for a thing being built will have a text box where someone can type in what they want in natural language. I fail to see how this is better than picking from an extremely small set of options, but then again, I am very silly and not a software engineer.

We want to use agents for every step in the software development lifecycle. I am told writing code by hand will become what writing COBOL is (COBOL was picked by the person telling me this specifically and is not my metaphor, so all those COBOL heads out there please don't hate me). I am very silly and not a software engineer, and so I fail to see what the value-add is. It seems that agents are some sort of wrapper for prompting LLMs that depending on context evaluate the output. I'm not a software engineer so often times I find that the output is lacking.

AI use is being tracked for KPIs. I am not a software engineer, so I don't care about KPIs. I haven't cared about KPIs for 23 years. I cared about writing good code. At one point, someone said that code I had written looked like it was written by a math major. I took that as high praise, for I am not a software engineer. At that same job, one of the staff software engineers was implementing what I thought was a goddamned mess. It lacked explicit interfaces. It exposed the DI container as a public static member. It was configured using CSV inexpressive of tabular data not because CSV was the appropriate interchange format but because CSV is "easy to use for business users". I thought it was very bad, and I got in trouble for saying that it was very bad. This, of course, is because I am not a software engineer.

I do not Belong to Your Future

I talk to someone who I think is a very smart person. They advised me twice I should embrace this AI stuff because it is the future of writing software. It is the future of the industry.

I am not a software engineer so the sentiment strikes me as a very careless one. The AI software I have used interrupts my thought process when it is not actively co-opting it. I worry about this sort of co-option. I worry about how AI software is made possible through theft. How AI software is made possible through mass exploitation. Carelessness is a constant undercurrent through it all.

Leaders of the big AI companies revel in this future of the software development industry. They gleefully announce their product will have devastating effects on employment. They talk about "intelligence too cheap to meter" as if intelligence was something to be metered. The future these leaders present is horrific not because the machines will turn us all into paperclips but rather because they imagine themselves as building a moat around thinking itself.

My response was that I do not belong in the industry. After all, I am not a software engineer.