this post was submitted on 05 Jul 2023
167 points (100.0% liked)

Programming

424 readers
1 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 !webdev@programming.dev



founded 2 years ago
MODERATORS
top 9 comments
sorted by: hot top controversial new old
[–] rodbiren@midwest.social 21 points 2 years ago (2 children)

I'll do you one better. The hardest part of making crap people like is the damn people. I have been a product manager for a decade and I can confidently say if I deliver exactly what the customer asks for I would be an utter failure. Requirements and software that fulfill what a customer says they want will ultimately lead to them asking for something they previously didn't realize because it actually turns out they have no idea what they want, have an agenda, or the conditions have shifted from under you and what they said no longer holds water.

I could go on a tirade about this but my two cents is you gotta listen to what everyone says, but assume they are a human at the end of the day. It's too damn easy for me to suck up dev time with what people want. Hell, just one word can keep a dev team busy for a long time. Internationalization! Boo!

I also need to build an environment where the dev team doesn't despise the business due to a history of constantly shifting goalposts, borderline abusive metrics, and expectations that just create a battered development team. For some reason hiring a PM aligns with an org hitting the point where the original dev team has lost critical members because of terrible burnout and a culture of blaming people and not process. Takes a lot of therapeutic communication to remedy that.

TLDR; People. People are the reason all things are difficult.

[–] thatsPrettyNeat@programming.dev 2 points 2 years ago (1 children)

I'm almost 40 and very slowly educating myself toward a CS degree outside of work. I feel like I'm so far behind you guys that my only way into the tech industry with decent compensation (>100k) to match my current position will be through my management history, soft skills, and general understanding of people. My current position is very much a diplomat between the people getting the work done and the the people who want it done (then helping to get it done). Your post is very relatable even though I'm in a different industry. It gives me a little hope that some of my skills are transferrable even without a paper on the wall.

[–] 8ace40@programming.dev 5 points 2 years ago

As you age, soft skills become way more important IMO. It's almost impossible to keep up with the changing technology landscape, and while you could theoretically become an expert in some tech that never goes away (hello Cobol), eventually it will become obsolete and you're left with no marketable skills.
And while some people are lifelong learners (I am), learning new programming languages over and over again gets old at some point. So transitioning into more of a people's role (like management) it's a good move when you get older.
And if AI keeps getting better at coding, some programming jobs could be in danger of automation, so it's also a safety net for that scenario.

[–] razza856@programming.dev 5 points 2 years ago

it’s the fucking humans

[–] jadero@lemmy.ca 3 points 2 years ago (1 children)

I think he's missed a potential benefit of AI.

He seems to be speaking mostly of greenfield development, the creation of something that has never been done before. My experience was always in the field of "computerizing" existing manual processes.

I agree with him regarding the difficulty of gathering requirements and creating specifications that can be turned into code. My experience working as a solo programmer for tiny businesses (max 20 employees) was that very few people can actually articulate what they want and most of those that can don't actually know what they want. The tiny number of people left miss all the hacks that are already baked into their existing processes to deal with gaps, inconsistencies, and mutually contradictory rules. This must be even worse in greenfield development.

That is not saying anything negative. If it were any other way, then they would have had success hiring their nephew to do the work. :)

Where I think AI could useful during that phase of work is in helping detect those gaps, inconsistencies, and contradictory rules. This would clearly not be the AI that spits out a database schema or a bit of Python code, but would nonetheless be AI.

We have AI systems that are quite good at summarizing the written word and other AI systems that are quite good at logical analysis of properly structured statements. It strikes me that it should be possible to turn the customers' system descriptions into something that can be checked for gaps, inconsistencies, and contradictions. Working iteratively, alone at the start, then with expert assistance, to develop something that can be passed on to the development team.

The earlier the flaws can be discovered and the more frequently that the customer is doing the discovery, the easier those flaws are to address. The most successful and most enjoyable of all my projects were those where I was being hired explicitly to help root out all those flaws in the semi-computerized system they had already constructed (often enough by a nephew!).

I'm not talking about waterfall development, where everything is written in stone before coding starts. Sticking with water flow metaphors, I'm talking about a design and development flow that has fewer eddies, fewer sets of dangerous rapids, and less backtracking to find a different channel.

[–] Melonplant 1 points 2 years ago

I like this idea, but I've also sat in hour long meetings where requirements are discussed. AI currently tends to misunderstand some things but still give understandable output, so I think there's a risk of having a really nice looking set of acceptance criteria that delivers the wrong product.

[–] smstnitc@lemmy2.addictmud.org 2 points 2 years ago

It's coming with names

[–] CodeBlooded@programming.dev 2 points 2 years ago

“Did I say ‘we want it to do this OR that?’ I meant we wanted it to do this ‘AND’ that!” 🤦‍♂️

load more comments
view more: next ›