logoalt Hacker News

hypendevtoday at 11:54 AM1 replyview on HN

Having worked in/with multiple agencies over the years - working with humans who don't care/are pressured to just ship was exactly what he describes.

For example, I collaborated together with an agency that was working on a popular regional banking app. I was on another project with them and at one point decided to check out what they were doing.

It was a clusterfuck, to say the least. Four developers, four different architectures in the same codebase. One doesn't really understand the others, so he just sticks to his part.

The seams between the ownership parts are full of hacks. Concurrency issues are dealt with via hacks, just make things global and poll to check them. Navigation issues were solved by basically just reseting the app back to homescreen. Testing wasn't really a thing, and the tests that were there were mostly broken ages ago, and nobody cared enough to fix them.

Product didn't care much, designers would prototype a feature, then devs would implement it and wait until the backend is done, then fix things because they never really aligned on the specs. Sometimes, there would be no design review or QA and they would just ship, while sometimes the product person would jump in and test something because it's "an important feature".

Then I got asked to collab with them on another project. Huge customer, huge project, existing codebase. The codebase was so bad I just wrote it from scratch. It was Java written like it's C++. Backend was python code, not updated in years, quadratic scaling everywhere. At one point, the inital GET request was taking over 3 minutes. I took a look and ofc, they didn't even use indexes in the DB.

For these environments, AI coding will just scale up the shit they have, but also allow the small amount of people who might care to deal with this mess and fix it up much much faster than they could before.


Replies

pizza234today at 12:29 PM

> For these environments, AI coding will just scale up the shit they have, but also allow the small amount of people who might care to deal with this mess and fix it up much much faster than they could before.

I think in these contexts AI has an overall positive effect, because it's a bit like having a competent developer that can solve technical debt, albeit in a narrow form.

So I think that software will be better in a certain way due to AI, because even a terrible developer can ask AI to identify the bottlenecks and solve them.

The downside of blindly using AI in software development is that the software becomes poorly defined. AI-generated logic can be arbitrary, and as the codebase grows, more rules and assumptions become unclear.