This February marked 15 years since I started working as a professional software developer. A lot of other people have been here much longer, I understand, but sometimes, when I think deeper, it's so mindblowing as a fact that I thought maybe it'd be good to celebrate that small anniversary with a blog post. Something that might provide guidance to anyone about to start a career in technology. And by the way, I emphasize "professional" because, in one way or the other, I have been involved in software development even before my career.
I wasn't certain what to focus on when considering the future of technology and software engineering. Even for myself, it's challenging to define. If I think about where software development was in 2009, when I started working as a C++ developer, and how things are today, it looks like two completely different eras. As if I have been living for 110 years already and one part of it happened when I was 20 and the other when I was 90. Maybe that is why things are more or less mindblowing to me, as this timeframe has radically changed the ways we see programming languages and how we build software.
So I decided not to write yet another futuristic point of view article. Instead, I decided to write about something that I believe will remain there in one way or another even when technology changes so much. Even when we get to build software only by using the semantical features of the English language. And that is the human relationships we build and nurture as we are solving these huge problems by doing something that's still called software development.
I decided to tell a short story about three managers that I had in one way or the other throughout my career and provide you with the possibility to pick one. Maybe not the one you'd like to have but instead, one that you want to become. Because, if anything, one of the things that separates us the most from the people who lived 400 years ago is the tools we are using. From an emotional and physical point of view, we function pretty much like our ancestors.
Ok, here it goes.
This story is about three managers who worked in three different times. One in 2009, the other in 2017, and the third one in 2023. Is it possible to limit this story just to three managers? Not for me. I've been a proud job-hopper almost my whole career, so I like to believe that people in their most natural way of thinking will not drink from water that is polluted, regardless if someone tells them or not. It's a natural kick.
But I promise, I will do my best to isolate just three personas and of course not relate them to one person that can get themselves recognized. And it's easy to be recognized. I've been working with really amazing people in my career and if I were to write in a different context, I'd proudly put their glorious names in this 1500-word article.
But I won't, not this time.
The First Manager
It's 2009 and this manager is someone who knows everything from a technical point of view. They are a complete nerd and wizard of their craft. Someone you can lean on and know how to give technical guidance, can teach you how to debug, and unblock you when things get messy. Of course, they are kind enough to motivate you on your technical achievements.
They do not let you leave their shadow only until your work is done as a team. You feel that you are a team and that you will not fail. Even if that means staying at the office long hours after 5 pm. Even if that means they asking you to get to the office on Saturdays, for which of course you'll get those highly appreciated 80 bucks worth of a bonus for the weekend you just spent overcaffeinated and borderline hallucinating.
But still, this manager is not the person who completely forgets your existence. You are there, they know. You just feel too shy to say "Erm, can I go home now?" as they are completely focused only on one thing: work. And then more work. Still, you don't complain about it. You learn so much that you forgive all of their sins. And their biggest sin? They are too technical. They lack a growth perspective and a plan on how to take you from point A to B in your career. Being at the edge of the burning out, you figure your youth didn't allow it.
But still, you love yourself and give yourself a chance for a change. You find another job and finally quit.
The Second Manager
Things have moved by 2017 and you are working with a person that is very process oriented. They talk more about Agile and Kanban than Java. They do not know everything on a technical level but can guide you to find the help you need. Someone who talks to you about your career, and gives you ideas on how to reach to your next promotion. They are so good at their job, that they get obsessed with it. So much that they forget that you, just like them, are a vulnerable human.
It's a bit tricky to be working with them as they are completely committed to the vision the company has. You feel as if they are the company or at least some of the founding members. You even ask yourself sometimes, was this person one of the founders? In practice, there is nothing bad in your relationship with this person, but they are not putting your personal needs in the first place. You are there to do your job, that time you do that job is precisely measured and at the end of the month rewarded.
There isn't any process regarding promotions or performance reviews, so conversations happen randomly. Even though this person is process-oriented, doesn't fancy an organized 1:1, doesn't take your input about where you want to be in 6 months, and will often come out with some form of feedback out of the blue. It'll catch you unprepared with very few opportunities to do something actionable based on that feedback.
However, if you work your ass hard enough, they will have no problem, you will have no problem.
The Third Manager
This one is quite cool. Has a bit more white hair than they hoped but hey, it's 2023 and it's a post-pandemic year. Everything is changed, and so are our bodies.
It's not their white hair that betrays their skills and experience. It's their ability to empathize. Who knows where and when they learned this skill (or if they acquired it from their awesome parents?), but it's also not important. This manager holds the potential to recognize professional and personal situations, to grow people, and to create a better version of themselves. They can listen and be the help when it's needed. Something that no one forgets.
They are the manager who trusts you and knows how to stimulate you to give your best. To be better than yesterday, without constantly holding your hand as you become that better one. Someone who praises each small win you make, and celebrates each small progress you achieve, yet allows you to make a mistake, learn, and leverage on it as a metric of progress.
They know how to make a joke, and each time they reach out, you feel good and proud to be under their lead. They are critical but in a productive way. You will not always feel blessed, as they know how to recognize and point out the things that are a culprit of a technical or cultural problem, but will provide you with a plan on how to overcome this. They never act from a position of hierarchy or power. They never raise their voice or are politically incorrect, to groups or individuals.
They are almost perfect, but there is only one problem. Your time with them is limited.
Until the next 15 years
Manager or engineer, business analyst or tester. Regardless. There is one thing that connects us all and creates the feeling that we have done well in our career: being a person that your colleagues enjoy working with. And these people will always remember the times you were there for them instead of with them. Times you asked them to do things for them, instead of for you. Someone who recognizes that this small part of our role on Earth is limited yet defined by us leaving good or bad impressions to others.
The careers and results will be forgotten, but we'll always be able to talk about the names that helped us along the way.