I was out Friday night and discussing the current state of the universe with a friend, Aaron Burton, who was a very talented software developer. Notice the was. Even though developing software is physically easy and pays particularly well, Aaron found that like Beatrice in the Esurance commercial who taped pictures to her living room wall, business doesn’t have a clue about the production of quality software, “that’s not how it works, that’s not how any of this works.”
Nope, Aaron decided he would give up his high paying cushy job and start a brewery. Sure, brewing beer with your buddies can be fun, but it is a huge risk, a lot of sweaty work and doesn’t pay particularly well. There is only one Jim Koch in the world, after all. Aaron explained to me that every manager he had ever had was more interested in feathering his nest than getting the job done. I’ve experienced this myself where well intentioned people would walk around shouting “XML! Web Services! Entity Framework! Netezza! nHibernate! WebMethods! MQSeries!” and other things they didn’t understand but had been taught were the way to build good software, but ignoring the big picture. It’s kind of like a “manager” at Ferrari walking into a design engineer’s office with a screwdriver and beating the engineer about the head and shoulders with it shouting “You have to use this, it’s the best!” Well, no, it’s exactly like that.
A few weeks ago in the same kind of venue as last Friday, I made the rather unlikely statement that I could run Bank of America with half the people they use. My friend Heather, who works for Wells Fargo and has worked for BofA was understandably curious and asked how I would do that. I told her that first, I would stop development on ALL new projects and let the ship sail with the steam it had built up for about 18 months. Out of all the thousands of developers that would idle, I’d pick about 20 to help write ONE application that does everything that BofA does. We would literally go to every department head and figure out exactly what that department does and automate it. You don’t need people to run a bank. In fact, people make bad decisions, so they gum up the works at the bank. If you disagree, you may proceed directly back to 2008 and stay there. Do not pass go. Do not collect $200. I know that is a little oversimplified, but I have seen the way these places, and that particular place, is run and I think at least half of what they do is monkey motion. If you aren’t an executive pointing the way into the future, an actuary figuring out how to get to the future that gets pointed out, or literally communicating with a client, you don’t need a job at a bank. Or Insurance company. Or anywhere else. I will add that in a manufacturing environment you have to have someone to bolt the bumper on to the Chevy, but even a lot of that can (and is (and should be)) automated.
If my name were Moynihan this post would make me livid. If your name is Moynihan, you probably are livid, but at the wrong person. I would be mad at the people who were so inefficiently running my company that some half-baked software developer could do it for half what you are spending. You are probably mad at me, and there’s the rub. ”If your company has a bunch of “managers” running around poking screwdrivers at engineers, call me. If you are a “manager” and you walk around poking screwdrivers at engineers, you need to do a few things:
- Put down the screwdriver, Beatrice
- Call me, because “That’s not how it works, that’s not how any of this works.”
In defense of business, yes this stuff is hard, and yes there is a lot of it, and no there isn’t anyone that you know you can trust not to lead you astray. That’s why you need to call me.
I have no interest in brewing beer.