Remix.run Logo
mrkeen 6 hours ago

I agree that software becoming worse (in some sense) but I don't blame AI.

My experiences as a user haven't really changed. Streamers fail to cast to TVs. Browsers are devices which reliably and efficiently propagate red console text and 500s from companies to you. I still see bluescreens on public touchscreens.

Uncle Bob nailed one reason why the industry isn't getting better: the growth of programmers is exponential, such that half of all programmers have less than n years experience (5?).

I offer two additional reasons:

Firstly, you hone your skills doing individual algorithms on a single thread, where it's OK to get it wrong and change it as many times as you like.

When you get a job, you don't even realise you're in a distributed system and the getter/setter model you practiced on is woefully inadequate for interacting with partner systems, cqrs, event-sourcing, auditability, idempotency or whatever else is required.

In short, 10 years of practicing writing for-loops and data-structures will not translate into building a system that customers can access via their phone and multiple tabs of a browser, at the same time as a database schema is being updated.

Secondly, while I don't think there is any realistic alternative to agile development, it seems that nontechnical POs have captured the software lifecycle. 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.

It seems like the languages have been increasingly targeting the beginner segment (C++ -> Java -> JS -> Python), while the tasks have been getting more complicated (b2b distributed systems, 24/7 uptime, millions of users, resistance to hackers, machine learning, etc.)

willchis 3 hours ago | parent | next [-]

> 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.

And then when the MVP is done, it magically becomes the shippable product. Then just when the team is getting to grips with how to improve the product, management does a reshuffle and moves teams around. "EXCITING NEWS GUYS, congratulation to Jimmy Whatevs for being promoted to SENIOR Director, he will now head-up the cross-functional-operations team which will be folded under the product-support division."

steveBK123 2 hours ago | parent [-]

Product guys always optimizing for green status reports over actual working products that please customers.

steveBK123 2 hours ago | parent | prev | next [-]

> Secondly, while I don't think there is any realistic alternative to agile development, it seems that nontechnical POs have captured the software lifecycle. 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.

100% agreed on ProductManager-ism/MVPitis is a cause of so much of this.

One can "do agile" a bit less literally & stupidly.

For a lot of software infra or even user facing apps, you really can plan out more than a sprint or two. This might be the MVP, but there is prior art in the space / competitors / devs with experience on the team. You probably should think about what the app should be capable of 3/6/12 months out.

When you follow a GPS for directions, you generally take a look at the overview first, make sure it's not driving into a lake or taking you to a similar address in another state. My car even shows me the next 3 steps on the path as I go, I like that.

Agile should not mean blindly "take 1 step and only then contemplate what step 2 to take once you complete that 1 step". And yet that is how MANY shops implement it in practice.

bregma 5 hours ago | parent | prev | next [-]

They made programming so simple any idiot could do it. So they do.

timedude an hour ago | parent | prev [-]

Uncle Bob has fully embraced AI and is risking becoming part of the problem these days.