It seems weird but from some aspects, there are similarities between pro footballers and software developers.
These aren’t external similarities but there are similarities in the way each profession needs to approach their work and team management.
It doesn’t matter if you’re someone who needs to build a software developer team or if you are a one-man-army software developer. This article provides some tips on how to take care of yourself or your team.
I picked footballers as an example since our country (Hungary) used to be great at football and produced great footballers ...60 years ago.
Things have changed, and now we produce a lot of coders (among many other things).
I know. It still doesn’t make sense to compare top footballers to software developers just because our country used to be great 60 years ago. Following this logic, we could have compared developers to Nobel Prize winners just because we used to have a lot of those, too.
Or we could have compared bricklayers to coders because they build stuff.
But honestly, comparing footballers to developers is fun.
Software development is not an easy profession and we want to help you get the most out of your or your teams's potential.
Here you go:
If you’re working in the tech sector or any kind of sector where software developers are needed, you know it’s pretty hard to hire them.
Young developers are fast learners hungry for learning new things and discovering their limits.
At Coding Sans, we have an internship program that attracts coders from the university. There is nothing special about this approach, but it works like magic for us.
We simply provide opportunities to learn and experiment with new technologies. Starting young, it is much easier to shape their mindset to become great coders in the long run.
And it's also true for top footballers. They started playing young, devoting most of their time to improve and become a top player.
When young coders start working with us, they become 100% involved in the company’s life. They really become full members of our team, and as part of our transparent culture, we share information with them about the current state of the company.
Our experience shows that coders who take part in our internship program stay longer and are more engaged in work. However, it’s not scientifically proven; it’s only our small sample but it is worth considering experimenting with similar programs.
So, once you get a great coder (a younger or more experienced one) on board, you need to make sure he won’t leave the company after a few months. Replacing an employee is hard and eats up a lot of time and energy.
In the following point, we provide some tips on how to keep your awesome coders.
58% of programmers leave because they’re not satisfied with the type of work they do. Repetitive, insignificant tasks kill motivation, no matter how well you pay your coders.
Low motivation is the highway to low-quality work. As coders become discouraged, they begin to underperform, harming the quality of work and eventually causing more damage in the long run on a company level.
Productivity will also decrease. Low productivity is the consequence of demotivation and could lead to unfinished tasks that demand further resources (working hours) that will put additional pressure on other team members who might need to compensate.
So, what can you do?
What can you stop doing?
Stop micromanaging; give them space to work autonomously. Obviously, a young developer needs more management and coordination but the more experienced a developer is, the more autonomy he needs.
Software development is a highly collaborative activity and footballers also work together as a team to win the game.
Positive peer relations have a magic effect on a developer’s engagement: 69% of employees with multiple friends at work are highly engaged while only a third of employees without friends at work are highly engaged.
Good peer relationships increase loyalty; employees with strong relationship with others in the company are more likely to remain loyal.
Great team culture will benefit projects, saving lot of time, energy and money for you. As Glassdoor research revealed, 53% of employees switch jobs due to company culture.
But how do you entice great peer-to-peer connections?
Here is some recommended readings for you:
Even though a footballer should be in a good physical shape, it’s not a factor for software developers. But you need to provide opportunities for them to stay in the top of their league.
66% of all employees do not see strong opportunities for professional growth in their current role.
Most programmers are open to learning new things. Honestly, this is a must-have attitude to keep their knowledge marketable and to do their job more efficiently.
Just think about it: Amazon Web Services regularly releases new features and services. The technology you started to use a month ago could be easily replaced by a new, more efficient one.
And you don’t necessarily have to pay for super expensive workshops.
We like to use internal workshops, which means someone from the team who has more experience in a given field holds a workshop for those interested in learning more about that topic.
The ROI of these investments could be significant. Your developers will keep improving and the quality of their work will improve as well.
There is fear when a company pays for a developer for training because he might leave the company and the cost of the training will never show a return.
It’s a real thing and it sometimes happens.
But what if you just ignore it and don’t pay for training?
The thing is that if you don’t let them grow, they will be demotivated and start looking for other places where they can grow. Eventually, the developer will probably leave your company. Since 76% of employees leave because of career growth opportunities, it’s not total bullshit.
I have some really good coder friends, and we sometimes come together for a drink (that’s usually more than 3). I remember when one of my coder friends said:
You know, we programmers code for work, and when we go home, we code for hobby.
I’m sure it’s not the case for every coder, but sometimes this is the case. My friend is a sort of weirdo, living without a consistent biorhythm and a scattered work schedule. His only hobby is writing code.
As a manager of software developers, you can’t influence how they spend their free time, but you can influence how they spend their working hours.
One of the most important things is to not overwork them in the long term. Don’t let yourself or your team members become the next Alexey Stakhanov.
Footballers who play in an intensive league under high pressure without significant breaks usually perform much worse at the end of the season.
Studies have shown that productivity decreases sharply after 4 hours of focused work. Since programming is a highly cognitively intensive job, you have to be careful not to overwork your team members.
If you or your coder team is kept in the loop, chances are they will burn out sooner or later. No one wants that.
Sure, there are periods when developers need to go extra miles to finish an ongoing project or to meet deadlines, but it shouldn’t be a long-term habit.
Hey! We’re humans; we can’t simply run 100% all the time. Our concentration and productivity fluctuate, and that’s normal.
Before writing this post, I stumbled on a Hacker news thread about burn-out. Reading the replies, one answer stuck to my mind:
“...burnout is caused when you repeatedly make large amounts of sacrifice and or effort into high-risk problems that fail. It’s the result of a negative prediction error in the nucleus accumbens. You effectively condition your brain to associate work with failure.”
Here is the loop:
You work really hard, spending long hours every day working on a project. The more day you work long hours, the less productive you become because your brain simply doesn’t have enough time to rest and regenerate. The next day, reaching the same results demands higher effort and more cognitive energy.
You will make more mistakes and the outcomes won’t be satisfying, so you start spending more time on it. This deadly loop can easily lead to burnout. Trust me, I’ve been there.
Some tips to avoid burnout?
I would separate the actions into 2 categories: mind and body.
When you work, take breaks frequently. I like to use the Pomodoro technique, which means I work 25 minutes, focusing 100% on the task, and after 25 minutes, I take a 5-minute break. During break, I usually get some water, stretch my back and walk around the office.
It’s not necessary to break your work into 25-minute blocks; you can adjust it to your tasks by setting it to any interval that fits your work style. The important things are: focus while you work and take breaks regularly.
Shutdown work. The worst thing that could happen is when you go home, you check emails and try to finish that annoying script you struggled with.
This seems like you will speed up the process by finishing your task earlier, but the truth is you don’t give your brain time to unplug and regenerate. It means that you borrow cognitive capacity from the next day.
Of course, it’s not a disaster when you have to work longer hours; that happens sometimes. The thing is that you shouldn’t spend long hours working routinely. That will sooner or later eat you up.
Cal Newport in his book Deep Work suggests having a shutting down ritual when you finish working. It’s a way you can more likely prevent your brain from thinking about work-related things when you are supposed to relax. Here is an example:
And don’t forget to sleep enough. The Sleep Foundation recommends adults sleep at least 7-9 hours a day.
Getting social is crucial. Even when you don’t feel like doing it, I guarantee that meeting with others will do magic for your mood. (But only if you don’t spend your time with a**holes.)
What you eat directly affects how your body operates and how you feel. I won’t start listing here what you should and should not eat. I’m not a nutrition expert, but others are much smarter on this topic than me. So, I listed some articles that could be useful:
A year ago, I ran an accidental experiment on myself. Back then, I used to swim regularly and I had to stop it for 2 weeks.
After 1 week, I started feel worse and worse. I was more stressed (nothing had changed with the work), less productive and my mood was shifting easily, usually to the wrong direction.
It seems obvious, but this short experiment taught me two lessons:
These tips are hard to execute, and we know that old habits die hard. But you need to start somewhere and take time to see the positive impacts.
What can you do as a team leader? You can’t force people to eat and do what seems to be healthy, but you can influence their decisions:
We haven’t talked much about pro footballers, but this wasn’t my goal. I used some aspects that could be similar to footballers, but my intention was to shed light on things that highly influence an individual or the whole team’s performance.
It’s good to get young coders to your company because they’re hungry for learning and you can easily shape them to become great programmers in the long run. Once they’re on board, the biggest challenge is to create an environment (team culture and professional growth) that will keep them satisfied and loyal to the team.
But it’s easy to burn out, especially when there is huge long-term pressure on the teams or individuals. The only way to prevent this is to avoid long-term overwork. At an individual level, it's crucial to pay attention to the health of your mind and body.
About the author:
Tamas Torok is a marketer, helping tech companies to grow. He currently leads the marketing operations at Coding Sans and focuses on crafting high-quality, research-based content for engineering leaders. He started publishing the State of Software Development report and supports the growth of the Level-up Engineering podcast, dedicated to engineering leaders.