6.14.2024

SOFTWARE Where ? Without software ! Hmmm

What does a well-implemented SOFTWARE represent for your life and your company??? Think !  Software today is part of the SAME business. Any company, in any sector, depends to a greater or lesser extent on its software to work. A BANK without software does nothing, a GENERAL SERVICES company without SOFTWARE is NOTHING ! But, there are shadows hanging over the companies. It is the so-called technical debt, a software development concept that emerged around the early 1990s. The term comes from a metaphor inspired by the concept of existing debt in the area of finance and business, applied to the software field. Outdated software incurs future costs, such as credit cards: interest, to be refunded in the form of additional maintenance time and increasingly frequent bug fixes. The technical debt must be paid quickly to avoid the accumulation of interest, hence the analogy with the concept of financial debt, exists for TECHNOLOGY.

Hence, many companies look with anxiety and optimism at using generative AI such as Copilot, AI Frameworks and chatGPT and others to mitigate the problem. And of course, the super optimists believe that in up to ten years we will no longer need developers. Well, to me, affirmations in that sense have no scientific basis. Generative AI is not miraculous, but it can be a tool kit to increase productivity, not replace developers.

There is much more to software engineering than just generating code, such as getting user requirements up to debugging and testing. One of the most fundamental programming Skills remains the domain of humans : problem solving. Analyzing a problem and finding an elegant solution to it is still a programming experience that is still far from being done by current algorithms. 

The creative aspect the skills of addressing a problem are more important than the language or tools. Don’t fall into the trap of comparing yourself to AI, which is a statistical output of a great model. This would underestimate the human capacity of the software creation activity. There are big differences between what a human developer does and what a probabilistic model generates: being a developer is more than just writing arbitrary lines of code. The root of the problem: we have a tendency to anthropomorphize AI and so we call an AI tool a co-worker. This is equating their production to human labor. The concept that the metrics of an AI tool are directly compared to those of human workers is at best inadequate.

Therefore, software engineering is much more than winning programming contests. Good software engineering practices are proving even more valuable than before. These practices include planning system design and software architecture, which serves as a good context for AI-based tools to be used to more effectively predict what code you need to generate. Therefore, the generation of code by these tools is only a complement to the human activity of software engineering.

Programming and software engineering, defines society its vital importance and the training of programmers who seek to know and understand and not just memorize frameworks.





No comments:

SOFTWARE Where ? Without software ! Hmmm

What does a well-implemented SOFTWARE represent for your life and your company??? Think !  Software today is part of the SAME business. Any ...