We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms. I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library go…
I'm exactly the opposite. I like knowing how the code works, what the data structures are, what APIs are being used, and yes even typing the code into the editor. When I'm working with LLMs there's less thinking. I'm bored. My brain is not fully engaged in the task. There's less sense of accomplishment in the finished product. I also prefer to drive cars with manual transmissions.
Don't be the out of touch Kung Fu master
331–340 of 427 posts
Re: Don't be the out of touch Kung Fu master
#332Earlier quoted context omitted.
No, software engineering is fundamentally changed because of AI. No amount of digging our heads in the sand is going to undo that. For example, the traditional best practice cycle of "small incremental change, code review, test, commit" is pretty much obsolete now. The way ten collaborating agents can make short work of a complex project is not something that fits in with our existing software engineering wisdom at a…
I'm not talking about the transient aspects of producing software; I'm happy to accept that AI will change that, but also I feel that it will change it in ways that really aren't very hard to learn, and truth be told the more time that passes the smaller the gap will get as the agents get more capable. what I am talking about is principles that govern what good software looks like, what properties it has to satisfy i…
Yup. A lot of work is going in to reducing the skill required to operate AI agents.
Re: Don't be the out of touch Kung Fu master
#333We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms. I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library go…
I'm exactly the opposite. I like knowing how the code works, what the data structures are, what APIs are being used, and yes even typing the code into the editor. When I'm working with LLMs there's less thinking. I'm bored. My brain is not fully engaged in the task. There's less sense of accomplishment in the finished product. I also prefer to drive cars with manual transmissions.
I'd say it probably depends on the kind of work you do - if the low level details are exciting then that's totally understandable. But if you're dealing with more rote CRUD work or soul sucking enterprise bullshit, then probably less so and the low level details are obstacles to getting things done, alongside sometimes unreasonable workloads.
I'm reminded of: https://www.stilldrinking.org/programming-sucks
> Every programmer starts out writing some perfect little snowflake like this. Then they’re told on Friday they need to have six hundred snowflakes written by Tuesday, so they cheat a bit here and there and maybe copy a few snowflakes and try to stick them together or they have to ask a coworker to work on one who melts it and then all the programmers’ snowflakes get dumped together in some inscrutable shape and somebody leans a Picasso on it because nobody wants to see the cat urine soaking into all your broken snowflakes melting in the light of day. Next week, everybody shovels more snow on it to keep the Picasso from falling over.
That said, AI will probably saturate most CRUD work first, which doesn't make for great job prospects.
Re: Don't be the out of touch Kung Fu master
#334Re: Don't be the out of touch Kung Fu master
#335Earlier quoted context omitted.
And 80 years ago cars didn't have seatbelts. Your point?
Careless drivers got weeded out. Cars today are safer than ever. Drivers (in my memory anyway) have never been worse.
However, what actually happens is that careless drivers often cripple or kill innocent bystanders in other vehicles as a result of their poor driving. That's why seatbelt laws and improved vehicle safety features are a good thing.
Re: Don't be the out of touch Kung Fu master
#336We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms. I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library go…
> AI-assisted coding, on the other hand, rekindled my passion for computers. "Walking on stilts made me taller"?
Re: Don't be the out of touch Kung Fu master
#337Re: Don't be the out of touch Kung Fu master
#338Earlier quoted context omitted.
> For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous, look, your application works, right? so it doesn't really matter what you or i think, and this is why AI matters. but this, your "100% test coverage" - that is pure slop. just 20 years ago, all the most popular software shipped with NO tests. are you getting…
> just 20 years ago, all the most popular software shipped with NO tests Are you getting older? A lot of people anchor their intuition of time and history to a certain year. There are probably still lots of people who think the 1990s is not that long ago even though it’s now over a quarter century since it ended. Maybe you mentally default to 2012 or so, when it might be true that most popular software shipped withou…
I agree with the spirit of what you wrote, but my recollection of the timeline is different. The first decade of the 2000s was peak Crazy Agile Advocacy, but IIRC it wasn’t until the 2010s that unit testing really became almost universal practice. Much before that and it was still tangled up with XP, TDD and lots of other things that certainly weren’t universally accepted as good practices (notwithstanding the strident advocacy of a certain group of consultants/authors/speakers/bloggers and their fans).
I remember, back in the mid-2000s, when we had some consultants brought in to talk about different aspects of quality and testing. There were several working groups, each led by one of those external consultants, and one of them was about unit testing. This was in a relatively large software development organisation for the time, a few thousand people, and while some parts of the organisation had some form of automated testing operating by then, it definitely was not the case that the well-known products produced by the organisation all had a unit test suite. Other practices we’d consider routine today, such as peer code reviews, were also in their infancy during that period: some were doing them, many were not, and generally we had much less experience of how to do them effectively than we have today.
As an industry, I don’t think we really matured in how even the most ardent fans of unit testing were writing test suites until the 2010s either. In the 2000s, we still had lots of people mocking the entire universe and then writing unit tests that were 99% testing those mocks because of 100% test coverage requirements, and similar dogmatic nonsense.
By the 2020s, I think there was much more awareness of that automated testing is generally a good idea, but there are different kinds/levels of automated testing and finding a mix that suits each project’s specific needs is important. One of the great benefits from the more recent AI tools, particularly the agentic ones over the past year or so, has been that it has clearly demonstrated both the value of a good automated test strategy and how much of a waste of time vacuous tests are.
Re: Don't be the out of touch Kung Fu master
#339With Instant Indian, all your code writing worries are now a thing of the past!
Have a dropdown menu to implement in Angular? Instant Indian.
Boss wants to use GraphQL? Instant Indian!
You can even use it for sexua ...
Never think again! Simply launch the Instant Indian dashboard and enter some vague product requirement just like every PM in history and in seconds your Angular v1 controller will be ready to use - in React!
Call now!