I love building things. Teams, products, solutions, meals: if there is a way to see it as construction, that is almost certainly the perspective I’ll take. And given that love, I spend a tremendous amount of time working directly with engineers, both to build my own projects and helping with others.
As a whole, I tend to like engineers, which is perhaps unsurprising given my own perspective as a scientist. They like logic and rules, have a problem solving approach that is slanted heavily towards the analytic, and their geeky side interests are appealing to me.
But lately, I have the growing feeling that something has turned the corner in tech. Engineers are starting to suck.
I don’t mean they are becoming bad coders; if anything, the average ability of even a junior engineer has risen and that should continue as higher education and other training programs reorient themselves to practical, rather than theoretical, computer science. Rather, I mean that engineers are becoming disappointingly lame people. Not because they are losing their geekiness, but because they are becoming prima donnas.
Engineers are seen as indispensable by companies and are constantly told by the startup community that they make or break many startups. There is a culture in tech right now of engineers being somewhat like wizards: if you have really good ones, you are bound to win, even against overwhelming odds. They are the single most recruited position, no successful startup goes without them, and they are allowed remarkable freedoms in terms of where they work, how they work, and personal grooming.
And then there is the economic reality of engineer scarcity: we need more than we have and that results in heavy competition for them. The average pay for a starting engineer in Silicon Valley is literally twice or three times as much as other members of a startup team (marketing, product, design, etc.). And according to strict economic principles, it should be: scarcity governs price.
But teams are not strictly economic. When you take kids fresh out of college and start paying them eighty thousand dollar starting salaries, bad things happen. They do it in finance and look how well that has been working for us. When people don’t know what to do with their money, they generally choose incredibly stupid things that are not need (or even really want) driven. As anyone walking around Silicon Valley right now will tell you, it is a good time to be in luxury goods.
And praise is the same way. Even if we stopped paying them too much money, if we continue to tell engineers that they are the only thing that truly matters, it will ruin them. That’s just part of human nature: if one cog thinks it is THE COG, it will start and stop when it damn well feels like it, just to exercise some control in the world.
In reality, this is a love letter to all the engineers who don’t suck. Sumit Ahluwalia. Bill Cromie. Will Koshuta. Hilary Mason. The legion more that I know. They are all the more awesome because it would have been so easy for them to slip into being a “brogrammer”, but they didn’t. And by and large, what distinguishes them is that they actually care more about the machine than their own little cogdom. They aren’t coding as part of making a million dollars, they are coding in service of something that generally actually believe in. Like me, they love building, and I suspect they’d be doing it if even if it paid a heck of a lot less.
So what’s the takeaway? Treat engineers like you would treat other employees you are leading. Sell them on the mission, not their individual fiefdom. And for the love of god, stop paying them so much – to quote The Streets, when playing blackjack, “He might get the ace or the top one / So organise your two’s and three’s into a run then you’ll have fucked him son”. Take a few junior engineers with one good leader and train them to be the kind of people who will make things better.