If, when building a bridge, a civil engineer makes a mistake in one of the calculations, the bridge falls. But the bridge won’t fall alone. Most probably that engineer will also fall with it. He is accountable for what he did because he must sign his projects.
ABAP programmers don’t have that kind of problems.
No matter how bad the quality of our code may be nothing will ever happen to us. Actually, most times the amount of love we get from our client is inversely proportional to the speed at which we deliver what they want them being completely aware that that speed comes at the cost of leaving a low-quality legacy which will be hard to maintain.
Nothing will happen to us even if it takes us 6 months to make a program which is so badly designed that, later on, after we’ve already left that client, whoever gets to maintain it decides to ditch it and make a brand new one from scratch. Most probably they’ll find it relatively normal, won’t even realize that they just lost a lot of money, and will continue praising us for our good old program and may not even value nor understand why the new guy insisted on making a new one since the old one was doing just fine.
We’ll always get away with that 2000 lines long user-exit packed with CHECKS and hard coded stuff which one year later ends up crashing and stopping the whole company, leaving hundreds or thousands of employees around the world with nothing to do for a whole morning. That’s also a lot of money thrown out of the window. And the client will probably blame the new guy who introduced a bug while making a small change in those 2000 lines, saying they miss us because we knew our way around their code and would have had no problem making that simple change (their code being a labyrinth laboriously built by us during the years we worked there).
We, ABAP programmers, can get away with anything. And because of that, sooner or later we’ll become irresponsible. Even more astonishingly, many of us won’t even be aware of that. Because, besides not knowing how to program, we won’t know that we don’t know how to program. And we may reach the end of our successful career unaware of it, because most probably no one will ever tell us.
We should be forced to sign what we do. We should be accounted for the consequences of the code we write. Our work should be reviewed by a thorough quality control process. Our work should be regulated by an independent entity (like the Ordem dos Engenheiros in Portugal) which should both defend our rights and enforce our duties, particularly regarding our work’s quality. Our customers should force us to sign the work we do (besides the ignored SY-UNAME) and when something went wrong because of something we did, we should be called to answer for it.
Only then will this profession have some nobility. Only then will we have the right to say that we are Engineers.
Until then, we’ll continue spreading bad ABAP code throughout the SAP world.
Greetings from Abapinho.