• 0 Posts
  • 370 Comments
Joined 3 years ago
cake
Cake day: July 14th, 2023

help-circle





  • AI (through agents, but even completions to an extent) extends your reach and reduces your grasp.

    For some sectors, that’s perfectly acceptable. There are plenty of codebases that don’t need to worry about keeping devs accountable.

    There are also plenty of business models these days (especially in the Trump era) that face no downside from failing to keep devs accountable even if they should. VC-backed vaporware looking to exit before they drown in tech debt, private equity acquisitions that just need to bleed existing customers dry while disemboweling the productive capacity of the firm, or even publicly-traded brands that are chronically unable to think past next quarter’s P&L. And especially if they’re already a monopoly.

    The trouble is really when a CTO misunderstands what kind of business they’re running, and considers the wrong folks to be their “peers”. There’s a big incentive to just copy whatever Amazon/Microsoft/Google says. It’s the new “nobody ever got fired for buying IBM”.

    Idk if that’s your situation or not.



  • Is there a perfect building?

    Probably not, since they exist in an environment — which is constantly changing — and are used by people — whose needs are constantly changing.

    The same is true of software. Yes, programs consist of math which has objective qualities. But in order to execute in the physical world, they have to make certain assumptions which can always be invalidated.

    Consider fast inverse sqrt: maybe perfect, for the time, for specific uses, on specific hardware? Probably not perfect for today.




  • Except that code is generally made of… other code. And generally gets transformed from some kind of source form to some kind of deployment form. And then executed by some kind of runtime, made of code. On some kind of OS, made of code.

    The level of abstraction at which you make paper by hand is pretty much constant. The level of abstraction at which you make even a “hello world” program by hand is extremely flexible.

    Depending on your operating environment, even an incredibly complex and impressive task may just be a matter of passing the right flag to a CLI tool that you already use.

    Being attentive to the manual experience of how a codebase “feels” is pretty important for making sure a system has a coherent (read: not over-engineered) approach to bridging the high and low levels of the tasks it performs.

    Not paying attention to that, because you can delegate it to a chatbot, is kind of like forgoing having light switches in a room because you can just keep a crane parked outside and have it slam a lighting fixture through the ceiling when you need it and then dump a mound of dirt to cover the hole when you don’t need it.

    Like, that functions and accomplishes the task in a pinch, but you do not want to try occupying that room in person at any point to do any kind of detail work.


  • In order to be effective at software engineering, you must be familiar with the problem space, and this requires thinking and wrestling with the problem. You can’t truly know the pain of using an API by just reading its documentation or implementation. You have to use it to experience it. The act of writing code, despite being slower, was a way for me to wrestle with the problem space, a way for me to find out that my initial ideas didn’t work, a way for thinking. Vibe coding interfered with that.

    If you’re thinking without writing, you only think you’re thinking.

    – Leslie Lamport

    Yep. This what I don’t get about people who are using these spaghetti-bots. How do they figure out the right solution to a problem without actually walking around the whole perimeter of the problem?

    My guess is they are not, and they’re just waiting until someone complains and they’ll get a job somewhere else and leave the mess for someone else(‘s chatbot) to clean up.

    Between that and the death of open source, our industry is about to become a disaster area.