I'll See You At The End
It's an interesting time.
Most days I see various spins of the same fundamental message:
The end of software development is upon us
But... like... what if it's not?
- What if: it's just another opportunity.
- What if: you don't blindly embrace it nor plainly ignore it, but accept that change is always inevitable and you should take time to understand it.
- What if: it's how you deal with change that will determine your future, not necessarily the change itself.
Quickly, to cover the obvious, we're thankfully seeing some walking back of this message from the people selling us these doomsday devices in the first place... kinda...
But ultimately, the way we work has already changed. The way I work has already changed. The tools I use to solve a problem have shifted. I've had to go through a lot of experimentation over the last 6 months or so. I'm still dazed at the pace of new thinking in this space.
But the problems that need solving have themselves not changed.
I still want well-designed, well-maintained, sound pieces of software. I want them to tie in well with my requirements and solve a problem that is difficult for me alone to solve in a reasonable time frame.
We still want and need software products. I still want software to improve my quality of life in various aspects, whether professional or personal.
And I truly believe there's still plenty of room for innovation in software development as a craft.
A friend recently posited the question:
Will AI in software result in fossilisation of the current most popular technologies?
Whilst a very cool thought experiment, and one I'll be revisiting frequently as generative AI technology evolves, my ultimate answer was: no. (My longer answer is: at least not without major leaps forward.)
- There is still plenty of room to improve in the current space.
- There is still optimisation to be done on existing frameworks.
- There are still fundamental improvements required in tooling and processes.
- There are still markets with gaps that can be filled or where new ideas can be tried out.
All that has happened is that the bar has been raised. This applies not only to the quality of software that can be generated within a given period of time, but also to the expectations of users of that software.
And users don't just interact with the software. They interact with your support processes, your performance, your attitude, your stability, and everything else that shapes their experiences with your product.
So... I've personally decided that I'm going to work at meeting those higher expectations:
- I am going to get better at the craft of software development.
- I am going to bring new ideas to the table.
- I am going to build high-quality tools, products and services.
- I am going to leverage new technologies, not scorn them.
Alongside that, some general attitudes I'm going to take:
- I will let others play the slop machines.
- I will ignore the low-effort "I could prompt that out in an hour" remarks.
If the software development doomsday prophecy does play out, I'll be among the last to turn the lights off.