Hacker News new | ask | show | jobs
by candiodari 3120 days ago
Well that's the big secret that's mostly secret because nobody wants to know it:

Programmers/developers are only effective if either the developer himself or enough people in the team have sufficiently deep domain knowledge.

That means you can only write accounting software if you are an accountant, in addition to a developer. You can replace "accounting" with anything else you want.

Software developers don't want to hear this because it means that being a developer is near useless : it allows them to express themselves in code but ... they have nothing to express.

Accountants don't want to hear this because it means no generic software developer (or firm) can deliver on the software they want.

The real bad news for software devs is this : you'll do a lot better as a bad developer with expert domain knowledge than vice versa. This is why Excel sheets and VBA macros can run for decades when great and easily maintained software cannot : the knowledge they were written with is what makes the difference.

Of course both situations are what you constantly see in the real world. Software developers just making software that doesn't support the function it was written for, and really, really badly written pieces of crap software that work amazingly well.

2 comments

>That means you can only write accounting software if you are an accountant, in addition to a developer. You can replace "accounting" with anything else you want.

That's overstated. You don't have to be a full-blown accountant; you just have to have enough accounting knowledge to do your job. I worked at a funds company for a few years and I didn't know anything about the business when they hired me. But the amount of domain knowledge I had to learn to be effective in my little area wasn't that difficult to pick up.

>The real bad news for software devs is this : you'll do a lot better as a bad developer with expert domain knowledge than vice versa.

Nobody is going to thank you for producing software that would have been great if only it worked the way you intended.

> That's overstated. You don't have to be a full-blown accountant

Nope, ideally, you should be better than your average "full-blown" accountant.

> Nobody is going to thank you for producing software that would have been great if only it worked the way you intended.

Look there are minimum levels of competency for a lot of things before you can do anything. In similar fashion, you also need to be able to walk, or at least get around, have some modicum of how to run a business (even if you're just a TL), ... and so on and so forth.

This says that the most successful people in the the business-software space are people who have domain knowledge and software skills, and write software in their domain. And those people do quite well, dominating their various industries (Lexis-Nexis for law, for example)