I know it gets tempting to do whatever he or she wants. You value them so much. They are innovators and technical leaders in your organization. Yet, when we choose a stack for our next project or start-up, we must think more strategically.
It’s not just about keeping your rock star programmer(s) happy. Often you can achieve that by just taking him or her to a Star Trek or Star Wars movie — and supplying all the Mt. Dew and pizza the team can handle. No, you have to think about lots of other things, too. For example, will using this stack cause any vendor lock-in?
Using the Microsoft stack is notorious with vendor lock-in. Yet sometimes the cost of lock-in is simply a necessary evil. What about support? Here is where you’ll see more benefits going commercial. The Linux or open source LAMP stack, not so much. Yet, if you go with the LAMP stack, lock-in becomes less of an issue, but where do you get support? Sure there are some companies out there but not the size of Microsoft, Apple or Google.
Running a successful project, team or company is more than just having a cool language or stack behind it. You have to think about other things: like support, test tools, and how hard it is to find talent related to the stack.
I know Haskell is super sexy and all the kids are “doing” it. But guess what? Ruby might be a much smarter option — especially if we’re talking about the web. Are you making software that will run on the cloud or a native desktop app? Well, all of this has to be thought out. What cloud will your software run on? Or what operating system. Who are your customers? That is where it all starts. What are they using? Is this a mobile market? These are the things that should dictate the stack you use.
If you want to placate your rock star programmer, there are other ways: tell him or her they can write that unique test tool in Haskell or whatever language floats their boat. But don’t let them drive your stack for production code. Accept some influence and hear them out. But know they have a vested interest: playing on a really cool stack that they can brag to their friends about.
The problem is the rock star programmer has a lot of pull in your organization. They might not be the “typical” leader, but if the rock star is moping around because you didn’t pick his favorite stack, you will need to do damage control. The morale of the company is very influenced by your rock stars. If they are unhappy, it is harder for others to be happy. Besides they probably are doing about three times as much work as the others. You want them at top form.
So listen to your rock stars, accept some influence (perhaps a lot), but ultimately be strategic about your stack — from a business point of view. Once you commit to a stack, it becomes hard to reverse the decision. Just remember to break the news to your rock star gently if you choose a different stack. And take him — and the team — to the new Terminator movie to make amends.
Just an FYI … I’m still a programmer advocate, but this is one area where I support the business/management decision makers more. Sometimes we need the MBA weenies, too. Like to help keep us grounded!