How to Control What Software Developers Do

Let’s face it, there is an issue. We may continue to pretend we pack them today at large tables in a small noisy room to improve the communication (it’s called Agile!), fact is main reason is still managers want to keep a closer eye on them and their screens.

Even put this way, this may seem like a reasonable approach: they are paid to do something, so we also need the tools to check what they do. Main problem is people are not machines, and the way things are done today may seem pushy and sometimes insulting. Do people REALLY perform better when we keep an eye on them?

In his 2008 book “Outliers: The Story of Success“, Malcolm Gladwell argues the reason why individual rice producers from Asia have been throughout history and still are more motivated to work way harder on their fields is because their landlords collected just a fixed rent. And they were left eventually with the surplus.

While in Europe or North America, if you worked harder, it was more for your master or whoever owned the lands. People were not motivated, no matter how hard they were watched and controlled. Slave plantations as well, didn’t necessarily produce best when slaves were wiped more.

From Large Single Rooms to the Plantation Table

My first real job as a software developer in the West was in 1990, in Switzerland, at a small company. But we each had our own room, a large desk, best Espresso coffee, and we could smoke inside. That’s when I unfortunately became a smoker, and it was so hard to quit years later. But the conditions at work were impressive.

We later evolved into those cubicles most people hated. But, when looking back now, they were paradise compared to today’s …plantation tables. We sit several people to one large table, on each side, close to each other, pretending this is “Agile” and it improves communication.

From what I’ve seen so far, people communicate even less and the neighbors are rather noisy. It bothers you when the guy from the right opens up a smelly sandwich at noon, when the guy from the left has a chat every 10 minutes with someone who stops by, when every 15 minutes someone stops behind your back to talk about something else. The rooms are frequently large and noisy, and we sit together sellers and developers, people whose profession is to talk a lot on the phone with people who need mostly some quiet time to write better code.

I worked several times as an external contractor, just because I enjoyed the flexibility. One clear advantage was you could perform mostly from home. Most of these projects were part-time, for just a few hours a week. It made sense to allow people to work remotely, as long as they could switch between multiple projects and customers during the same day. Commuting to each of these customers during a day-work would have been impossible.

However, each time I encountered a frequently irrational impulse from my customers to control people, no matter how strong and satisfactory was my work at that time. I could even say that these control-freak impulses always started when the client was happy with the work and he was getting me more. But this was also the problem, because now you had days in which you worked just for him. So it was normal to make you come and work at his offices, right?

In the Way to the Bathroom

Well, I’ll tell you about three different recent contracts I had in the past 10 years. First was for a small company, in which I was hired to build a web version for a standalone app they where selling. I was the only external contractor out there, and they made me sit in the worst possible place in their large room. It was close and in the way to the bathroom, in a rather open space, and people were frequently stopping by to have a loud chat on my back.

I told the CTO (the guy who hired me) that I do contracting mostly from home. That I tried to stay and work there, but the fact they didn’t have a better place made me rather under-productive. The guy didn’t like the idea, but had no choice and accept it, as I proved my value and things were going well with the project.

After other few months – in which the project evolved so well, it was internally presented with pride – I suddenly get an email at home from the CTO, with radical organizational changes already decided. As an external contractor, I knew this could happen and it was fine. Where my customer was not fine is in the simple understanding I also had a right to accept or not this radical change in our contract. And when I tried to explain this will not work for me, and I didn’t get the changes (he forced as my boss a guy who was looking to me for training on the web technologies, and two other guys with no former knowledge on the web), I’ve been treated rather poorly, and I had to decline.

I tried to reason by phone with the CEO, and I was very surprised to find out he was as shocked as me and disproved what the CTO did, but he had no choice (the CTO was also an owner, he was not). I was told, in confidentiality, that my project was the only one still doing well in the company, so…

Behind a Slamming Door

Another three-month contract got extended to six, only because it was doing well. I completed it and the boss threw a small party for me, then we had a sandwich in two across the street. But only a few days later, when I looked for some typical references – by email of by phone – the guy never returned my calls.

Fast forward several years later, it was just a few months ago: I get an email from the same guy, if I cannot help him out with some other work. I asked surprised why he turned his back on me years ago, and he was just “oh, you know I had those personal problems, but now I’m OK“.

The guy was going through a divorce at that moment, and I just knew it because I recognized the signs, from the way he behaved. He rarely came to work and I could say I kind of saved his back with my project. But not without fights…

In the same department, he had another dev, with just a few years experience, who wanted to be a boss. Because he had some colleagues and they became managers, and he was not, he told me. So my boss tried first to make this guy my boss, AFTER we made the agreement. Problem was the guys was struggling seriously with the software development process, so I convinced both to let me do it alone.

Second problem was we worked in a large area, but nobody spoke to another during the day, it was rather depressing. All other guys were tech support hardware guys. At some point, they came up with rearranging the space and making some cubicles. As their only external contractor, I ended up of course, yet again, with the worse place in the company. Close to a heavy door that was slammed with a big bang each time anyone was getting in or out.

Same story, I told my customer that’s not appropriate and I saw no reason why I should not work from home, especially when everything was already planned and scheduled by milestones. I was paid more like a fixed price on the project, from a fixed budget, not by hour. So it was really no need for anyone to keep any eye on me (nobody was doing it anyway).

I got what I wished for, and I continued to came to the office only a few hours from time to time, to deliver parts of the project. Also sitting behind the same slamming door..

Looking for Another Mini-Me

On a last contract I had I did so well, that my customer kept telling me, when hiring permanents for his new growing startup, that he was desperately looking for some Mini-Me’s like myself, with my skills, who were hard to find. I rather smelled a rat there, when I saw he made me validate a guy who looked potentially like my future replacement.

I’ve been offered a full time job there, with fixed salary and stock options, that I was reluctant to accept. As my role was not at all properly described. And I was right to have doubts.

They tried to force me come work only on site from now on, in a very small room they rented in downtown, to which they were sitting 10 people in the same time. It was so hot outside and there was no air conditioning. They covered most part of the window with a huge fan. And the owners and other managers were talking loud on the phones, while other poor guys were trying to write code…

They were so surprised when I later came to the office, and I politely rejected their terms. I left them all the equipment I had from them, made sure everything was properly delivered, acted in such a decent and professional way, despite the circumstances. The guy (the one with the Mini-Me’s) went with me to the elevator. We said goodbye and I invited him to have a coffee sometimes, in the same friendly way we always used to talk before.

I don’t think so“, was his answer, while the door was closing. And I never saw him since…