EV only has 2 rants so far on his blog, but I wanted to pass along a few quotations that I found amusing.
From “On Programmers and Business“:
“The knowledge of at least one simple programming language soon will be as essential as basic writing skills. Because as the complexity of average software increases, professional programmers become less affordable and less accessible for basic programming tasks.”
There’s been a scarcity for a long time. IT used to write all their own software, now a tiny fraction can still do it. Engineers moved into ISV’s. ISV’s used to be entirely onshore and centralized, now they use lots of overseas talent. Great software engineers are born, not made, and the US has no monopoly on them.
“I have grown to suspect that a lot of companies are failing simply because they hired dumb engineers. “
Building a bad product is certainly one way to fail. Building a great product for a non-existant market is another way. People seem to worry more about the second than the first. I’m not sure why. The second problem has always seemed Tragically Knowable to me. Go talk to customers. Show them a prototype. It need not take a huge investment to answer whether there is a market.
“It is damn near impossible to tell good programmer apart from a bad one unless you happened to be an engineer yourself. And most companies are not started by engineers.”
Unless you are an engineer, or you choose your head engineer based on a careful examination of their personal track record and references from people who would know. It is an interesting conundrum for a Sales or Marketing background CEO who is non-technical. Having a great CTO partner is a key ingredient to success. It is extremely easy to baffle a non-Engineer with technical gobble-di-gook.
“A sufficiently dumb engineer may hurt you more than most competitors will. When organized in loose formations, even in modest numbers, they can even kill an otherwise healthy business.”
From “On Ecosystems of Smart Hackers“:
“As shocking as it may appear, money is not everything. Smart people like to hang out with other smart people. “
This is true, and absolutely a corrollary to “It is damn near impossible to tell good programmer apart from a bad one unless you happened to be an engineer yourself.” It is damned near impossible to hire great engineers unless you have great engineering leaders and architects, and unless your culture values great engineers. I’ve seen companies where the engineers are locked away and handed stone tablets by Product Managers. If they get to make a decision at all, it’s about the deep dark internal guts of things. Not helpful!
“Just don’t put “Java” in the job description and you’ll be fine.”
Now that’s funny. Increasingly, Java is viewed as “not hip” by the intelligentsia out there in the Java community. You’d be surprised by who doesn’t love Java.
“And no meetings, of course. Those who are terrified by total absence of meetings are worried for a very good reason. If you do not have much to do in such meetingless environment, maybe your position should… (it is always hard to call someone else’s baby ugly) … not exist to begin with?”
On this one, I will part company. The alpha geeks I’ve worked with love to strut their stuff. They like architecture reviews and discussions. They like to see demos as features near completion. They want to hear the gameplan from other groups. They do, however, have little patience for rote meetings that involve going around the room and asking everyone what they did since the last meeting. I would amend this to, “Don’t waste Engineer’s time by holding any Dilbert-style meetings.”
“The coolest software projects, most of their code base, were written between 10pm and 4am. And those, folks, are not your normal business hours. Surely some code gets written and checked in before lunch. Remember the last time your browser crashed? That was probably it.”
I had to laugh out loud on that one, but there is a grain of truth to it. I haven’t seen a modern software outfit lately that insisted folks get in before 10am, but you never know.
It’s good to hear a geek speak out. There aren’t so many of us who are vocal. Sales and Marketing Guys, take note. Understand this guy’s scrawlings. He represents the sort of mindset you will have to learn to reason with and influence if you want your product vision converted into great code.