Being a leader is not easy. Managing people is challenging and it’s not a job that everyone can be good at. You have to make sure that whatever is asked of your employees is delivered on time, within budget and with acceptable quality. On top of that, every person is different so you have to deal with their unique personality and emotions in a way that you can help them and at the same time make them feel appreciated. This can safely apply to all industries, no matter the geography.
Leading software engineers is a very specific kind of game. Most people who work in the software development universe are smart, innovative, geeky and demanding at the same time. Let’s deep dive a bit.
You have to be bright, logical thinker with advanced problem solving skills and very good understanding of mathematics in order to make it as a software engineer. A quick look at the curriculum for a degree in software engineering easily explains why this is not for everyone.
Software development is about solving problems. As technologies evolve rapidly, new problems are constantly introduced. The environment is extremely dynamic and if you want to stay up to date and be competitive with the latest trends, you have to be creative and proactively try to introduce new original ideas.
As software engineers are supposed to be very knowledgeable in what they are good at, it’s very common that they tend to bury themselves so deep in their passion that this might look weird to other people who are not part of the industry. For example, spending endless hours in front of their laptops without doing anything else just to get one step closer to completing their new creation.
Computer technology infiltrated almost every aspect of 21st century life and the specialists in that area (software engineers in particular) became valued and pivotal members of society. As their supply is significantly lower than the demand in almost all geographies, the average salaries and the job security are higher compared to most of the other industries. In some cases this has a negative effect as people start having unrealistic demands thinking that they are irreplaceable and can easily find another job.
So how can you effectively lead software engineers? I say that one of the ways to do it is by empowering them. What do I mean by that? Well, let me explain.
Software development is so much more than just writing code. I believe that at least 50 % of the work is done before you even write a single line of code. Business analysis and software architecture are so crucial to the overall success of any project that it’s strange how often they get neglected or completely ignored. Many companies suffer from the perception that software engineers should be writing code all the time and the more they write, the better. After all, this is what they are paid for, right? This is so far away from the truth.
Let me give you an example from the sports industry. Do we consider football players to be good if the only thing they are doing during the game is to kick the ball as many times as they can? No, we don’t. Football requires intelligence, tactical knowledge, flair, teamwork etc. There is so much more in football and the same applies to software development.
In order to empower software engineers, the first thing you need to do is to make it clear that their responsibilities do not only include writing code. This is very important as people tend to follow instructions without questioning them, no matter whether they agree with them or not. Thus, if it’s a company policy to involve the development team only after business analysis and software architecture are “ready”, then your main priority should be to change this. By doing it, your software engineers can be engaged in the decision making process from both business and technology point of view. That way they will feel valued and part of the bigger picture, making them more committed towards achieving the common goal with higher quality.
Below you can find four practical suggestions as to how you can achieve a good level of empowerment.
Keep them up to date with what’s going on outside of software development
One way to engage people’s attention is to keep them up to date with what is happening outside of their area. This can include important internal updates such as business achievements and recent organizational changes, as well as external updates related to the way the company performs on the market along with general industry information.
Ask them to help with business analysis
As a Product Manager, I find this approach very useful. I rarely have the time to deal with all ongoing initiatives to the level of detail that I would like to, so adding more manpower is definitely helping. Apart from the obvious positive effect on my work, the software engineers I work with get more detailed understanding on the topics in question. That’s extremely valuable as it allows them to provide better delivery estimations and also contribute to the business initiative itself by sharing their ideas.
Invite them to meeting with internal stakeholders and external clients
Bringing software engineers to internal and external stakeholder meetings is also a practice that has paid off multiple times over the past few years. It adds to the benefits of business analysis and also serves as backup for Product Managers when both business and technical aspects of the given initiative are discussed.
Make sure their opinion is considered when the architectural design is created
Last but not least, software engineers’ opinion should be taken into consideration when the solution’s architecture is created and agreed on. Same as with business analysis, software engineers can greatly help with their knowledge and ideas. It’s a common mistake to leave everything to the solution’s architect not having in mind that it won’t be him who will be actually developing the solution afterwards.
Software engineers are a very important part of any organization. Their potential should be utilized to its fullest. They shouldn’t be kept inside a box where their only task is to write code. Instead they should be given the freedom to go outside of their usual area of expertise so that they can add more value. I suggest you try it. I doubt that you will regret your decision.