Overview#
What is this? Where did this passion come from and when I started? Sometimes I think about everything I’ve done in my career and what each step contributed to where I am today.
Early Years#
In the first years of my career, when I was a “simple” developer coding and learning all day long, I started going out of my comfort zone. Coding with your team is “easy” (yeah, I know not always, but it is my story and I use the words I want 😂), but what about teaching others? What about going on short missions to help to fix bugs? This is what I did and, trust me, it wasn’t easy for the younger me.
My company at that time ( Bytecode if someone is interested in it) was RedHat partner and thanks to this, I started teaching “everything around Java”; mostly it was the JBoss training, but RedHat has some other training in the Java panorama. And with the training weeks, I even started consulting. You could sum up my job as “come and help us doing what we are unable to understand”. At that time I thought both activities were very stressful: you can’t be prepared for the unknown, but today I know it was the best thing I could do to be stronger and to quickly enlarge my knowledge.
The Debugger#
The missions were always about a week long with the same pattern:
- the first day morning: technical meeting to take information about the architecture, about the code and explaining the problem
- the first day afternoon: prepare the laptop with everything needed to help to debug the problem.
- Debug, Test, Check, Ask, … it was my week.
- The last day: report about the solution, when found, or about a possible way to fix the bug by the company itself.
For sure each time, a guy with 3-4 years of experience coming into a company with much more veteran people was frowned upon. And this was my feeling too. What do I have to teach these guys? This is the project they are working on every day, in a framework they master and they have more experience than I’ve today. Each time… everywhere in Europe. What helped me was to think: “they’re skilled for sure, but if they called someone from outside, it’s because they couldn’t find the issue themselves”. So here we go…
In few hours I needed to understand how they code the project, how they configure the servers (Clouds were only in the sky at that time 😂), how I can access everything and starting to debug, run load tests, review code, … A “3-4 years experience guy”! I don’t remember if I succeeded every time, but I’m sure most of the time I helped the company fixing the problem or finding a possible solution. Each time, anyway, they were happy I could help them. Each time I was happy too and surprised to see how I could go far in debugging things and finding the root cause. Each time it was a real pleasure. As a developer, it’s the same feeling as when you find the fix for something you’ve been looking at all day, but 10 times stronger. Because I was a developer needing to understand so much more than just a piece of code: I needed to understand networks, servers and JVMs configurations, Databases, … and everything related to applications developed and deployed by someone else.
Today#
Now my job is a bit different, but when the situation arises I’m still always helping debug things. Not with the same stress as before, but always with the same pleasure and always with a big smile on my face in the end.
I’m managing technical people, the new generation of developers: the “Cloud Developers”… and I’m not always able to make them love this part of the job. The code is cool for sure, the code is what we can see and what our “customers” are using… but if we can’t make it work smoothly in production, or even just deploy it in production, everything we did becomes useless.
So, “younger developer”, trust me: production isn’t just a matter for System Administrators, especially today with everything managed by someone outside the company. In the same way, you are debugging your code, checking “step by step” each variable value, you can debug your infrastructure. Find at which step a call can block; understand from which components an HTTP call is coming to your webserver; understand how the application server is managing it; the memory and CPU interaction; the database calls, … there is a ton of things to know 😱😅🤩. Don’t just look at your IDE… the world can be even better outside.
And when you will then come back to your IDE you will know. You will know how your code will work in production. You will know how to write better and performant code.
Trust me: the whole IT is love and pleasure 😎
