Non technical people may not realize that every bit of software they use, each ‘app’, has it’s own life cycle. It’s called the software development life cycle, and we call it that because the focus is not on the software but on the business model that supports it.
There are some that argue that Agile programming has made the software development life cycle antiquated or even obsolete, but I believe that they have that wrong because Agile Programming is just a different approach to the software development life cycle.
Software is developed based on need, or expected need. It is planned based on requirements given by someone – generally the person who is funding the project – and developed and eventually maintained. Most software developers spend their time maintaining existing projects rather than creating that ‘killer app’ that just about every developer wishes to do.
Eventually, the software becomes obsolete for some reason, and generally speaking it means it’s making less money than it costs to support it. Free Software and Open Source software defy obsolescence because it’s generally about interest.
Artificial intelligence isn’t going to end life cycles, or programming. In fact, it’s just changing the face of programming because when you write a prompt, you’re really… programming. Programming has evolved from the lower level languages where we flipped ones and zeroes to increasingly higher level languages so that more people could program. Software development has constantly evolved and artificial intelligence is not that different.
What is kind of interesting is potentially being able to throw away some of these high level programming languages and replace them with lower level programming languages (that tend to be more efficient for a computing device to run) and just have a large language model write the code.
Regardless, people who write code will need to evolve. When I started out decades ago, a single person could write a game or application, then the needs became more complex and software development became increasingly social and multidisciplinary – and even specialized. Coders simply have to adapt again to writing better prompts – which also means better communication skills with those who want the code in the first place, as flawed as their requirements generally are.
Even as people write about the artificial intelligence life cycles, the core concepts aren’t different. In fact, for someone who has experience with software processes (not just one life cycle), it looks pretty much the same.
One thought on “Coding and AI: Programmer Evolution.”