this post was submitted on 06 Dec 2023
18 points (62.5% liked)
Programming
17537 readers
129 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I feel like the expectation that a developer can do it all is quite harmful. There are not many other disciplines where this is expected, and for good reason.
Maybe it's better to just admit you don't know how to properly architect a solution rather than pretend you do and create an unmaintainable mess. Maybe you shouldn't pretend you know how to do front-end development instead of creating some monstrosity that no user actually uses due to bad UX. Maybe you shouldn't pretend you understand security instead of introducing half a dozen sql injection vectors.
Maybe it's time to admit that the days of the solo developer are over. It may have worked when there was no internet, no security concerns, no concurrency requirements, etc. But we expect, and deserve, better nowadays.
I'm pretty sure non-programmers share much of the blame. Here's what I imagine goes through the minds of most people, especially management types.
"Oh, a nerd. Great we need another nerd in here because things are not moving fast enough."
I've had job offers for everything from equipment maintenance and repair (because there was a PLC hooked up) to network administrator. It's all computers, right?
When trying to use some of the truly atrocious stuff that gets rolled out with a web interface, I get the distinct impression that random "nerds" are dropped into random slots. There is no consideration that maybe saying "nerd" is like saying "doctor". If that's all you look for, you might get an economist instead of a surgeon.
Or a gastroenterologist instead of a neurosurgeon 🤔
Agreed, almost every profession has advanced to the point where they require specialization. Everything has become so complex that being a jack of all trades means you fail at them all. Even trade skills have specialization: carpenters specialize in framing or cabinetry or furniture, mechanics specialize in specific machines or sub-systems like engines or transmissions, etc.
But it seems most of the people responsible for filling these positions haven’t realized this yet or don’t know enough about the jobs they are hiring for.
In defence of the jack-of-all-trades, if everybody is a cog in the machine, nobody sees the overview of how the cogs could connect.
For what it’s worth, here's an overview of some cogs made by a j-o-a-t, for whom software developer is just a sub-role, within understanding complex climate system.
Isn't that exactly the role of an architect? The point is exactly that not everyone is a cog, not everyone is exchangable and equivalent to everybody else.
When I've been presented with expectations outside my field, I've replied with something along the lines of, "Programming is a bit like sports--they all share some common features, but the skill sets are very different. What you're asking me to do is like asking a hockey player to participate in a professional badminton tournament. I can try, but it won't be pretty."