Software developers who never have, and never will have to, use the software for real. I think every coder should be forced to use their own software for one month out of every year they work on it (and be able to do the job that goes with it because how the fuck else are they going to get a clue?).
And fucking stop making PC software that looks like it was designed to be used on a phone. I cannot do my job on a phone, no one would ever do my job on a phone, everyone who does my job has at least two large screens. We do not want to click a million times to do one simple task, and we do want to be able to see masses of information at the same time.
Software developers who never have, and never will have to, use the software for real.
Yes. The customer doesn’t necessarily know what’s possible or know how to articulate what features they want. I spent one week in a position where I was using my own software for production and immediately made several simple enhancements once I had hands on experience with the expected business process.
Every programmer should go through an exercise like this at least once in a while.
I am quite old, so remember the transition from scientists writing their own software to systems analysts who specialised in writing software that was fit for purpose. And that was exactly the ideal: the systems analyst was supposed to be someone who could code as well as their programmers could and understand the job the software was designed for as well as the customer did.
None of that seems to have happened. Some of the kids who could code got lucky with billion dollar jackpots from very low hanging fruit. And ever since, we’ve just been hit by waves of kids who can code going straight into software development with absolutely no experience of how work works.
It’s a difficult problem to solve. I have an aunt who developed software in the '60s and '70s who had to retire early because the languages she used became obsolete (apart from a brief bounce running up to Y2K). But it is a problem we absolutely have to solve. So much shitty software, wasting so much effort, for the developers and users alike.
I think every coder should be forced to use their own software for one month out of every year they work on it (and be able to do the job that goes with it because how the fuck else are they going to get a clue?).
At my company, all developers spend time every year in customer support. It gives us first hand experience with what our customers are running into and asking for. We also work directly with field consultants on their projects. It’s not exactly this, but it’s pretty close, and it works really well.
That must help a lot. But often, when I am quietly cursing them, I just want to make them shadow me for a day to see, and feel, the impact of their ridiculous decisions. We have given them written explanations, had meetings, shown screenshots. But nothing gets through. If they had to spend a day a week using it, they might actually do something about it.
Software developers who never have, and never will have to, use the software for real. I think every coder should be forced to use their own software for one month out of every year they work on it (and be able to do the job that goes with it because how the fuck else are they going to get a clue?).
And fucking stop making PC software that looks like it was designed to be used on a phone. I cannot do my job on a phone, no one would ever do my job on a phone, everyone who does my job has at least two large screens. We do not want to click a million times to do one simple task, and we do want to be able to see masses of information at the same time.
/rant
Yes. The customer doesn’t necessarily know what’s possible or know how to articulate what features they want. I spent one week in a position where I was using my own software for production and immediately made several simple enhancements once I had hands on experience with the expected business process.
Every programmer should go through an exercise like this at least once in a while.
I am quite old, so remember the transition from scientists writing their own software to systems analysts who specialised in writing software that was fit for purpose. And that was exactly the ideal: the systems analyst was supposed to be someone who could code as well as their programmers could and understand the job the software was designed for as well as the customer did.
None of that seems to have happened. Some of the kids who could code got lucky with billion dollar jackpots from very low hanging fruit. And ever since, we’ve just been hit by waves of kids who can code going straight into software development with absolutely no experience of how work works.
It’s a difficult problem to solve. I have an aunt who developed software in the '60s and '70s who had to retire early because the languages she used became obsolete (apart from a brief bounce running up to Y2K). But it is a problem we absolutely have to solve. So much shitty software, wasting so much effort, for the developers and users alike.
At my company, all developers spend time every year in customer support. It gives us first hand experience with what our customers are running into and asking for. We also work directly with field consultants on their projects. It’s not exactly this, but it’s pretty close, and it works really well.
That must help a lot. But often, when I am quietly cursing them, I just want to make them shadow me for a day to see, and feel, the impact of their ridiculous decisions. We have given them written explanations, had meetings, shown screenshots. But nothing gets through. If they had to spend a day a week using it, they might actually do something about it.
They’re not paying attention, then. If they used it for a week, they’d probably just write off any problems as “eh, that’s how it’s designed.”
Some folks just don’t get that there’s more to writing software than the code. The human element is super important.