Updated: October 9, 2020
Just recently, I read a very nice article on vas3k (a website on my Greatest sites list, btw), most aptly and enticingly titled A Team - How to build awesome teams without bullshit. This actually triggered my intellectual glands, and I started pondering this subject with gusto.
What I found (missing) in the article is that it's mostly applicable to software development - and younger people in general, so I thought I might produce a more generic article along the same lines, taking into account a wider of view of the IT world. Using my personal experience, of course. So let's.
Can a perfect team really exist?
I think it can. Because I was part of one! I believe I had the rare opportunity of working with some super cool people, and that what we had for a few years was a most splendid team effort, something I've not encountered before or since. Whenever I think of workplaces, I always compare to this one, and always wonder why other companies and organizations and divisions never managed to replicate what we had. The answer may be, because it was once-in-a-lifetime unique situation, and thus a matter of pure luck. But maybe it's also possible to derive a formula that will allow me and others to (re)create the perfect IT team. Let's begin.
Observations first, without any conclusions, because hindsight is camp:
- We were a team of roughly 10 people, most of us rather old - two thirds were people in their 40s, one third in their 20s. Give or take. I was in the middle, in my 30s.
- We had a colorful blend of education, vocation and life interests. On the technical side of things, our degrees and expertise included: two physicists (one of them myself), one guy with a CS degree, two mechanical engineers, two electricians (with associate degrees), and two (and at some point three) undergraduate students doing CS degrees.
- We were all brutally honest people - telling a colleague to FO or calling their idea moronic was perfectly fine. No one ever took it personally or got offended, we just accepted the feedback, worked it into our tools and solutions, and moved on without any great drama.
- None of us was a workaholic - far from it. Our daily routine would start with a long breakfast, followed by coffee, and it would be a rare day to see us staying in the office after 17:00, often going home earlier. We would go for lunch outside the office 2-3 times a week, and usually stay outside a good two hours or so. This did not interfere with our work. Far from it. We were better and more efficient than all other teams in every possible way.
- We all hated meetings with a passion.
- We also disdained nonsense bureaucracy. We never used silly ticketing systems, and never allowed ourselves to be slowed down by mediocre tooling and ideas.
- We all had good knowledge in several areas so we could cover one another if needed.
- Each one of us was an expert in a specific field and thus the authority. For instance, one of the mechanical engineering guys was a Windows and virtualization master. One of the electricians was the master of things arcane, like old UNIX and weird emulation systems. The other electricians was the hardware go-to guy and the data center owner, and he was able to run an entire DC with 5,000 servers with just three guys, including the ability to fully configure, from box to login, hundreds of servers a day if needed. Of course, part of this seamless operation was help he had in automating the entire operating system stack. I was the performance and kernel stuff guy. And so on.
- Most importantly of all, we had a high sense of personal responsibility and accountability. If something went wrong, none of us would ever try to hide it, minimize it, fuddle it, or anything like that. We owned up, fixed stuff, and made sure it never happened again. Zero tolerance for bullshit, including our own.
- Despite a rather informal spread of education and knowledge, we never shied away from anything, and we did work on all stacks of the system, including writing our own kernel modules when this was necessary. As you probably guess, I authored my problem solving book as part of this experience. Not surprisingly, this was the workplace I remained at the longest, and really enjoyed (most of) my stay there.
On its own, this sounds idyllic. But the important thing is, results:
- We were part of a wider organization of about 400 people. Despite being only 2% of the organization in terms of raw numbers, approximately 90% of all tooling and solutions came from our team exclusively. We tested new technologies, created brand new solutions ourselves, and fixed issues in the entire DC stack at a far greater pace than all other IT teams combined.
- Our team was also responsible for 100% external output, like publications and such. I do have to admit that most of it was my doing, as I always loved and enjoyed this thing, but other colleagues had some share in the lot.
- Our work was always backed up by hard data, we demonstrated our work with indisputable numbers, and as a result, we were able to secure budget for exclusive projects and initiatives, and we had the ear of the most important people in the organization.
Here's a critical link. We also had a superb manager. Or if you ask me, the best manager I've ever had. She was a tough, no-nonsense lady, a mechanical engineer by vocation, with a strong sense of fairness, and a highly balanced personality. She was moderately tech-savvy - enough so you couldn't bullshit her - but she had excellent business understanding. Moreover, she had talent for spotting and then enhancing the unique traits and skills in each and every one of us.
While the ideal leader/manager remains the fictional character of Captain Jean Luc Picard, this manager comes a close second. She would vehemently defend us in management circles and shield us from bureaucratic nonsense. But she would also give us a good verbal lashing behind the scenes if we messed up. No one had any issue with it. We were all willing to risk it, take chances, make mistakes, admit those mistakes, and then also learn from them.
Later on, we got a new manager, who was more of a classic managerial stock. He was more deferential to his superiors, and he also loved buzzwords. This did not disrupt our team spirit, because we maintained complete autonomy over our work, wouldn't let anyone meddle, and we kept the strong dynamic among ourselves. However, organization wise, the atmosphere wasn't quite the same after that.
And so, there you have it. The ingredients of my perfect team cake. Now, let's try to abstractize it.
You want experts, doesn't matter what their passion is
What me life in the hi-tech sector has taught me:
- Your degree means little. What matters is your willingness and ability to solve problems.
- In this regard, I'm full Bletchley Park on this. If someone is an expert, that means their brain works in a convoluted way, exploring multiple patterns and ways toward a solution. These traits are necessary to achieve true expertise in any which field. This allows people to be inventive and creative beyond the lexical boundaries of their domain.
- Passionate people do things far more interestingly and efficiently than checkbox tickers.
- Finally, experience does not mean expertise. In some cases, years of exposure in a field can enhance one's ability to learn, explore and deduce. But if your brain isn't built for curiosity, experience accounts for only that much.
Lesson to be had here, chaps: Work with (and hire) unique people with crazy passions, the payoff is better than the sum of buzzwords in their CV.
Here, of course, the modern hypy trend is to treat people as propaganda pieces and align them on the diversity board based on arbitrary genetic traits. I find this abhorrent for many reasons, mostly because I thought we had left the dark ages behind. Work-wise, it's also the least useful way of actually achieving a meaningful result.
- Your team should have people with diverse personalities and ways of thinking. You want people to challenge one another's ideas and solutions - true for choosing technology as it is for methods, strategy, roadmap, or how to troubleshoot a broken server. Yes-men block progress. If you are afraid of working with people who will oppose you, then you should re-evaluate your career.
- That said, negative people are a no-no. The simple test is, ask yourself, do you feel like punching that person? If the answer is yes, then they are not a good fit for the team.
- Eccentricities are not uncommon in IT. That shouldn't discourage you from working with such people. The key is to figure our how to communicate - and that applies to everyone, even those who consider themselves the pillars of social engagement. The important thing is to focus on the essence of one's work.
- Personal accountability is critical. Cowardice destroys teams.
Lesson to be had here, folks: Pluralism of thought is key to long-term success.
Most people don't get to choose the manager. This is one of the reasons why so many teams fail, because they are simply handed an authority without any regard to their composition and unique traits. Most companies promote mediocre people to management, who then institute mediocre policies in their teams. In turn, this leads to resentment and reduced productivity.
Since there isn't that much freedom here, it's a little hard giving applicable advice. You only really choose managers when you interview for a new role (but sometimes, you don't have a choice, hey, mortgage), but even then, there can be a change in leadership three months in, and boom, you get a wild card.
However, if you do have some choice in hiring managers - whether you hire someone to work under you, you work in a company that has a democratic interview process that allows employees to interview their future overlord, or you are interviewing for a new job in a (new) company, then my lessons be as follows:
- There isn't a specific vocation that leads to good manager, but there are several vocations that lead to bad managers. Software developers and physicists usually aren't good managers. The former because their brain often works in an almost functional input-output mode without the ability to put things into a philosophical perspective, which is critical in a good leader. The latter because they often tend to have "hard" personalities, which can lead to friction with people who have opposing views. Managers ought to be balanced, and physicists are typically of the love-hate kind, even if their overall acumen is often decent. This is why I wouldn't want me as a manager, as I'm aware of my limitations.
- Yes-men and sycophants often end up being managers - it's a self-feeding cycle. Avoid them at all costs. It's quite simple. If your impression of a person - at the end of whatever interview process you have - is that they have a vague personality, or they don't really impress you, there's a very high chance you're dealing with a mediocre specimen. There's no magic here. It's simple human instinct. Trust it.
- If you are hiring an underling, hire someone who is not like you - personality-wise. If you need yes-men to reaffirm and validate your thinking, you are not fit to be a leader.
Lesson to be had here, gents and gentesses: Think Captain Jean Luc Picard.
As it happens, in my various roles, I had a chance to interview a lot of people. A LOT OF PEOPLE. I've probably interviewed more than 500 people in my career. I was exposed to the hiring process in six or seven companies, and everyone did it differently. One interview, two, five, aptitude tests, HR is or isn't in the loop, screening, whatever.
Having observed the process in such rich detail, I've discovered a few rather interesting things, and then of course, correlated my findings with the actual long-term success rate of initially successful candidates. In other words, I had my assumptions, misconceptions, preconceptions, bias, and judgment for each and every candidate. I also had a chance to see how effective the process is. Because there were also situations where people were hired despite my better judgment. The only downside is that I can't say much about candidates who were turned away for good, because I have no additional data points on their life beyond the brief encounters we had.
- I was known as a "tough interviewer" and people would often feel bad after an interview with me, even though I may have been really well disposed toward them. Indeed, some people were surprised to be invited to a second or third round if interviews after having one with me, because they thought my deadpan approach and constant prodding meant they had somehow failed.
- I always focused on personality more than technology. The latter can be learned. The former cannot be changed.
- I always looked for Bletchley Park traits in people. If someone was an avid stamp collector, that was more interesting to me than if they could code in four languages. How much knowledge and fun one had in what they did in their free time was the best indicator of what they could do if they were given the right opportunity and environment at the workplace. People without distinct capabilities, i.e. mediocre people, never had much to show, no matter what.
- I found coding exercises, riddles and such entertaining but ultimately useless. Never an indicator of actual real-life problem solving skills.
- Going back to my "toughness" - I've successfully screened probably ~10 people out of the 500 I've interviewed. My failure rate is 10%, that is only one of those I gave a yes (albeit a reluctant one) turned out not to be a good eventual fit for their workplace, team, whatever. The others actually flourished like majestic flowers.
Lessons in life: Hire non-negative people who are passionate about something in life. And if they can articulate that passion (any which way, words, pictures, diagrams, etc), they are bound to be good team members. But the manager will be the key in making those passions show.
Aren't you idolizing the situation?
One may say that a charming botanist will probably never make a good DB admin, no matter what. I say wrong. If a botanist shows up at your IT doorstep, that means they are probably interested in working in this field. If they know their stuff around flowers and seeds, they may come with amazing solutions to problems, because they could use natural algorithms and problem solving techniques from their previous domain, and apply them in a unique way to the IT world. A drone with 10-years of buzzwords is the most useless contribution to a company. Alas, many companies purposefully hire useless drones, because they just need slaves to fill in the gap on the proverbial rowing deck of the ship.
Extras: skillz that killz
Since this isn't exact science anyway, I thought I'd share a few more bits of data on my career team and hiring escapades. Again, they reflect my personal experience, but you may find them valuable. As always, there's a great deal of hindsight. But I do remember a lot of my findings and impressions from back then, and they still hold remarkably well.
- Mathematicians are a good catch - good math means good everything really. In fact, I've often lamented the lack of math folks and statisticians in IT teams, because most IT people (developers included) have very rudimentary number crunching skills, and as a consequence, decisions are made based on hunch and bullshit rather than hard data.
- Software developers often have tunnel vision. They do code (reasonably) well, but their brains patterns are often not good for other types of work. Most importantly, they often do not connect the dots well, or see the bigger picture, hence philosophy, hence long-term strategy. And as mentioned previously, they make for pretty bad managers in general.
- Age plays its part. Over time, people become naturally more cynical and resistant to change. This is not necessarily the process of turning conservative, it's the fact that people eventually get bored listening to corporate mantras and pointless messages full of empty words (including the word "excited"). There's nothing more demotivating than sales people (often business "leaders") giving rousing, fake, US West Coast-flavored speeches to nerds. As a result, older employees dismiss things not because they resist change, but because they have seen such efforts done before - often unsuccessfully. This is where experience can be rather useful, even if individuals aren't strictly experts. Older (more experienced) employees can often tell you why your idea is not going to work.
- Age plays its part the other way, too. Younger people tend to work "harder" - as in, they still don't have enough experience to resist bullshit work and efforts, so they will tackle problems that older employees often will not be willing to do, because they know they are futile. The problem is, companies uses youngsters as cheap labor, fast-tracking them to cynics. Smart managers will actually try to nurture talents that youngsters may have rather than use them as drones. But you ask, who gets to do the boring work? Boring people. Give it to the mediocre staff.
- Women vs men. This is a supposedly hot potato. Now, I've had the luck/privilege of growing up and working in countries and societies that did not discriminate between the two in any way, so I always find the modern debate about who ought to be in IT and why and why not, once again a very US-centric topic, rather weird. The nice thing is, when you don't bucket people by their genetic traits and just treat them as individuals, you soon discover that genetic traits mean nothing - and the only important thing are: personal skills, personal abilities, personality. Here, my conclusion is simple. Experts are experts. It doesn't matter how their chromosomes are aligned.
- Finally, most people are mediocre. That's life. This is why, if you are not a drone, you will detest most company policies and practices. The solution is to ignore the bullshit and do things the right way. Don't normalize to stupidity, just because it's the easy way. You could end up having your perfect little team, your own bubble, but everywhere around, you will see boring, useless drones, trying to undermine you, even without thinking. Don't give in.
There you go. The recipe for the perfect IT team. Vas3K tried to do his article in a programmatic way, which makes sense, as he's a software guy. I did mine in a philosophical way, because I'm a physicist and I try to see bigger patterns in the chaos around me. I believe that passion and intellectual pluralism are the two most important things in bringing top people to a team. And then having a balanced manager in charge, who will not brownnose his or her way up the food chain. It's very tricky, especially the last part, because you need a whole string of good managers above to make this happen, again, which is why most work places suck.
In all likelihood, you won't ever be part of the perfect team. It's great fun when it does happen. So if you do want to try, hire passionate individuals, look for colorful world views, challenge your views and theirs. Good work will come out of that mix. Specific technologies and tools are the least important bit. Avoid negative people who ruin fun, and try - whichever way possible - not to have a boring yesman for a manager.
And we're done. Now back to your little Borg cube - or cubicle. Or open space.
P.S. All of the images used above are in public domain.