Every person in your company is a vector. Your progress is determined by the sum of all vectors.
This is what Elon Musk is saying and i completely agree on this one. This is not just for engineering, but for the whole organisation. For the sake of simplicity, in this article I will focus on engineering part.
Software development, in theory, seems to be made easier, but in practice, I find it otherwise. Technologies are getting complex, more choices are given, platforms are multiple compared to before, and therefore even if the tools seem to be getting easier to adopt, the environment as a whole gets more complex.
Considering this, organisations tend to try leveraging the idea of things being “simple”. I say “tend to“, because I am not quite sure most of them understand what is really going on.
I will not handle the case where you are building an organisation from scratch, instead I will write about transforming an existing org and how it is possible.
Lets talk about different scenarios:
1- When people talk about tech organizations, the point of view is most likely close to saying: “Oh yeah, they drink coffee and write code and do stuff that we don’t understand. It is not easy to understand them and they don’t seem to be caring about us either.” On the other side of the spectrum, engineers can think like: “Oh, they think they are doing super important stuff, but without us, they can’t do the things they want to. We are important.”
If this summarises your problem, you do not have a tech issue, you have a people problem. Where your teams do not understand each other, they don’t see they are together in this and one-piece is not more important than the other. This is about alignment, nothing else.
2- “Tech is missing deadlines and not able to deliver something works. Our engineers suck, yet they say they are not heard.”
If this is the case, it is also related to the first issue I have mentioned. Alignment. At the same time, there can be cultural reasons. First of all, is it clear to teams what is really expected from them? Are there clear guides/explanations about what is the expected outcome? or they just receive some definitions and expected to act on them?
People want to think that everyone will understand them the way they describe themselves. In reality, this almost never happens. There have to be examples, presentations, and sometimes really clear definitions. So that there are no misunderstandings in place. It is easier to rush into conclusions instead of trying to identify what is going wrong.
3- There are heroes in your development team that knows a lot of stuff. They have big says in what needs to be done and can block decisions.
In this case, you have a management issue. First of all, such knowledge isles are never scalable. People can leave, people can lose interest, people are people… Know-how has to be always transferred within the company and needs to be somewhat documented. Attention, not well documented, somewhat is most of the time is enough. Now, the thing to identify is, how to solve this knowhow issue? What you need to figure out is, how cooperative your heroes are? Do they want to continue feeling important? Are they seeking job security? What is their motivation for such behavior? Can you, as an organization, win them over, or is it an already lost battle?
4- Lack of culture and lots of fear. Nothing gets delivered, there is no one voicing their concerns and people are just doing what they are being told.
This is the toughest one. This tells too many different stories. Let’s start with the basics.
Now, let’s start with fear. Why do people fear? Most of the time, we fear things that can hurt us. Now being hurt used to be understood as “psychical harm” and psychology was not considered. When people are bullied or threatened, they tend to become silent. They become followers. This is how survival works. You keep doing what you are being told because otherwise you can be bullied, threatened to be fired. But in the end, if things don’t work out, you get to be blamed, because you could not deliver, right? This is a never-ending cycle and a great sign of a toxic workplace.
This also results in people no longer caring about what is going on. Their thoughts are not considered to be valuable, their existence does not matter. They are just there to do what they are being told. They are replaceable. Thus, making people feel unimportant. They don’t have a feeling of ownership. There is no reason for them to care anymore. So, why should they even ask questions? or take the risk to speak up?
Now, each problem requires its own unique solution. There is one thing in common though: Do not expect to have fast results with any solutions!
All the above-mentioned issues are people related. They don’t have anything to do which tech stack you are using. They are actually not even about just tech. As human beings, we do not have switches to turn on or off certain features, so that the problems can be solved magically. These are long term investments. Investments in human capital.
An organization that understands its biggest capital’s needs and manages to channel it to business needs will eventually succeed. I have so far have not met an employee (including myself) that does not want to achieve something that is in their power. With the right guidance, we all want to be part of something.
My suggestion to solving those issues:
- Do not assume what people think. Assumptions are the number one cause of problems.
- Even the most senior employees need guidance and direction. Some need more, some need less, but the need is always there.
- Promising support vs. giving support. Actions mean more than words. Show that you are there.
- Expectation management is really really (I mean) really important. If you (as manager/lead) expect something from someone, explain it in detail. To point one, do not assume that people understood you, make sure they understand you. How? to the next point
- Ask questions. Asking the right questions is for me a kind of art. There is a difference between giving direct commands vs. asking questions and people coming to answers. By giving direct commands, you are forcing people to just follow your lead. It restricts creativity and outside of the box thinking. It can make the other end of the conversation incapable and inferior.
Well, you might say: “Come on, aren’t you exaggerating a bit?”. As a manager/lead, you are dealing with human beings. You can never exactly knowhow they end up feeling and since you do not know their exact history, you can never be sure what kind of feeling your words can trigger.
When you start asking questions, you make people start thinking. They become part of problem-solving. Maybe this is a time taking approach, but in the long run, it works. People tend to understand what is going on, they feel the need to dig deeper so they can come up with better answers and they start showing interest in what needs to be done.
- Finally, long term thinking. Yes, business is something you can not always have long-term thinking in mind. You have to make fast decisions. But, is it possible to act fast without good infrastructure? If organizations can not support the decisions made, does it matter how good the decisions are?
Long story short: Focusing on your human capital is a long-term investment that pays great dividend. Once you figure that out, you will realize how fast other problems can be solved.