Enterprise software is not that hard

Let’s stop hiring wizards

Of course it’s not easy to write business software for enterprises. But it’s not as hard as people seem to think.

Due to the believe in the magical computer gene, most teams will consist of two kinds of people : the CoMpUt0rHaXXorZ and the mere mortals.

For developers, we demand all kinds of excessive technical skills. 7 years Angular5, knowledge of Struts 1.1 and experience with flavoroftheday.js. In most cases these are the main hiring criteria. We don’t seem to care about interpersonal skills and business acumen in these profiles, because they are already ninja’s. What more can you expect???

For the designers, analysts, testers and managers, we hold the opposite believe. Sure PRINCE2 is a nice-to-have, but we select mainly on people skills. Do I see this person working in the team? Is she a good communicator? We don’t seem to care about technical skills here, because we already have ninja’s, remember?

We end up with teams consisting of those that can’t talk to people and those that don’t understand machines.

Writing administrative software for businesses is not as hard as it used to be. We use frameworks that take care of the difficult parts. Writing a fast front-end doesn’t require a Javascript guru. The same goes for setting up a web service, database, overnight batch, etc… Frameworks and managed cloud services alleviate the hard stuff.

If all the really hard stuff is already done, why hire nerds? Why not focus more on developers with business and people skills?

The rest of the team should get over the “too technical” hurdle as well. Working with a tester who has some programming experience is a game changer. Defining acceptance criteria using REST calls will speed up you project like crazy. So why not focus and train more on that? What’s the point of knowing JIRA if you can’t split up reasonable stories? How can you think of leading a software team if you don’t know how to build software?

The hard part of business software is building what the client really wants. Discovering those hidden “desirements” means talking, sketching, prototyping and learning your days away. Having your developers understand your customer is the only way to deliver a successful project. It’s management’s responsibility to take away the hurdles and middlemen between customers and developers.

Train and select your devs on interpersonal skills. Sales skills. Writing ability. Your teams will be smaller and faster. Your customers will be more satisfied.

That’s the hard part about business software.