The Importance of Thinking Like an Engineer
Last year, after a decade in the media business, I left the world of buying and selling ads to start an enterprise software company. Technically, I am still involved in the media business since the HR software we are building is designed for agencies and media companies. I also write about the industry in this column as well as for my blog, The Makegood.
But compared to the cacophonous world of media, running a software company has been a significant change. Sometimes, it’s a bit like living in a monastery. The high priests are the engineers—the people that conjure software into existence with lines of code uploaded to servers thousands of miles away. All this engineering takes a tremendous amount of concentration, so much so that when engineers speak to one another it’s usually in hushed tones. This is in stark contrast to some of the livelier agency environments that I have been a part of.
What’s also different is what motivates engineers. I’ve come to realize that, unlike some people I’ve known in media, money isn’t really a huge factor. Sure, developers want to be paid well, but for them money is not the end all, be all.
Engineers are also far less interested in status and power compared to other people I’ve met. While some engineers aspire to lead teams and become managers, most want to continue to code regardless of their responsibilities. Even Facebook founder Mark Zuckerberg has attempted to return to coding after spending years managing the company’s growth. The coolest job right now is being a highly talented software engineer, not a power mad CEO.
So what do engineers really want? First and foremost, engineers want to solve interesting problems. That’s why they became engineers in the first place. Also, it helps if the problems that they are solving are important and will actually make people’s lives better in some way.
Engineers also want to solve a problem in a way that is elegant. No good engineer wants to be known for creating some lousy software product. Like a computer that is well designed on the outside and on the inside, the integrity of the solution must be complete. Sloppy code, even if it works, really annoys great software engineers.
Engineers want consistent and steady direction. They don’t want to be asked to build something without a clear spec. They don’t want to be halfway through building a new feature only to be told that everything has changed. Engineers want very specific short-term objectives, more general mid term goals and then a broader, long-term vision for the product.
Engineers also want to be part of a great team. Software doesn’t get built unless a lot of smart people well work together, so it’s important to hire people that the whole team respects. There’s a reason why many developers love to work at Google—it’s a company that rigorously qualifies each candidate and puts engineers first.
As the media and advertising industry is transformed into a technology business, it will be important for everyone to understand how engineers approach their work. After all, every web site, ad server and mobile app rests on their shoulders. Learning to think like an engineer will ultimately be a useful skill for almost anyone in media.