Live data from Hacker News

A coder considers the waning days of the craft

newyorker.com

901–910 of 1001 posts

Re: A coder considers the waning days of the craft

#901

Earlier quoted context omitted.

AI proponent typically assume exponential growth. They'd consider linear to be pessimistic :)

Compound growth has been the most realistic historically.

All exponentials in this context are actual S-curves. An S-curve matches an exponential historically, until it suddenly doesn’t.

Re: A coder considers the waning days of the craft

#902

Earlier quoted context omitted.

With today's mid level programmers, yes. But by that time, many of today's mid level programmers will be able to do stuff high level programmers do today. Many people underestimate an LLM's most powerful feature when comparing it with something like Stackoverflow: the ability to ask followup questions and immediately get clarification on anything that is unclear. I wish I had had access to LLM's when I was younger. S…

> But by that time, many of today's mid level programmers will be able to do stuff high level programmers do today. Not without reason some cheeky devils already renamed "Artificial Intelligence" to "Artificial Mediocracy". AIs generate code that is mediocre. This is a clear improvement if the programmer is bad, but leads to deterioration if the programmer is above average. Thus, AI won't lead to your scenario of mid…

The way an LLM can teach and explain is so much better than having to chase down information manually. This is an amazing time to learn how to code.

An LLM can actually spot and fix mediocrity just fine. All you have to do is ask. Drop in some finished code and add "This code does X. What can I do to improve it?"

See what happens. If you did well, you'll even get a compliment.

It's also a massive boon in language mobility. I never really used Python, complex batch files or Unity C# before. Now I just dive right in, safe in the knowledge that I will have an answer to any basic question in seconds.

Re: A coder considers the waning days of the craft

#903
post #92

Earlier quoted context omitted.

This is a zero-sum way of thinking about the world.

It’s true though. If anyone with a high school education can be a successful “programmer”, most programming jobs will be filled by the cheapest labor. Why would any company pay more than they need to to keep their company functioning?

It’s already currently true that many mid-tier shops employ an army of low-knowledge practitioners who will always “solve” whatever problem you give them in record time by abusing the tools you give them, reinventing wheels, punching semi-truck-sized holes in otherwise functional abstractions, barely testing anything. All is well until scaling problems or distributing desyncronization bugs or severe data-loss/replication happens in production.

Once you’ve seen this happen, and especially when you see it cause outages that costs thousands of dollars, you understand why it’s worth it to “pay more than you need”. When the rubber hits the road, having an army of automata who “get things done” is functionally not the same as having skilled developers who own their craft in the long term.

If I were starting a company today I’d probably be fine taking on some tech debt to get v1 out the door and then worry about investing in a dev team who can scale/rewrite it into the version that can scale to whatever level I need. But in no way would I want to ever again watch a junior dev who doesn’t understand how to read logs trying to implement a caching + crontask solution to reduce app load times from 30s to 15s on a backend query against a table that holds 10k records, because their code retries 500 times because they don’t understand timeouts, indices, or ORM induced n+1 issues.

In the long term, automaton armies will always curse you to the problems of local min/maxima problems unless they are backed up by someone with enough global vision to get them out of that hole.

Re: A coder considers the waning days of the craft

#904
post #482

Earlier quoted context omitted.

What’s your niche? I think much of using it well is understanding what it can and can’t do (though of course this is a moving target). It’s great when the limiting factor is knowledge of APIs, best practices, or common algorithms. When the limiting factor is architectural complexity or understanding how many different components of a system fit together, it’s less useful. Still, I find I can often save time on more d…

My niche is in video game programming, and I am very specialized in a specific area. So I might ask things like how would one architect a certain game system with a number of requirements, to meet certain player expectations, and be compatible with a number of things. Unfortunately, it hasn’t been helpful once, and often due to the same reason - when the question gets specific enough, it hallucinates because it doesn…

Interesting. I also work in game development, and I tend to work on project-specific optimization problems, and I've had the opposite experience.

If I have to solve a hairy problem specific to our game's architecture, obviously I'm not going to ask ChatGPT to solve that for me. It's everything else that it works so well for. The stuff that I could do, but it's not really worth my time to actually do it when I can be focusing on the hard stuff.

One example: there was a custom protocol our game servers used to communicate with some other service. For reasons, we relied on an open-source tool to handle communication over this protocol, but then we decided we wanted to switch to an in-code solution. Rather than study the open source tool's code, rewrite it in the language we used, write tests for it, generate some test data... I just gave ChatGPT the original source and the protocol spec and spent 10 minutes walking it through the problem. I had a solution (with tests) in under half an hour when doing it all myself would've taken the afternoon. Then I went back to working on the actual hard stuff that my human brain was needed to solve.

I can't imagine being so specialized that I only ever work on difficult problems within my niche and nothing else. There's always some extra query to write, some API to interface with, some tests to write... it's not a matter of being able to do it myself, it's a matter of being able to focus primarily on the stuff I need to do myself.

Being able to offload the menial work to an AI also just changes the sorts of stuff I'm willing to do with my time. As a standalone software engineer, I will often choose not to write some simple'ish tool or script that might be useful because it might not be worth my time to write it, especially factoring in the cost of context switching. Nothing ground breaking, just something that might not be worth half an hour of my time. But I can just tell AI to write the script for me and I get it in a couple minutes. So instead of doing all my work without access to some convenient small custom tools, now I can do my work with them, with very little change to my workflow.

Re: A coder considers the waning days of the craft

#905
If your trade as a programmer is in automating tasks with computers... I can see how it might seem like OpenAI is your Squarespace. Most users were never going to learn to code no matter how well we designed scripting languages, macros, etc for them. Just like there was nothing stopping them from learning HTML or using any of the available tools for building their own websites. They still paid people to do it for them. Now we're at a moment where they don't need to pay such people anymore... just like when Squarespace-et-al killed off the need to hire a web developer to build your website.

I don't think Djikstra would be appalled in the sense that the author gives it. He wasn't saying that C++ or Python were precise languages; they wouldn't be precise enough for him. He wouldn't be appalled that we don't write programs in them. He would be appalled that we don't write precise specifications.

ChatGPT-4 can generate code. Is it the correct code? We don't know unless we specify what correct means in a precise and unambiguous way. Natural language isn't precise enough to do that. We have a language for that called, mathematics. ChatGPT-4 is not very good at understanding or speaking this language for the time being.

What matters is whether ChatGPT-4-generated-code is good enough for your problem. Generate a script to organize some files or help you with small tasks where correctness isn't crucial? Go ahead. I don't pull out a whiteboard and fire up a theorem prover when I'm organizing a photo collection.

However, if I'm working on a system and have a theory that we can parallelize an algorithm over a complex data structure and it's critical that this is done correctly or the system cannot be trusted? I wouldn't think twice before firing up TLA+ or Lean 4.

For now, ChatGPT-4 cannot reason and think for you. The industry isn't over, in my opinion. It's annoying. It's noisier. But not over.

Re: A coder considers the waning days of the craft

#906

Earlier quoted context omitted.

I chatgpt translated this: "Our business model can't afford to pay enough translators so we have been replacing them with chatGPT, and enough of our users haven't complained that we consider it a success"

Most users in this market segment get the software in English, German or Chinese and nothing else because the cost doesn't justify doing it elsewhere.

I've encountered enough janky translations to prefer getting software in English.

Re: A coder considers the waning days of the craft

#907
post #97

Earlier quoted context omitted.

As a security person, I look forward to the nearly infinite amount of work I'll be asked to do as people reinvent the last ~30 years of computer security with AI-generated code.

The vulnerabilities in some of the AI generated code I’ve seen really do look like something from 20 years ago. Interpolate those query params straight into the SQL string baby.

Following up with "Now make the code secure" often works quite well to produce higher quality results.

Re: A coder considers the waning days of the craft

#909
post #444

Earlier quoted context omitted.

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…

ChatGPT goes from zero to maybe 65th percentile? There or thereabouts. It's excellent if you know nothing. It's mediocre and super buggy if you're an expert. A big difference is that the expert asks different questions, off in the tails of the distribution, and that's where these LLMs are no good. If you want a canonical example of something, the median pattern, it's great. As the ask heads out of the input data dist…

Why not give it a systemprompt that specifies some you're requirements: "you are a experienced senior ruby developer who writes robust maintainable code, follow these coding guidelines 《examples》"

Re: A coder considers the waning days of the craft

#910

Earlier quoted context omitted.

I'm all for this, as long as we programmers continue to capture a reasonable amount of the value we create. The danger doesn't come from some immutable law of nature, it comes from humans organizing. Some people want to be able to hire programmers cheaply, programmers want to continue to be expensive (maybe get more expensive because now we can deliver more value?). It will be up to us, the people living in this mome…

I don't really know what "value" means in a post scarcity world. We're probably going to have to rethink it. It made a lot of sense when we were all worried about the same things, e.g. not starving. In such a world, anything you could trade for food was objectively valuable because you could use it to fend off starvation--and so could everybody else. But if efficiencies improve to a point where we can easily meet eve…

We're a long way from a post-scarcity world. In the meantime, I want to be able to pay my mortgage.

Even if we had the blueprint for one right now and a blueprint for robots that could make everything 1000x faster than humans, we're still talking decades because it is going to take time for concrete to set and for molten steel to cool and for all kinds of other construction/manufacturing processes (limited by the laws of physics) that will be on the critical path to building whatever it is that brings us to post-scarcity.

And even if the technology exists, how do we make sure we have a Star Trek future instead of a Star Wars future? Technology is very useful for improving living conditions, but you can't invent your way out of the need to organize and advocate for justice.

We already have the technology to feed the whole planet today, we just don't do it.

Post reply on HN