Good manager. Very bad manager
At some point of my career as a programmer I thought that all of the managers are just a bunch of useless folks with a single purpose of filling the hierarchical ladder in a given company. I was wrong. These guys do influence – they are the ones who shape the company’s DNA by making crucial decisions and by forming the teams. Managers are the direction of the company while its employees are the magnitude so together they make the vector necessary for the progress of the company. One may have the fastest car, but if the direction of its drive is wrong, it may end in a fall from a cliff.
The motivation of this article is to demonstrate the importance of the correct recognition of the issues that held us back. Therefore, you will not see here any solution proposals. I might leave it as a food for thought until my next article will be published where I’ll discuss it.
Throughout my career I saw almost all of the possible combinations of managers: good for the employees and the company, good only for the employees and good only for the company while the employees are all burned. However, recently I met the 4th possible kind: bad for the employees and devastating for the company!
I was invited to a medium sized sales company in order to aid them in optimizing their software department structure and in consulting their technological issues. This company had three major departments: Sales, R&D and Product. Sales are the guys who sale stuff and basically bring the money to the company but they depend on the software department because without good tech they are doomed. Product department contains the copyrighters, UX/UI, translators etc.
Chaos
Chaos. That’s the most suitable word for what I saw on my first day (and later on). Dozens of people from all 3 departments including the secretariat were packed together in a small open space with a loud house music that could easily compete with the best local dance clubs in the area. Coding in a dance club. Yuck! What a horrible decision!
It took me three days to realize that these guys were not controlled at all! The sales department was the source of evil and anarchy was their second name. Sales staff were not managed at all and they allowed themselves to crusade the software department with bizzare demands such as: “Please change the title of my website to something else”. Now assume that there were just 5 developers and almost 10 times fold sales employees and add the fact that every one of them visited the techs on a hourly basis… great! How can I write a feature by being distracted by the sales every couple of minutes and on top of that while being bombarded by Armin van Buuren’s latest hit?
So where was the management? Perhaps they were hiding in their private offices or making vital decisions in very important meetings. Who knows? I think the reason why the management lost “their grip” was the simple fact that the company was very profitable and thus they decided to follow the – “if it works – don’t touch it!” rule. Another possibility is that these guys were not competent at all or too arrogant to lead.
Toxic environment and social culture absence
Instead of working in synergy, each department was in a cold war with the others. The meetings were very long, boring and irrelevant. Nothing was decided and only ego triggered them. Lack of focus and concrete made me feel that they wanted to solve everything in just one meeting but eventually went with empty hands. Speech interruptions were a common practice and seldom had someone to finish his sentence. The CEO didn’t desire to solve issues, but only to find the guilty ones and to boost his ego and importance so public tribunals were something usual. Each meeting consisted of the following:
- 15% jokes
- 10% shamings
- 50% of the content was dedicated to other issues
- 25% the actual purpose they were gathered
Now, lets assume that the average meeting took at least 1 hours, then around 15 minutes were actually dedicated to the issue of the meeting itself! What a waste of time and energy! Combine that with the fact that there were at least five – six such meetings per week or in other words three – four hours went for nothing for each attendant! You can write a small feature within that time. I’m sorry to tell you, but that’s not how to run a company. If I were a businessmen, I’d not spend a penny on it.
Another thing to notice is that each department had to had its own environment. For example: sales needed loud music because their job was routine, but programmers had to work in a silent small offices. The problem is that the managers of the company thought that if department X was happy with work environment Y, then all other departments should be happy to work under environment Y.
They threw me to the open sea
Nobody told me anything. I was told to learn about the duties of each department and figure something. What to figure? Nobody knows.
I decided to concentrate on each department on its own but with a few “skirmishes” in between to other departments so that I get the full picture.
1. Product
I started with product team whose leader was a friend of mine and my former colleague. I learned about their job Well, I was fond of those guys. We had an instant click and good chemistry. They were highly motivated, organized and talented young folk. In fact, product team was the only one to have a DNA and the ability to work as a united organism. A true inspiration for the others. An oasis in a desert. But as you know, the first impression can be misleading. More on that on my next article.
2. R&D
Next, I spent 1.5 days on R&D department. Sorry, they were called “tech department” and I soon realized why. They were just coding without any research. They had one team lead who was also their devops, one sysadmin, one backend, one QA and 4 frontends. I didn’t like them. Not as individuals but as a team.
I interviewed each one of them separately and nobody told me anything interesting. Of-course they wouldn’t tell me anything. I’m a stranger to them! But I could feel that something is wrong. I could smell it. 3 of the frontends were not even called frontends – they were called “layouters”. Why? Because their only purpose was to create single page landings using simple HTML. CSS and basic vanilla JS. The backend guy was a senior with a lot of experience and knowledge and seemed to be a very smart lad but I saw his fatigue and careless. Something broke him. Then I started to dig the code…
A catastrophe. There was no architecture at all! No standards, no best practice adoption, no technologies. Nothing! It was like a projection of the chaos that ruled in company! And I thought that nothing would surprise me anymore: Readable code – why it really matters. Oh God, I was so wrong! I’ll dedicate a separate post about that but the important note we need to take out of it is that the team had no motivation at all and that’s very dangerous because un-motivated employee is going to leave on the very first chance he gets.
Also, as I mentioned above, the programmers were working under loud music. That’s fine if you write a simple HTML file, but a big no no if you need to find the cause of a rare deadlock in your service.
In the end, they showed me their platform and some major features they had and then I moved to sales team.
3. Sales
I dedicated the last 2.5 days for sales department. As mentioned above they were the incarnation of the anarchy. There were too many of them, so I thought it’d be better to try to pick the smartest guys and question them. They were pretty good as individuals and even as professionals. I asked them to show me their job and then I was shocked to find out that I was the first one outside of the sales department to ask them to do it. Product and tech departments didn’t even know what the sales were doing! What was more shocking is that the tech department was not even doing anything to help the sales in their daily tasks! They just didn’t care
CEO
The CEO reminded me of the ancient dictators who resided on their thrones without caring for the plebs. They had their own important issues – what to eat for the breakfast, where to hunt in the noon and what party to attend at night. Their people were starving. So what? “They are just ordinary workers!” Yep, that’s his real quote. However, the CEO forgot one very important fact – he was not the owner of the company but merely an employee too.
And the terror. People were afraid of him. They agreed to everything he said not because he was smarter but due to their fear to disagree. You got a company of 100 slaves without any opinion. How can it even progress?
Another thing I’ve noticed is that risks were not welcomed. The CEO didn’t like it. Nothing was invested in researches or POCs because there were no guarantees in the outcome. Such investments were treated as spends. Well, how the hell am I going to know if something works if you don’t even allow me to test it?
Consequences
So what were the consequences?
- Lack of social culture led to the lack of communication between departments which resulted in decreased functionality of each one. Your skeleton is broken.
- Technological stagnation which led to increased costs and decreased profit. I think we should not explain this bullet, because as we all know – technology progress is the main cause of our modern economy growth.
- No motivation = people want to leave. Chapter 19 in Peopleware is dedicated to employee turnover considerations. In short – the higher the turnover, the higher the costs of manpower because you need to find an employee and to spend some time to teach him the job. The authors of Peopleware added another factor we should consider: “In companies with high turnover, people tend toward a destructively short-term viewpoint, because they know they just aren’t going to be there very long”. To put it another way, their employees just didn’t care about their job and quality”We are losers” attitude – lack of confidence and challenge acceptance. You can’t expect people to solve new issues or find creative solutions when your company is infected with that disease.
- And as a result of all of the above – the company was actually losing money. They were profitable, but their profits were dropping on a monthly basis. They were like a boiling frog – they didn’t take seriously the issues until their pockets became emptier. Surprisingly, the causes were different, but the consequences were almost identical in Readable code – why it really matters.
Final words
I believe that after reading this article, no matter how good you are as a developer, you’ll be finally persuaded of the importance of good management.
There are a lot of companies and probably different management strategies depending on you business model but few things should remain in common with other businesses when we talk about human factor: order with a very tiny portion of chaos so we can keep some space for growth, good social culture, excellent synergy and the professionalism of its employees and management staff.
Subscribe to my newsletter
Read articles from Alex K directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by