This is not a blog about code errors and/or best practices.
It’s always great to talk about cool things we’ve made throughout our careers. But our mistakes can really push us to rethink our values, conduct and how we interact with people. They can make us better.
I’ve made tons of mistakes as an software developer. Here I’ll talk about four of them, the ones that really had an impact on how I act not only in my job, but in my whole life.
Believe that programming is the only thing that matter
It’s easy to fall into the mistake of thinking that programming is the one and only thing that matter in the IT world. Specially when you’re an unexperienced programmer, without much vision on how this industry works. Basically I thought that technical people were the only ones that actually did something, and that everybody else just spent time chasing their own tails instead of doing what had to be done.
However, the mechanics of this world goes way beyond programming. There’s a huge amount of people involved in the process of making any programming happen and every single one of then are equality important.
At the time I realized this, I became a much better developer.
Not hearing a senior developer advice “just because”
Let’s say you spent countless hours debugging an standard process, turning someone else’s code upside-down in the search of a solution for an error. Google and SCN couldn’t help you. You truly believe that you read everything there was to be read about that issue and started thinking there wouldn’t be any solution.
But then an experienced developer shows up by your side. You tell him your sad story already “knowing” he won’t be able to help. Your mind thinks this is a problem that can be solved by few, if any – after all, you’ve spent too many time searching for an answer that still could not be found.
He thinks a little and gives you a really simple answer. The one that “just can’t be right”. The one that seems outrageous to your mind. Your pride ignores the advice and you get back to Google for a few more hours. It just can’t be that simple.
… however, something tells you that his theory must be tested. You go and change that small IF condition in your BADI. Everything works.
Turns out the solutions was not simple, it was something created based on his experience. Not being able to see that is a big mistake.
Underestimate someone because of their age
One time I was assigned to a project where I had to build the structure of a complex program. The process was full of small rules, various paths and some crazy features, all needed to automate a big user requirement. I’ve used ABAP Objects to solve this, drawing UML diagrams and creating mockups during the BBP, which would be used to create the code in a future project phase.
I didn’t know which developer was going to be assigned to implement that project, but I asked for someone that were opened to work with OO, Trello and that kind of stuff. But our client liked one of our developers, a guy who’s after his 50’s, and asked for him.
When my boss told me that guy was going to be the other ABAP developer, all I could think was “this is definitely not going to work”.
The guy really didn’t understand basic OO concepts. Inheritance, polymorphism, visibility, and all those things. However, I’ve seen very few people showing so much passion about learning. During the project I took my time to explain every single concept to a point where he was able to contribute in solving a complex part of my design. He was able to use abstraction to reuse something in a way I wasn’t expecting. The solution he though got implemented and was way better than what I initially created. I remember getting really happy when that happened.
I was totally wrong underestimating this guy based on his age. I like to use the term “ABAPossaur” to describe ABAPers who are programming in 2015 just like they did in 1999. But being an ABAPossaur has nothing to do with age. It’s about how passioned you are about what you’re doing. I’ve been able to work with two guys that totally changed the way I look to older developers (this story is about one of those devs), and I can’t thank them enough for that.
Of course there are some 50’s ABAPossaurs out there, but I bet there’s way more ABAPossaurs in their 20’s or 30’s.
Blaming someone else for my mistakes
Believe me when I say that I hate people that blame others for their mistake. Really. I’ve always been like that since I was a child, and I’ve always assumed I was wrong every time I screwed up something. But there was one time, when I was 2 years into the ABAP world (now I’m a 10 years old ABAPer), that I blamed another dev for an error I’d created.
It was just an small problem reported by our client, in a program I made together with another dev (an intern who had just started with ABAP). It was clearly an error on my code, but I told the project manager that it happened because of the intern.
The reason that lead me to do that was the perception I had that my manager was really angry with me. Previously I made a huge program with over 6k lines of code (the FS had over 40 pages) that was constantly showing problems in QAS. Later, at the feedback meeting by the end of the project my manager told me he knew he couldn’t ask for a 2 years old ABAP developer to make everything right in such a huge development, but during the project I really thought that amount of errors showed how unprepared I was to work with software development.
That’s why when I saw that small READ TABLE problem, I didn’t give much thought and reluctantly said that the error was caused by the intern. At the moment I finished those words I was already ashamed of myself. There’s was nothing to do, it couldn’t be un-said. It was done.
However the intern, a man I respect, called me to the coffee room and confronted my words. He said that I was completely wrong by throwing him in that situation, as the error was clearly mine. I agreed in silence, returned to my manager, apologized and told him that the error was caused by my code. It was the right thing to do.
Everything I just said happened over something like 10 minutes, between I blamed the intern, confronted him and apologized to my manager. But it marked me for life.
How many times I’ve seen people on the SAP world blaming others for their mistakes? Plenty. And every time I see this situation I always remember this story and how bad I felt about myself when I said those words. How someone can tell so many lies without felling any guilt? It’s extremely bizarre.
To err is ABAPer
Everybody makes mistakes, including ABAPers. Just try to learn something from them.
If you feel comfortable about it, I ask you to share some of you biggest mistakes in the comments section. You can learn something from showing them to people,as I certainly learned even more just by writing this.
Thanks for reading. See you next time! (and it’s all your fault! 🙂 )