This. I’m a software engineer and I have to battle this daily. People have a notion that if the visual aspect of a feature is straightforward then the entire thing is easy to do. I constantly have to disappoint people who expect a task to take a few hours and actually it’s a few days.
Yesterday I got asked make our app auto-parse URLs/email addresses/phone numbers, so they’re clickable. That’s an hour or so of RegExp and some minor UI tasks. Then I get: “Oh, and could we also track how times each link is clicked?” In their heads, it’s a simple extension of a task. If I’m parsing the links, how much harder can it be to count how many times each is clicked?
but as an experienced engineer, how many times do you constantly see the wheel get reinvented to do a common function that already has a tried and true easy button? surely there is an industry vocabulary of best practices and common functions.
Not sure if you’re asking as a developer yourself as a layperson, but the answer is it depends.
There is absolutely room to not reinvent the wheel, and these days with things like NPM packages (and equivalents for other languages) and component libraries it’s easier than ever to find something out of the box.
The problems start when you have to plug things into a very esoteric, bespoke setup. Sometimes it’s easier to reinvent the wheel just to avoid the headaches to trying to integrate something someone else made. The documentation might be shit, or it’s not quite playing ball… and you lose patience and just build your own thing.
I remember well working at an agency producing a static (html only) website for a client (yes it was a while ago). Near the the end of the project the client asked for a search button to be added to the existing navigation, and they couldn’t comprehend the amount of work involved. “It’s just one more button”.
That’s a fantastic example of this phenomenon. They imagine development as a drag-and-drop experience. Just a drag a search bar into the design and somehow it’ll just “work”, surely? Isn’t searching a standard thing, powered out of the box by web browsers, who magically understand my site and all its content?
Yeah this one is fun. And if it’s something you don’t already have tooling for/a pattern for then this is a couple of days looking at various platforms/requirements gathering etc before you even drop the package in, configure, and ”add the tracking”
I think of this whenever someone makes a feature request for the digi boxes, when they’ve found an unused encoder on some page that they propose for their new feature, and they think that’s a major part of the problem solved.
the “wisdom of the common man” and his overconfidence in his own common sense are jacked up on heroic doses of validation from whatever Reddit futurology communities and the vain flattery of generative chatbots
10 print “the “wisdom of the common man” and his overconfidence in his own common sense are jacked up on heroic doses of validation from whatever Reddit futurology communities and the vain flattery of generative chatbots”
20 goto 10
30 end
Meh, professional software dev here with some embedded experience too. It’s possible to have a pretty good idea of how easy or difficult something is to implement, but you have to make some assumptions about how it’s already implemented in order to do so. Sometimes these assumptions are right, sometimes they are wrong.
At the end of the day, it doesn’t really matter, but if I’m going to make suggestions they aren’t going to be ones that I think are technically infeasible.
People who have some context and experience aren’t usually as obstinate or entitled about their opinions in these parts, so a bit of a moot point.
People who believe things are universally simple but can’t / refuse to explain why and how simply because they desperately want a thing are more the stars of the topic IMO.
Devs are generally a lot more empathetic of the myriad of reasons why a thing could happen but hasn’t over other priorities.