Cosplaying as a developer

I find myself increasingly looking at people and thinking they are cosplaying as a developer. What do I mean by this?

  • People who churn out Proof of Concepts (POCs), get the customers excited, then throw it over the fence for the months of work it takes to turn the POC into a supportable bit of production code. By that time the customers are frustrated as they’ve already seen “the working code”.
  • Actual developers who refuse to follow the proper process.
  • Managers who used to be developers, and still chuck out a bit of code every now and then, but don’t follow any of the process.
  • Well meaning amateurs, emboldened by the fact ChatGPT generates “perfect code”.

We are all developers now, right?

I don’t want to come across as the gatekeeper of development, because there are many times I’m also cosplaying as a developer. Sometimes things have to get done, and if I’m a free body, maybe I can do it, in my own way. It’s not a finished product, but at least it gives someone a helping had to get it over the finish line and into production.

I’m all for people doing development, but there is a danger that folks think writing (or generating) a bit of code is all there is too it. There is a differences between chucking out a bit of code that seems to work, and getting it live in a supportable manner. That difference is why things (hopefully) don’t fall apart every few minutes.

What about the testing and support?

I can, and often do, knock up quick solutions to things, but that is only one part of the job. What about the testing (automated or manual) that is necessary before something can go live? I still see cases of people effectively developing in production.

What about the support of this code once it has gone live? It’s easy to forget about that, because it’s kind-of boring, but having reasonable instrumentation, monitoring and notifications of faults is key, or you find yourself getting bogged down in unplanned work.

So what?

I think proof of concepts and prototypes are really useful, but they have to be presented as what they are. People are too quick to present them as a “nearly finished” solution.

I think generating code using tools like ChatGPT is useful. I just don’t want people to forget there is a lot more to being a developer than being a prompt engineer.

I’m self aware enough to know that I’m sometimes cosplaying as a developer, but I’m not sure other people recognize this in themselves, and when I hear people saying AI will replace developers it makes me think the people saying it don’t really know what developers are supposed to do. The AI might make developers more efficient, so they can get more done, but I’m skeptical about replacing people.

Cheers

Tim…

Author: Tim...

DBA, Developer, Author, Trainer.

4 thoughts on “Cosplaying as a developer”

  1. Could the _real_ problem be more about cosplay engineering (or maybe, lack thereof), cosplay features, cosplay QA?

    As regards the vast amount of energy and hype thrown into AI-this and AI-that everywhere, well, all I can think of is: “this is Vanity Fair!”

    Best Regards,

  2. Domi. It looks like there was a change to my caching plugin that mean the old feed was being cached. Hopefully that is fixed now. Thanks for the heads-up.

  3. The tooling is interesting.

    I’ve had Claude code pull down a git hub repository for an app written in go given it the entry point for the database code and its produced a summary of all the database interactions and major data flows.
    I’ve then been able to talk the the application developers about the bottlenecks and focus performance issue investigation on the bits of the system in real pain.
    It would have taken days for an app developer to explain all that to me.

    I’ve also had it read a jira, checkout the repos and build a fix for separating our monolithic patroni.yaml ansible template into multiple templates. it got that mostly right.

    Next is to get it to use a sub agent to test changes I’ve found.

    Its really good at documenting code (and we never get around to it).
    If you write a detailed enough Jira it can get somewhere near what you need.
    It may hose your entire codebase (so give it a container to run in and just destroy it)
    Give it too big a change and eventually the context window is too small (claude will compact the context and turn into a moron at this point)

Comments are closed.