I honestly have no expert knowledge about this stuff. What I say is based only on intuition.
- China is heavily, heavily incentivised to enhance their own chip making
- Looking at the rate Chinas has expanded into just about every single other
space, and from quantity to quality, I just think it is impossible that they
don't compete on equal grounds pretty soon.
- I don't buy the insurmountable moat of TSMC
Software engineering as we knew it is not coming back, except maybe for very niche fields and your own crafting.
Many other engineering fields have experienced this change long ago, where the majority of the "craft" is done by algorithms. Think chip design, aerospace, automotive, structural engineering, material design.
Their engineering is now focused on higher level design (and even that, less in some cases), and verification.
Programmers are not a special species, immune from this trend. Heck, we are the ones who did it to the other fields, and so it is quite amusing that we're not crying when it is our turn.
That doesn't sound completely correct to me. How many people out of a million US citizens would intentionally order a strike on a school filled with children? I like to think the answer is at or near enough to zero.
I don't really find it plausible that there are enough samples in the powerful people to uncover a chain of command that all agree to intentionally murder school children.
The most likely explanation is this was a mistake. But that doesn't absolve anyone from punishment in my view. It should be almost impossible to make a mistake of this magnitude when you're dealing with weapons of mass death, and you should be culpable for the ones you do make.
Doesn't make it less of a war crime. It just makes my point; they're willing to do this sort of thing, nobody is punished for it, so why wouldn't they be willing to murder a bunch of the enemy's children?
Our population is so emotionally stunted that we mature on things like 24 and Game of Thrones, so killing the children of the enemy isn't just a normalized thing, it is a good idea.
I can read the room. Coding is going to go the way of some other disciplines where machines do most of the detail work and and we know stuff works by verification. There are other fields like this.
Do I like it or not? That doesn't really matter. I need a job, so I'm going to get good at the new way to ensure I continue to have a job. I consider this to be a smart thing to do for myself and my family.
I agree with the work changing more towards verification, but if the verification is one LLM reviewing another one, then that isn't really verification. At best you "assume", but you don't "verify".
Unfortunately I see a lot of (senior as well) engineers who think that just a vanilla LLM reviewing another LLM is sufficient, and my comment was directed towards those. If however you see the LLM era as needing more test support and systems than ever before in the form E2E tests and so forth, where "code review" as such becomes mostly irrelevant as you have such a strong test system in place that if that passes you can be sure it doesn't break anything for users, then yes, that's good.
What I mean is verification through testing, and perhaps other more formal means. This has happened to other engineering domains, yet us programmers have so much hubris that we think it can't happen to us. And everyone is throwing their toys out the cot because it looks like it is actually going to happen.
Code reviews may not even happen, or if they do, it'll be all automated, and the verification will be the key.
Ask anyone in the semiconductor industry when last they understood the design of those things.
Unfortunately, a lot of previous PR reviews already were just gatekeeping, or "presenteeism". People would leave comments about class names or method names, like they couldn't understand what an `apply` method, the only method, meant on a class with that was already named appropriately and did one thing only (to give an oop example). No, the method needed to be renamed `PriceChecks.applyPriceChecksWithTimeConstraints`.
Lots of review comments about various conditions that wouldn't feasibly happen (same shit with claude now).
But then I'd see these same reviewers approving PRs where the bigger design was just fundamentally broken. Oh, we're adding a blocking call on our hot path, but at least the method name makes it very clear that it is blocking.
In general I agree that the current AI reviews are creating too much noise and it is masking these bigger design issues.
>Then we can look at Europe, you have this demilitarized continent that is doing things like seizing Russian ships because they are confident that the US will step and fight a war with Russia on their behalf. Well, they are going to learn that reality has changed and the US no longer has the power projection capability it once did. And what will they do? My guess is that at least one European state will nuclearize.
I was nodding along to your post until this point. Where are you from? Russia is not an innocent party in all of this, which is what your post is implying. Secondly, there are already two European states (who are not Russia) with nuclear weapons.
That's interesting I actually didn't read it this way. I could be wrong of course but I didn't really think op was implying guilt or innocence on Russias part. Just more a statement of what's happening. EU is seizing ships, and they probably do think US will back them, maybe not so much recently haha. Don't think op was making a moral judgement on whether that's right or wrong.
AI coding is only going to increase. Eventually coding is going to join several other fields where it is much more about verification than the building of the code. I predict that eventually most programmers are not going to be looking deeply at the internals of the code, but are going to be spending most of their time on the verification.
If that were to happen those companies, products and practices would fail. They would be out-competed by all the organic enterprise shovel-ware and SAAS shit-code that has set such a high bar of quality over the last 30 years.
Please, lets revisit in the next few years. I think one of us is blinded by bias, and I think it is you, and I think the only way to judge is evidence, since arguments obviously don't make any difference.
This was the exact line I heard during the brexit debate here in the UK. I am not from the UK. I'm not from the EU. I don't know whether than makes my view biased or not, but I hope that I was as unbiased as I could be during that referendum.
It seemed to consist of a bunch of unconstrained and disjointed lies, and whenever the other side tried to point out they were lies, they were told they just weren't listening.
You were right about one thing though, it was increasingly frustrating.
Never use analogies when arguing online. It only ever results in exactly this, people nitpicking the metaphor. You've essentially given them a way to "be correct", about something irrelevant.
You're not an outlier. The anti-AI stance is likely to be vocal online. They're quite incentivised to talk about it. Most programmers have adopted AI assisted programming (my own assertion) and most will feel like you and I, that it is useful. I know of a few programmers personally who hate it, but even they use it. There is no going back.
It is pretty obvious that when you come into a large incomprehensible codebase (which most are), AI will be able to reason about it more quickly and guide you through it.
I switched away from my work for a few minutes, but at the very moment I'm using AI to summarise some spaghetti code in a particular area in our codebase, so I can refactor it.
And that is my style of working at the moment. AI coding is useful, sometimes amazing, but sometimes irritating, and from experience I think just telling it to refactor this area would result in something I'm not happy with. So instead I'm getting a handle on it, I'll form the design I want, then tell it to do it. I have a feeling a lot of complaints are from people who won't bother to do that.
reply