Live data from Hacker News

AI-enhanced development makes me more ambitious with my projects

simonwillison.net

261–270 of 519 posts

Re: AI-enhanced development makes me more ambitious with my projects

#261
post #143

Earlier quoted context omitted.

This assumes that a future version won't have super-human coding abilities which can write code vastly better than any human. The language it writes in might not look anything like our current languages, because it might be able to write highly efficient code that it would be too slow and impractical for a human to write, and refactoring the entire codebase might happen automatically overnight rather than slowly acro…

I agree, but that's a long time away, maybe five or six years. Until then (and even after) we'll need people that can interface with lower-level systems and also have prior experience. This also doesn't take into account countries that will effectively ban usage of companies like "Open"AI (which "Open"AI will be more than willing to enforce), and on top of a possible thin-client revolution, we'll see demand for human…

Countries would be insane to ban companies like OpenAI. What a huge foot-gun that would be!

Imagine if a country banned computers in 1979 to protect jobs, other countries would have run circles around them and it would have had huge economic implications.

Re: AI-enhanced development makes me more ambitious with my projects

#262

Earlier quoted context omitted.

You don't need to kill a chasing bear to survive, you just need to run faster than your friend.

Which pretty much sums up today's work culture. I was just talking about this same exact thing, yesterday. That's absolutely heartbreaking. In the old days, we would have a team, that would compete, as a team, against other corporations. Our team would stick together, work together, and, quite often, function as a unit; leveraging each others' strengths, and compensating for each others' weaknesses. Nowadays, we look…

I never publish or react to individual velocity as a manager. It's all about what the dev and QA team gets across as a whole to the Done pile each week, and I use a rolling ten week average. I know what each person is doing still but if they spend four hours collaborating on something nobody loses points.

Re: AI-enhanced development makes me more ambitious with my projects

#263

Earlier quoted context omitted.

In Jiro Dreams of Sushi, the new staff starts from cooking rice perfectly first and perfecting roasted seaweed before moving on to preparing an egg sushi and then graduating to fish. It's not grunt work. It's how new engineers learn the ropes and gain experience doing low risk work; it's part of the learning process that only feels like grunt work to a senior dev.

I do not think that OP is arguing you should not learn the basics. Tools like Copilot are very useful because if you need to create a function that takes a FLOAT in addition to the one you just wrote that takes an INT then its right there already. Sometimes I am just trying to bang together something quick for testing just so I can continue on with the actual project. When I learned to write I did not just paste from…

> I do not think that OP is arguing you should not learn the basics.

That's not my point, per se.

> It's clear that we have too much grunt work.

What one might see as "grunt work" is what another might see as "learning the ropes".

You can make the case "with ChatGPT, we no longer need to learn the ropes".

But it's really hard to predict how that will affect the next generation of engineers -- I don't even know if "engineers" is the right word -- if they only understand how to ask and not how to construct.

I'd say that my point is that grunt work is very meaningful to someone who is in a different phase of their career. It's not just grunt work, but a pathway to learn.

Re: AI-enhanced development makes me more ambitious with my projects

#264
post #36

Earlier quoted context omitted.

It’s crazy to think about. We are nearing the end of the age where people who have been programming for “20 years this year” and self-taught probably learned to program from books. In the next few years, people who have been “programming for 20 years” might start to include YouTube learners and boot campers. As someone who learned to program from two gigantic tomes of C/C+ with a Borland Compiler, there was no copy/p…

Don't forget the ones who learned to program from colorful 1980s Usborne BASIC books. (Also with no copy/paste, and having to use a tape cassette to save the listing.)

The Amstrad CPC 464 had a "copy cursor" and a "copy" key. Holding down shift and using the arrow keys let you navigate a second cursor to text you wanted to copy, then the "copy" key would insert the letter under the copy cursor at your insert cursor and advance both cursors forward one character.

The C64 wasn't as good a BASIC environment. You can overwrite text in a program listing and press ENTER to update a line, which can copy a line if you can squeeze in a new number.

Neither were as good as Acorn's BASIC.

For a couple of years in secondary school, my alarm was a program I wrote every night on my CPC 464. My tape drive was broken, so I had to type every program in fresh. If I wanted to wake up in the morning, I'd write a nested loop over the hours and minutes and start playing sound.

Re: AI-enhanced development makes me more ambitious with my projects

#265
post #6

@Simon, I love this. And one day, in the not too distant future, a few old wizened graybeards, like you and I and the other folks on this site who have been writing code from scratch for 20 years, will be the magicians who walk the earth among mere mortals who only learned to code with the assistance of ChatGPT. We will be the ones with the preattentive syntax parsing in our brains that let us simply see basic syntax…

That would be nice for us, but it's unlikely. Knowing the subtlelties of memory management in the 80' didn't help the Ruby coders to create RoR and run Basecamp, or the Python coders to create Django and run the Washington Post. People jumped at ORM, CSS frameworks and JS wrappers, and won the day because they traded memory and CPU for what the user wanted. The new generation will do the same. They will figure out ho…

> Knowing the subtlelties of memory management in the 80' didn't help the Ruby coders to create RoR and run Basecamp, or the Python coders to create Django and run the Washington Post

Those programmers didn't need to know the subtleties of memory management because when they programmed in Ruby they didn't have to debug in C. GPT is very different.

Re: AI-enhanced development makes me more ambitious with my projects

#266
post #36

Earlier quoted context omitted.

It’s crazy to think about. We are nearing the end of the age where people who have been programming for “20 years this year” and self-taught probably learned to program from books. In the next few years, people who have been “programming for 20 years” might start to include YouTube learners and boot campers. As someone who learned to program from two gigantic tomes of C/C+ with a Borland Compiler, there was no copy/p…

Don't forget the ones who learned to program from colorful 1980s Usborne BASIC books. (Also with no copy/paste, and having to use a tape cassette to save the listing.)

As a grown ass man, one of my favourite books remains one of those Usborne electronics books for children.

It explains some basic concepts beautifully, far better than I can.

Re: AI-enhanced development makes me more ambitious with my projects

#268

This is one of the few times I've read a post about using GPT for dev work that has actually made a somewhat convincing argument. In my day job, there's been various attempts to use GPT to speed up some work, which has generally resulted in me having to fix "confidently incorrect" code. The outputs usually about half right when its usable. Using an LLM to basically auto complete trivial bits of code that are "just ty…

>> The outputs usually about half right when its usable. For data projects/pocs/mvps using python its saving me lots of hours, you have some tiny mistakes, but once I have the idea in my head I just iterate and in 30min or less I have "written" the code for what would take me many hours.

I think over the weekend I'll see how it handles some trivial-but-annoying/tedious data mangling tasks.

There's a few small projects I have been procrastinating for ages that just will require a lot of "tedious but trivial" hand jamming of 90% boilerplate that may be well suited to LLM generated code.

Re: AI-enhanced development makes me more ambitious with my projects

#269

Earlier quoted context omitted.

> 1. It's clear that we have too much grunt work. Im not sure if this is a failure of language design or libraries, but we need to do better at the core. We've been iterating over that for decades, there's always one more step of grunt work to remove, one more layer of boilerplate code to move into the compiler (or a code generator), one more deployment task to automate, one more elegant new syntax to add to a langua…

Yeah, and for each piece of boilerplate we remove, we add another few layers of abstraction. At the end of this process we are stuck with crap like YAML and JSON (or, heaven forbid, XML) with the business logic being thinly spread out between logic in shell scripts, shell variables (for CD, for example), in YAML and/or JSON and/or XML within the frameworks in use (spring, mybatis, etc), multiple third-party libraries…

Reminds me of a case where I was trying to help debug some legacy code. I had a simple question, what code gets executed when this method is triggered via the network request. And the final answer that i got from the developer maintaining that code was: I have been working on this for the last 9 months and I have not yet been able to find he entry point from where the requests are handled

I would hope that, in future, some chatgpt like tool would be able to answer basic questions like this and help a new developer start getting productive in much shorter time than now.

Then imagine asking that tool to summarise all the business logic applied in the project or ask questions abou which all sections of the code may need investigation to analyze a bug and come up with a solution.

In the end, I would think of these ai tools as something that can function like another junior or even slightly experienced developer in the team.

Re: AI-enhanced development makes me more ambitious with my projects

#270

Honestly, I keep secret some of the amazing uses of ChatGPT. I feel selfish but also I feel as if everyone is respsible for what they get out of it. We have many people and the media spending hours and tons of prompts trying to create funny or eyebrow raising headlines. I just keep my head down an marvel at the growing array if uses, many complex, that chatgpt can perform. It has been making me tons more money for ju…

Same. I'm almost inclined to include prompt engineering as a skill in my CV next time I'm out looking for jobs.

You absolutely should. This has gone from an obscure research product to household name incredibly quickly. South Park even made a full episode about it.
Post reply on HN