| 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. |
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.