4 ms·
> Anyone with 2-3 years experience will need to spend some time talking to end users or business stakeholders. And yet, except for software that has literally
by da_chicken 6y ago
> Anyone with 2-3 years experience will need to spend some time talking to end users or business stakeholders.
And yet, except for software that has literally been designed for use by and for developers, virtually every piece of software I've ever used feels like the person who wrote it has absolutely no idea how work is actually done.
They'll take data or configuration elements that need to be seen at the same time to understand how something is coded or configured and put them on different screens. They'll create processes that are not flexible enough to support real-world situations. They'll allow nonsensical configurations or have absurd design choices -- not just "we don't operate like that" but "it's logically impossible to operate like that."
Unless a developer is intimately familiar with the business process, which in my experience means they're required to eat their own dog food, then their software will suck. Unfortunately, there's a very narrow range of software that developers will be familiar with through personal, direct experience. It will be developer-specific software (IDEs, text editors, version control, compilers, service desk software, etc.) or broad, general purpose software (Excel, Word, Outlook, etc.).
It starts to fall apart once you get outside those tiny spheres. Hospital Information Systems will not have a design that enforces sensible patient coding. Student Information Systems will not have a sensible system for scheduling students, taking attendance, etc. The developers don't understand what the realities and difficulties are of operating a hospital or operating a school. There are dozens or hundreds of different positions that all need to use the same system in different ways, but the system itself is only set up one way: whatever makes sense to the internal data model.
It's like the the parable of the blind men and an elephant, except these blind men are trying to feel their way through building the Brooklyn Bridge. Then when the people trying to cross the bridge say it keeps falling down the developers say, "It's working according to the spec." Well, yes, because you're in the business of selling bridges, not understanding bridges.
- magicalhippo 6y ago> virtually every piece of software I've ever used feels like the person who wrote it has absolutely no idea how work is actually done That's why I like taking support calls every now and then. Very often I end up having to connect to the user via TeamViewer, and almost every time I learn something. It might be something trivial like some input boxes being in an illogical order, it might be something bigger. It's amazing what users put up with without complaining to us, so getting the chance to view how they work is gold for me.
- chexx 6y ago> The developers don't understand what the realities and difficulties are of operating a hospital or operating a school. Why not just focus on this issue? Is this expectation correct?
- kbelder 6y agoThat just made an idea click about Excel's incredible popularity. We all talk about how it's a horrible tool for building apps and databases in... but usually the spreadsheet is build by an expert in the business domain. Sure, maybe the SKUs are randomly interpreted as text half the time... but at least it has all the columns you need, in the proper order for efficient entry and sorting. Maybe a crappy, buggy app built by a business domain expert is _better_ than a wonderfully architected app built by a developer that doesn't understand the business process.