I think that confuses doing versus delegating. Delegation is easy to do via a text-box, because you're just kicking the interactive complexity-can down the road to someone else, often in a way which can be problematic even with actual humans.
For example, a project-manager or executive could verbally delegate "make a new registration page for the site" and "needs more rounded corners", either to an AI or to an employee or offshore contractor.
However that's not the same as trying to program exclusively by typing (or dictating) prose to a text-box. ("Page down more. Go to method pee-reg underscore apply. Show me its caller methods. Go to caller method two. Type the following into line 7 position 43...")
There might be some parallels we can draw with the last few decades of "programming business logic will be replaced by drawing diagrams" predictions.
This is exactly it, thanks for putting it down clearly.
Which is also why news of the death of programming as a profession are greatly exagerated. You're not being paid to write code, you're being paid to make decisions. Code is easy, or at least much easier than natural language.
You're also paid to tease out the REAL requirements out of PMs/management/users/etc.
Most of the time, what is being asked for, on its face, is not what is actually wanted, not as simple as spelled out, has some A-B tradeoffs to decide, or maybe not worth it given the side effects.
If a developer isn't asking multiple questions per feature, they deserve to be replaced by an LLM.
They won’t be replced by an LLM but by another person using an LLM, most likely a dev and possibly the same person who is asked to use an LLM to increase productivity. I see more and more companies/institutions adopting LLMs and training their workforce to use em. Interesting to know how all this will play out.
Seriously. I think posts/articles/etc related to replacement of Software Engineering jobs to AI are exaggerated and probably driven by jealousy or sadism. Just ignore those and move on.
(It was very depressing to believe that Software Engineers will lose jobs)
Views. I'm inundated with AI content but most of it lacks any substance. It's mostly "wow GPT is really dumb and can't behave like this supergod AGI I just made up" to "wow GPT will take over all our jobs in 3 years, it's so powerful".
Perhaps worse than the vacillation between getting terrible answers and great answers: When you simply can't tell which kind of answer it is, not until you've sunk a bunch of effort validating or implementing it. (Perhaps finding that the system invented some core fake APIs, non-existent citations, or algebra errors.)
Almost an echo of P/NP categorizations: It's tough when the effort of fully verifying a proposed answer is too close to the effort of just solving it normally.
The common occurrence of hallucinations makes it hard for me to believe anyone will be using LLMs to produce code anywhere outside of shops who really don't care about errors. Until they fix that, code is a use case where even slight errors make the output useless.
I have been using Dall-e, and testing the dall-e chatgpt plugin. Even tough both are supposedly natural language interfaces, I find I approach the dall-e prompt more like writing a formula than real language. Using the gpt plugin is like delegating to a designer to write the prompt for you. personally I don't like the results of that compared to what I would make myself.
I don't think they see it the same way. At least not given that instructions in the style GP mentions:
> Instead of just seeing the entire palette and choosing, you need to say "I want a gold color", "lighter than that" and "darker" and "less like urine" etc.
have meme status among designers, and not in a positive way. Some years ago, when I hanged out with a couple designers, I was introduced to Facebook groups exchanging examples of "briefs" and rework requests. Groups with names like "what the psyche of a graphic designer endures".
Stripped of all the banter, I'd say their complaints are the same as ours: vague requirements coming from people who don't know what they want. And like with software, "good results" come as much in spite of, as thanks to, natural language communication.
They (and we) should be glad that we get these vague requests from people who don’t know exactly what they want. If they knew what they wanted in precise enough detail, they wouldn’t need programmers or designers. Much value is added (and paid for) in turning the vague/abstract into precise, concrete, finished artifacts, whether designs or systems.
In the deep past, I considered design to be an industry full of poets and philosophers. I suspect I got this impression from home improvement shows where they bring in an interior decorator to toss throw pillows around. Then I ended up working with three high quality designers in a row.
At this point I consider the design industry to be cousins or even siblings to the software engineering industry. All those incomprehensible design decisions that pop up in popular software don't come from designers debating faux marx or freud in coffee shops at 3am. They show up from management and other stakeholders who at the 11th hour decide that suddenly everything has to be flat because they read something in a magazine.
The bad decisions are fought by designers tooth and nail and the fact that anything looks halfway descent at all is due to their herculean efforts. If anything they deserve more sympathy than we do because we can always retreat into low level communication protocols or type theory when we need to get the muggles off our backs. But everyone has an opinion on how that button looks.
Yes, this matches what I heard and saw when hanging around the designers I mentioned.
BTW, quoting from the penultimate panel of that excellent Oatmeal piece (which drives home just how similar are the experiences of designers and programmers):
> You are no longer a web designer. You are now a mouse cursor inside a graphics program which the client can control by speaking, emailing and instant messaging.
This gains a new meaning, or at least becomes an interesting parallel, with LLMs in the picture. Many of us - myself included - already use GPT-4 as, paraphrasing, "a keyboard inside an editor program, which you can control by instant messaging". Ignoring that diffusion models can spit out parts of the design wholesale, someone is bound to eventually hook GPT-4 up to Photoshop or Gimp and get a graphics program you can drive by texting it.
... just remembered, I think someone already did that to Blender, made easy thanks to Blender being able to eat Python code and spit out 3D graphics.
Tangentially, earlier talk a "text-box interface" made me think of Blender's "type the name of the immediate action you know should be possible but can't quickly find in hierarchical menus" box--a feature also present in some IDEs--and I'd like to emphasize that those things are (A) totally different than all this AI stuff and (B) generally awesome.
Agreed. Unlike the AI stuff with its "empty textbox" problem, fast incremental search is capital-A Awesome! Pretty much my favorite UI paradigm ever, at least out of those that gained adoption after I started using computers.
The best incremental search UIs are those that respond near-instantly, and have a stable list of candidates that is (or at least feels like) being filtered, and not like every keystroke re-runs some search from scratch. Prime example, which made me love this UI paradigm, is Foobar2000 - even back in early 2000s, I could have hundreds or thousands of entries in the music library, and then I would type into the magic textbox and watch that huge list (or tree) get instantly trimmed with each keystroke.
For example, a project-manager or executive could verbally delegate "make a new registration page for the site" and "needs more rounded corners", either to an AI or to an employee or offshore contractor.
However that's not the same as trying to program exclusively by typing (or dictating) prose to a text-box. ("Page down more. Go to method pee-reg underscore apply. Show me its caller methods. Go to caller method two. Type the following into line 7 position 43...")
There might be some parallels we can draw with the last few decades of "programming business logic will be replaced by drawing diagrams" predictions.