Hacker News new | ask | show | jobs
by aa-jv 22 days ago
Agreed, 100%.

If you cannot formulate a specification, or describe a requirement - or indeed, if you cannot fathom the difference between a spec and a requirement, and why its needed to differentiate these from each other prior to doing a proper design and implementation - then you're going to carry your bad practice into the AI realm and that AI is going to be a force multiplier of your own bad practice. Because you will never know if the specs/reqs/design chosen by the AI are actually appropriate, unless you yourself review those specs/reqs/designs, AND the code produced by the AI to fulfill those specs/reqs/designs...

AI makes the able software developer, more able.

But it also makes the unable software developer, even more unable - with the risk of exceeding the AI-users limits on the Peter Principle scale.. in fact, AI will propel you to the middle of your own Peter Principle dilemma faster than you can type, probably.

Communication and writing skills are essential, with or without AI. But reading skills are even more relevant when dealing with AI. Alas, so few people who choose to use AI, have the temerity to actually do the work - or else they wouldn't be rushing for the AI tool in the first place.

Review, review, review. Always. Read the damn code, no matter who or what wrote it. Make sure it fulfills the specs and requirements its supposed to fulfill - and even more important make sure you, the reviewer, also understand the specs and requirements.

And if you don't, fix that - don't ship it anyway, ffs!

2 comments

I am maybe positing something even stronger: say you had two prompts, both with the same information, one was written in the style of a good paper out of Nature or Science, one written in the style of a bad Twitter post or other kind of mess, even with the same information, I increasingly believe even for the top end models like Opus, the results are at least materially different if not grossly so. I really believe the stronger English input yields demonstrably better outcomes, even if the information contained inside is the same.
Of course - remember it is not trying to answer your question or do what you ask, just trying to do what it was trained to do which is generate the statistically most likely continuation of your input. Your input sets the tone for the type of response that is statistically likely to follow. Idiots tend to engage with other idiots, and experts tend to seek out experts to talk to .. this is what it has been trained on, and is how it is selecting the best (most likely) “response” (continuation) to your input.
For many of these tools your prompt is a small part of the initial input, and it shrinks as a proportion of the total as more information is added to the context.

IME you can get great results from crappy prompts if the surrounding context is high quality, and you'll often get terrible results from great prompts if the surrounding context is low quality or non-existent. Same goes for the training corpus, I imagine.

I think success with LLMs is dominated by giving them a well-structured workspace, high-quality reference material, and strict tools with which they can check their work. Then you only need great prompts when venturing into parts unknown. But for that stuff you may as well write it by hand and get the LLM to fill in the gaps IMO.

True - and some may have been RLHF’d to give more rigorous/expert responses regardless of how the question/request is posed. Still, others responding here say that swearing at the model can be helpful (a signal to cut the BS I suppose), and an LLM wouldn’t be doing the job it was trained for if it’s response wasn’t highly attuned to the input
> Review, review, review. Always. Read the damn code, no matter who or what wrote it. Make sure it fulfills the specs and requirements its supposed to fulfill

This drives me bananas

I love writing code. There's nothing like getting into flow and just building. Reviewing code? Less interesting. Much more tedious. I do it because it's part of the job

So this AI coding shit has completely eliminated the part of the job I enjoy, and replaced it with 100x more of the part I only really tolerate

I don't want this career anymore :/