Live data from Hacker News

A coder considers the waning days of the craft

newyorker.com

721–730 of 1001 posts

Re: A coder considers the waning days of the craft

#721
post #78

Earlier quoted context omitted.

If software dev is simplified to the point people working jobs like you describe are able to do it, wages will also plummet, so it’s not like their situation is going to improve.

If a developer making $1/hour produces $10 output (of something people buy), then if you add another developer making $1/hour produces $10 of output, you have $20 total product. Developer A and B can compete on their rate down to the point that it's not sustainable, and thus, an equilibrium will be struck. How is adding more developers going to reduce the output?

> How is adding more developers going to reduce the output?

time spent coordinating, time spent arguing, time spent reaching consensus (dumb example: function signatures / architecture / api contracts), time spent comparing approaches.

Re: A coder considers the waning days of the craft

#722
post #280

Earlier quoted context omitted.

AI might help programmers become more rigorous by lowering the cost of formal methods. Imagine an advanced language where simply writing a function contract, in some kind of Hoare logic or using a dependently-typed signature, yields provably correct code. These kinds of ideas are already worked on, and I believe are the future.

Formal methods/dependent types are the future in the same way fusion is, it seems to be perpetually another decade away. In practice, our industry seems to have reached a sort of limit in how much type system complexity we can actually absorb. If you look at the big new languages that came along in the last 10-15 years (Kotlin, Swift, Go, Rust, TypeScript) then they all have type systems of pretty similar levels of p…

> If you look at the big new languages that came along in the last 10-15 years (Kotlin, Swift, Go, Rust, TypeScript) then they all have type systems of pretty similar levels of power, with the possible exception of the latter two which have ordinary type systems with some "gimmicks".

Those are very different type systems:

- Kotlin has a Java-style system with nominal types and subtyping via inheritance

- TypeScript is structurally typed, but otherwise an enormous grab-bag of heuristics with no unifying system to speak of

- Rust is a heavily extended variant of Hindley-Milner with affine types (which is as "academic type theory" as it gets)

Re: A coder considers the waning days of the craft

#723
post #326

Earlier quoted context omitted.

It is especially sad that VC money is currently being spent on developing AI to eliminate good jobs rather than on developing robots to eliminate bad jobs.

Many machinists, welders, etc would have asked the same question when we shipped most of American manufacturing overseas. There was a generation of experienced people with good jobs that lost their jobs and white collar workers celebrated it. Just Google “those jobs are never coming back”, you’ll find a lot of heartless comparisons to the horse and buggy. Why should we treat these office jobs any differently?

If I didn't celebrate that job loss am I allowed to not celebrate this one?

Re: A coder considers the waning days of the craft

#724
AFAIK the go and chess models played themselves to improve. They weren't trained on games played by junior players. So far, coding LLMs don't try to compile and run their code and check the output. They don't fuzz the inputs to look for errors. There aren't competitive, adversarial LLMs trying to outcode each other or fool each other.

Re: A coder considers the waning days of the craft

#725

I have a simple front-end test that I give to junior devs. Every few months I see if ChatGPT can pass it. It hasn’t. It can’t. It isn’t even close. It answers questions confidently but with subtle inaccuracies. The code that it produces is the same kind of non-sense that you get from recent bootcamp devs who’ve “mastered” the 50 technologies on their eight page résumé. If it’s gotten better, I haven’t noticed. Self-d…

> I have a simple front-end test that I give to junior devs.

What is it?

Re: A coder considers the waning days of the craft

#726

Earlier quoted context omitted.

Reasons why (supposition, not necessarily in agreement, just arguments I am familiar with) - It's because foundations are now free but nobody understands how they work anymore - or soon won't hence the waning as opposed to disappeared. There are whole levels that a coder needed to understand in the past that recent entrants to the field do not understand, that can still subtly affect how things work, if no one unders…

Isn't this a slight over-generalization from web dev? If you learned programming in the pre-web era then you weren't able to learn how programs work by studying the shipped artifacts, but the craft wasn't waning, far from it. I learned HTML in the mid nineties and even then I don't honestly recall learning very much from View Source. HTML has never been particularly easy to read even when written by the rare breed wh…

> If you learned programming in the pre-web era then you weren't able to learn how programs work by studying the shipped artifacts

Why not? You can step through an assembly program just as easily as a javascript one...

Re: A coder considers the waning days of the craft

#727
post #444

I have a simple front-end test that I give to junior devs. Every few months I see if ChatGPT can pass it. It hasn’t. It can’t. It isn’t even close. It answers questions confidently but with subtle inaccuracies. The code that it produces is the same kind of non-sense that you get from recent bootcamp devs who’ve “mastered” the 50 technologies on their eight page résumé. If it’s gotten better, I haven’t noticed. Self-d…

I was on a team developing a critical public safety system on a tight deadline a few years ago, and i had to translate some wireframes for the admin back-end into CSS. I did a passable job but it wasn’t a perfect match. I was asked to redo it by the team-lead. It had zero business value, but such was the state of our team…being pixel perfect was a source of pride. It was one of the incidents that made me to stop fron…

You may think it did a good job because of your limited CSS ability. I'd be amazed if ChatGPT can create pixel-perfect animations and transitions along with reusable clean CSS code which supports all of the browser requirements at your org.

I've seen the similar claims made on Twitter by people with zero programming ability claiming they've used ChatGPT to build an app. Although 99% of the time what they've actually created is some basic boilerplate react app.

> middling generalists can now compete with specialists.

Middling generalists can now compete with individuals with a basic understanding assuming they don't need to verify anything that they've produced.

Re: A coder considers the waning days of the craft

#728

Earlier quoted context omitted.

That's about my experience. The worst dev on my team uses ChatGPT a lot, and its facilitated him producing more bad code more quickly. I'm not sure it's a win for anyone, and he's still unlikely to be with the team in a year. It allows a dev who doesn't care about their craft or improving to generate code without learning anything. The code they generate today or a year from today is the same quality. Part of it is t…

On the flip side, one can use ChatGPT as only a starting point and to learn from there. One isn't stuck with actually using what it outputs verbtim, and really shouldn't until at least a hypothetical GPT-6 or 7... and to use it fully now, one has to know how to nudge it when it goes into a bad direction. So overall it's more an amplifier than anything else.

I have a lot of juniors floating around my co-op and when I watch them use chatgpt it seems it becomes a dependency. In my opinion it's harming their ability to learn. Rather than thinking through problems they'll just toss every single roadblock they hit instantly into a chatgpt prompt.

To be fair I've been doing the same thing with simple mathematics into a calculator in my browser that at this point I'm pretty sure I'd fail at long division by hand.

Maybe it won't matter in a few years and their chatgpt skills will be well honed, but if it were me in their position I wouldn't gamble on it.

Re: A coder considers the waning days of the craft

#729
post #461

I have a simple front-end test that I give to junior devs. Every few months I see if ChatGPT can pass it. It hasn’t. It can’t. It isn’t even close. It answers questions confidently but with subtle inaccuracies. The code that it produces is the same kind of non-sense that you get from recent bootcamp devs who’ve “mastered” the 50 technologies on their eight page résumé. If it’s gotten better, I haven’t noticed. Self-d…

Try breaking down the problem. You don't have to do it yourself, you can tell ChatGPT to break down the problem for you then try to implement individual parts. When you have something that kind of works, tell ChatGPT what the problems are and ask for refinement. IMHO currently the weak point of LLMs is that they can't really tell what's adequate for human consumption. You have to act as a guide who knows what's good…

I'd be curious to see how a non expert could perform a non-trivial programming task using ChatGPT. It's good at writing code snippets which is occasionally useful. But give it a large program that has a bug which isn't a trivial syntax error, and it won't help you.

> In programming you don't have to worry too much about hallucinations because it won't work at all if it hallucinates.

You still have to worry for your job if you're unable to write a working program.

Re: A coder considers the waning days of the craft

#730
AFAIK, the go and chess models played themselves to improve. They weren't limited to pieces of recorded games played by junior players, like SO.

So far, coding LLMs are not generating code, compiling it, running it, checking the output, timing the program, fuzzing the input, etc. When they can train themselves, they will improve.

Post reply on HN