I am known for analogies. I use them all the time to try and explain things to less technical people.
Sometimes it's building a house, sometimes it's writing a book, sometimes it's the difference between a Ford and a kit car, sometimes it's how you build a bridge.
None of them stand up to full scrutiny. You can pick every single one apart.
That's not the point of analogies. The point is to explain just one of the many aspects of software engineering in a more understandable format to the listener. Software engineering is nothing like building a physical thing. But some of the many, many problems and complexity you hit have physical product analogies.
They use it in the city heating system, which is obviously the optimal way of reusing the heat but most data centers aren't put next to such a heating system.
I'm talking about making electricity back from the heat (using a low-temp thermodynamic cycle). It has a low yield (due to the low input temperature) but it's usually economically viable when using heat that would end up in the heavens anyway.
When I hit a problem like that, I do most myself and just get the AI to do the bits where I'd normally get stuck because of boredom. Bits that I can't be bothered to write as they're easy but laborious.
And then get it to review the code, where it'll pickup a few edge cases.
But I don't really get the attitude that we shouldn't write code anymore, for me it's often quicker to write the code than to explain to the AI how to write it.
Sometimes when I'm.sitting there watching it chug away for 5 minutes over what should be a three line change, I'll just stop it and do it myself, and then at that point I'll often take over completely for a while.
This is sort of my approach as well, but is your team on the same page as you? or are they far more AI-pilled? everyone around me is much more AI-pilled so this mismatch in approach to AI is making it hard to collaborate
As 80% of enterprise software is CRUD with a bit of sprinkling of user authorization and tenant customisation. But subtly different for every business domain. It's mainly what properties the models and validations have that are different.
When you add a new module or whatever most of the code you have to write is rote code.
And sonnet can handle that crap just fine, you just point it at a similar example in the code, it picks up your userContext convention, how you're doing i18n, etc. and you're done.
I like saying that enterprise code is often shallow but wide. I must have written at least 4 purchase order systems in my career that are all completely different but almost exactly the same.
Sorry to call bullshit but I think that’s exactly what this statement is.
Just looking at our wardrobe and thinking about how it’s actually not one thing at all, but made up of dozens of different SKUs, and how I could reorder any of them individually if I needed. There are also third party sellers of parts such as runners, door rails, and the like (not that you need them since these can all be purchased from IKEA anyway).
The challenge with IKEA is colours: they used to offer more colours, but now lots of stuff is black white, grey, or beige with no other options (and sometimes white is the only option). If you need to replace a part in a colour other than that nowadays, you’ll perhaps find it difficult to impossible.
Depends on the specific piece of furniture, and how well you treat it. I have had quite mixed experience. Its not going to last like expensive stuff, but its generally far from the worst.
Sometimes it's building a house, sometimes it's writing a book, sometimes it's the difference between a Ford and a kit car, sometimes it's how you build a bridge.
None of them stand up to full scrutiny. You can pick every single one apart.
That's not the point of analogies. The point is to explain just one of the many aspects of software engineering in a more understandable format to the listener. Software engineering is nothing like building a physical thing. But some of the many, many problems and complexity you hit have physical product analogies.
Don't stretch analogies too far as they all pop.
reply