3 ms·
This really resonates with me, but I don’t agree with it. It resonates because there’s a problem with software development that remains unarticulated. It seems
by tomelders 7y ago
This really resonates with me, but I don’t agree with it.
It resonates because there’s a problem with software development that remains unarticulated. It seems no one is happy. Developers aren’t happy, and the stake holders aren’t either.
For stakeholders, the people originating the ideas, signing the cheques and bankrolling the entire endeavour, programming really is a money pit, and programmers really are a pain in the ass. So no wonder people are so enchanted by the idea of software that doesn’t require code or coders. All they want is for their grand ideas to be realised as they imagine them. How hard can that be? If Computers can be made to identify faces, or translate French into Chinese, then surely their vision of an app that figures out the most efficient way to deliver parcels should be a walk in the park!?
For me, herein lies the problem. Computers are seen as magical devices capable of anything. Software, or code, merely the spells and incantations that breath life into those machines and commit them to do your bidding.
But! They are not magical devices. Code is not spells. Programmers are not magicians. There are constraints. Boundaries. Limitations. Great software is, in some way, defined by those boundaries. Great software is created not by people who believe that computers and code can be made to do anything. Great software is not the product of whim and whimsy. No. Great software is created by people who know the constraints, but see the opportunity within them.
Take for example, the Spreadsheet. No accountant, or any other form of number cruncher was involved in the conceptualisation, implementation, or evolution of the spreadsheet. The spreadsheet was born out of the minds of people who understood the capabilities of computers and code, and saw how they could be used to approach a problem from a different angle.
I would argue that the most significant event in the evolution of the web — after it’s invention — was Ajax. Yet no one, not even the people who first implemented XMLHttpRequest, fully understood its true potential until Jesse James Garrett came along and clarified the concept and significance.
HTTP had existed since 1996, and four years later, Roy Fielding gave us Rest — The recipe to a dish we already had the ingredients for.
What’s my point? I suppose I may have gotten off track. My point is this: The problem is not that code is hard, or programmers difficult. The problem is that software — which was once borne out of opportunity that only the programmer could see — is now born of the whim and whimsy of people who know nothing of what a computer can do, or how it does it. Software is the folly of people who believe in magic. People who aren’t thinking “what can this machine do”, but rather “make this machine do what I demand”.