Making an impact one software review at a time
I have always been part of a small development team, so teamwork has been extremely important to me. In a small team, one is often stuck with limited resources, limited time and a limited skill set.
Why is teamwork important?
You need to be able to lean on each other to get that impossible problem solved or to get the last few stories in before the end of a sprint. Sometimes teamwork even means being the guy that has to do the coffee run when everyone else is too busy to get up from their seats. Without teamwork, a lot of projects would be in big trouble.
I first saw this image many years ago, and it has stuck with me ever since. When I was younger I always thought that leadership meant being a boss, having servants and barking out orders. Okay, it may not have been that bad, but you get the idea. This image completely changed the way I think about leadership and what it means to be the chief. It has led me to always try and lead by example and to help where I can. I have been fortunate enough to learn from some great leaders.
I first heard this term when I started at DVT a year ago. I didn’t understand it and thought it meant something in the line of the employees being servants to the leaders. I have come to understand that servant leadership is the perfect mix between teamwork and leadership, two things that I am very passionate about.
From what I have learned, a good leader is the first person to take responsibility (for the good and the bad) and the last to reap the rewards from any team efforts. Leaders should listen and be open to any opinions and ideas from the rest of the team. Leading isn’t about barking the orders, but collaborating with your team and mediating any differences of opinion that may arise.
Leading is also caring. We spend an absurd amount of time each day with our team members. A good leader should get to know each team member and form individual relationships resulting in a strong bond between you and the team.
I have been lucky to be assigned the role of a technical lead. This comes with certain responsibilities - code reviews being one of them. As a young developer, this was something that I dreaded. One would never know whether the senior dev who reviewed your code would rip it to shreds and make you feel like a total failure. Fortunately, that feeling never happened as the reviewers that I have encountered have always been full of advice, helping me, teaching me and pointing out places where I could improve.
What I have learned from that is that a good leader isn’t always what I thought to be as a 'typical' boss. It could be as simple as a senior developer reviewing your code, showing compassion and helping you grow. This is what I try to remember every time I interact with the rest of the team, whether it is doing a review, advising on an implementation or just casual chat.
Being this type of leader can indirectly leave a positive impact with the people you interact with, as the developers and architects have had on me. I am certain that people don’t go into a review to leave an impact, but with the right attitude, it definitely can.
Finally, servant leadership, making an impact or any of the other values held by DVT isn’t solely the responsibility of the leadership. It is something that everyone can and should do, no matter what your title. You may never know what impact your code review will leave on that junior developer.