Sports Experience in the Software World
Everyone knows that having previous experience is beneficial when trying to get a job. However, what many people forget is how to actively apply this previous experience once they begin working. Understandable, right? You start something new, and all of your focus shifts towards learning all of the little nuances of your new environment. Obviously, this is important, but with the cognizant backing of one’s unique abilities a new hire can find themselves excelling and taking on more influential roles.
Experience is not limited to knowledge gained from previous employment. It can be from any situation that you have learned or gained knowledge from. Whether you know it or not, everything in your past is experience. Let me explain…
It’s Not Where You Learned It, It’s How You Learned It
I started my first job as a Software Engineer with no prior experience as a Software Engineer. This is what most people would say …with their respective title. Everyone has to start off as an intern or with an entry level position and learn as they go. This is the perception I thought, until I began working. I quickly began to see that many things in the working environment were very familiar to me. The three that stood out the most to me were teamwork, leadership, and culture.
Working in the Software world means that you will be working in teams. At IPS, this can range anywhere from one to infinity (Yes, one still has a project lead or manager). Working in teams requires patience and understanding. You must know and learn your teammates strengths and weaknesses in order to successfully reach your goal. Obviously, the more people on a team, the harder it is to get everyone on the same page.
The place where I got this experience was from playing baseball. Playing a sport in a professional environment gave me an immediate understanding of what it meant to be a part of a team where jobs were on the line. Sounds brutal right? Well that’s the nature of the business. Usually the technology world isn’t as cut-throat as sports, but there are still some pass/fail requirements. There are deadlines, expectations and biggest of all, consequences. Being in such a high pressure and intense environment, I learned very quickly how to read and react to very unpredictable situations. To me this is the most important part of teamwork, learning to adapt and grow as a unit in order to become better and more efficient as a team player, and hopefully his contribute to the team’s enhanced performance as well.
Leadership is something that can be taught, however I have always believed that it is something that is acquired more from experience. This is because experience requires success and failures, and the more different scenarios you put yourself in, the more successes you will have, as well as …you guessed it, failures. Failures are very important events to learn from, because they will teach you the greatest thing of all, which is what not to do.
One of the easiest things that a leader can do is say things like, “good job” or “keep up the good work” when things are going well. This is because when things are great, what is your immediate reaction? Keep doing what you’re doing. Well… not necessarily. There will always be things outside of your control that will affect what you are doing correctly, and can even make what you’re doing correctly incorrect for the task at hand. Confusing? Perhaps. But think of all the times you’ve done something the “right way” but it was not the right approach to the task at hand. By assessing the context of projects up front, good leaders can anticipate where new approaches might be required and communicate this to their teams.
In addition, in order to be a great leader you must have the ability to get your team or co-workers through the failures and difficult times without berating them or causing crises in confidence. Not only will this result in more trust, but it will also help prevent future failures and ready the team for any similar occurrences.
In baseball, I’ve been on great teams and no so great teams. The difference? Leadership. What I can tell you first hand is that the teams I saw succeed the most were the ones that rebounded the fastest from failure. 1-game and 2-game losing streaks are ok, but 10+ game losing streaks will create some problems. The longer that you go without fixing your mistakes the deeper of a hole you will dig for yourself.
Just like baseball, if a Software project unfortunately doesn’t go well then it is imperative for the next one to be successful, then even more successful after that, and so on. That being said, understanding what you did wrong when failing and right when winning is also very important. Using your successes from previous projects will only increase the chance of success for the next one.
Leadership and teamwork directly influence the culture of a team. Culture can include winning, losing, positive, negative, balanced, unbalanced, etc. but are not limited in type. It is something that takes time to develop, and even harder to change. Therefore, it is imperative that when building team culture, you identify exactly what you want it to be before you start.
For a team to be successful over time, they must have a good, positive culture and one that includes everyone on the team. Baseball seasons are long, and the amount of Software projects will never end (unless computers become extinct). There will be ups and downs, mistakes and problems, but what will get a team through it all will be their cohesiveness and willingness to help one another.
There is a common misconception that Software Engineering is a solitary profession. This couldn’t be further from the truth because you need more than one mind to create, fix, and develop. Nothing is done in a vacuum. When you combine the ideas and abilities of multiple people as one unit the results are much greater than the simple sum of their parts.