Live data from Hacker News

The bottleneck was never the code

thetypicalset.com

301–310 of 446 posts

Re: The bottleneck was never the code

#301
I think this is the wrong conclusion.

Whether code is the bottleneck likely depends on the organization. In mine, code is the bottleneck. AI has pushed it so validation is now the bottleneck. If it is such that the devs are "middlemen" such they can't spec things, then I think whoever can spec things is likely the bottleneck.

Re: The bottleneck was never the code

#302

It's hilarious to me to see the same kind of engineer, who throughout my career have constantly bitched and moaned about team meetings, agile ceremonies, issue trackers, backlogs, slack, emails, design reviews, and anything else that disrupted the hours of coding "flow state" they claimed as their most essential and sacred activity to be protected at all costs, suddenly, and with no hint of shame, start preaching abo…

They were right back then because these tools didn't exist yet, and they're right today because they do now.

What even is your point? Are you... mad because the truthiness of a statement can change over time?

Re: The bottleneck was never the code

#303
The bottleneck was ALWAYS the code, which is why everything was built around it.

This is the key line right here:

> Negotiating, agreeing, communicating the shared picture of what we are building has become the work. And it’s just as hard as it was.

But if software (via code) is what we ultimately produce and sell, how did we get here? The main reason is the following lemma:

Lemma A: "The loss of fidelity of what can fit in any one person's head scales superlinearly (exponentially?) as the scope of work scales up." Or more colloquially: "It is impossible to fit a large scope of work in any one person's head." This is largely because any non-trivial task is a fractal of smaller dependencies.

The chain of logic to today's situation is then obvious:

1. Writing code requires humans who are slow and expensive.

2. To do large things we need large groups of humans.

3. As the number of humans grows (like beyond 5? 10?) it becomes impossible to keep them aligned, largely because Lemma A.

4. We need to coordinate these humans, so: enter managers!

5. But even a manager can't manage too many people and coordinate with all other managers because, again, Lemma A. Enter hierarchy!

6. As the size of the organization grows, so does the coordination overhead (exponentially, if Google AI overview is to be believed) until as,that quote surmises, the majority of the work is just that.

7. Coordination costs (or "Conway Overhead" as I call them) are very well understood in the literature, but this also brings in undesirable dynamics like bureaucracy, politics, organizational metrics (also due to Lemma A, but now triggering GoodHart's law!) and eventually territorial disputes and empire-building. Lots of friction and subtle mis-alignments.

As you can see the overhead scales superlinearly with the number of leaf workers added. And for the same reason, once the leaf workers are decimated because one worker can now do the work of a whole team, the entire organizational overhead above that is gone, which is also a superlinear change! Assume a conservative 2:1 reduction in ICs and a 1:5 manager:reportee ratio, a simplistic hierarchy that was:

1 CEO -> 5 VPs -> 25 Dirs -> 125 Managers -> 625 ICs

now becomes something like:

1 CEO -> 12 SVPs -> 60 Sr. Managers -> 310 Sr. ICs.

Not only did that eliminate 300 ICs (mostly junior I suspect) it took out 60 managers and removed an entire layer of Directors from the hierarchy! Worse, the leaf-layer will probably get decimated 5:1 not 2:1, and this will also eliminate coordination-specific roles like Program Managers. The rest of the hierarchy is much fewer but mostly more experienced (or politically savvy) people. They will be paid more, but not superlinearly more, of course, what do you think this is, socialism?

It's very much a pyramid scheme of cards built on that one bottleneck. And this bottleneck applies for pretty much all knowledge work. Once that bottleneck opens up, everything collapses. This is why I fear that the coming job changes are going to be much more disruptive that people realize, something I'm extra concerned about as a parent of high-schoolers.

Re: The bottleneck was never the code

#304
It shares some ideas with Peter Naur "Programming as Theory Building".

Quote from the post article: "To quote Michael Polanyi: we know more than we can tell. Some load-bearing context exists precisely because it was never put into words, and writing it down would change what it is."

Imagine how much knowledge exists only in the heads of software engineers, with code being just a functioning footprint of that "Theory". I know SRE in FAANG who told me that multi-billion system is supported by tribal knowledge within their group, and for years, even pre-AI it was a protection against automation.

Re: The bottleneck was never the code

#305

Earlier quoted context omitted.

> Just because your values or principles changed doesn’t make you a suddenly no longer a hypocrite Uh yes it does?? What are you talking about. https://www.google.com/search?q=hypocrisy

Bottom line is the people described as hypocritical in the comment have no principles, but rather feign passion in anything they think other people consider valuable. When devs thought coding skill was valuable, that's what they claimed to be passionate about, when the game changed and communication became key, they suddenly changed their passion. Either the timing is a coincidence, or they are hypocrites. I don't th…

You're trying to turn flexibility and the ability to adapt to new circumstances into a vice.

You're wrong. It's a virtue.

Re: The bottleneck was never the code

#306

It's hilarious to me to see the same kind of engineer, who throughout my career have constantly bitched and moaned about team meetings, agile ceremonies, issue trackers, backlogs, slack, emails, design reviews, and anything else that disrupted the hours of coding "flow state" they claimed as their most essential and sacred activity to be protected at all costs, suddenly, and with no hint of shame, start preaching abo…

I do need to point out that not all meetings are equal, and the "hypocrisy" you are seeing may come from different groups of people.

Re: The bottleneck was never the code

#307
post #11

Bottleneck for what? More features? I don't think amount of software is what determines whether a company does well. I don't think capturing quantity of context is that important either. Now, quality of context. How well do the humans reason? Then, attitude. How well do the humans respond to bad situations? Then, resource management. How well does the company treat people and money? Finally, luck. How much of the unc…

> Bottleneck for what? More features? Code changes. Not necessarily features, but also bug fixes, plain old maintenance, and even refactoring to improve testability. With AI coding assistants, what in the past were considered junior dev tasks are now implemented with a quick prompt and an agent working in the background. These junior dev tasks are now effortlessly delivered by coding assistants, with barely any human…

> Backlogs are cleared faster than new items are added

Totally depends on what kind of product and codebase.

Last time I checked, the number of open issues in Claude Code repo has increased.

And I have seen tons of tickets that are open for years. Not because it's technically hard or anything. An intern can do that. Those tickets are not closed because nobody wants to deal with what comes after it.

Re: The bottleneck was never the code

#308
post #28

Earlier quoted context omitted.

Are you referring to the author specifically? Or a specific hypocritical person you know? If you're making a general statement about groups of online people you might be falling for the group attribution error[1], where the characteristics of an individual are assumed to be reflective of the whole group. In any case, two things can be simultaneously true: 1. Writing code is not the bottleneck, as in we can develop fe…

Or just goomba fallacy

You're making a strawman

Re: The bottleneck was never the code

#309
post #17

I think veteran engineers have always known that the real problems with velocity have always been more organizational than technical. The inability for the business to define a focused, productive roadmap has always been the problem in software engineering. Constantly jumping to the next shiny thing that yields almost no ROI but never allowing systemic tech debt to be addressed has crippled many company's I have work…

For veterans engineers that might be true. But for a junior engineer pre-AI, velocity has always been technical. I know junior engineers who after a whole year of writing C++ still does not grok std::unique_ptr; and this person consistently has the least velocity on their whole team. When I used to write performance reviews for junior engineers, their performance really was dominated by their velocity, which was roughly measured in lines of bug-free code written within a time period. A good junior engineer would be given a clearly defined feature and write good code quickly, whereas a worse junior engineer would be given the same thing and write code slowly or write buggy code quickly that required so much work debugging and rewriting.

Re: The bottleneck was never the code

#310
post #101

Earlier quoted context omitted.

Not a false dichotomy. I agree with OP and I can say for certain that if you are one of the few developers that is "fond of meetings with customers" you are not the the type of person OP is talking about, and you are more rare than you think. I am a former Dev turned PO/PM and now CEO, I can tell you many a developers are not fond of those meetings you are fond of and people like myself don't insert our selves where…

100%, majority of the posts here are based in fantasy of how the world should work. They're also highlighting why most Devs cant deal with customers effectively. Customers aren't showing up with a clear spec and handing it off while middle managers butt in and ruin the whole thing. Though I agree, most managers are BSing way too much, but the reality is that most Devs cannot navigate conversations like they think the…

I live by these words: “if the client could enunciate a perfect spec, they would code it themselves”. Software development is about helping people get what they want out of a computer. Not what they can specify, that’s asking way too much.
Post reply on HN