Live data from Hacker News

Tips for programmers to stay ahead of generative AI

spectrum.ieee.org

161–170 of 319 posts

Re: Tips for programmers to stay ahead of generative AI

#161

Earlier quoted context omitted.

i'm honestly not worried at all about LLMs because most of my jobs have consisted of fixing problems in other peoples' code, and i haven't seen any evidence that an LLM will be capable of doing that on a non-trivial program any time in the near future. I have, however, seen evidence that chatgpt will create many more problems and make my job harder.

> i haven't seen any evidence that an LLM will be capable of doing that on a non-trivial program any time in the near future Or ever, given that the level of abstraction LLMs work at is completely wrong. They can approximate the syntax of things in their training corpus, but logic? The lights are off and nobody's home.

The bad news is that everyone (including the CEO interviewed) who lords over you don't know that and won't hesitate dumping all that work on you.

Re: Tips for programmers to stay ahead of generative AI

#162

Is programming even the hard part about programming? In all seriousness, what we would really need from an AI to start really saving me time would be for it to interview all the customers/partners involved on the project, determine the scope of function needed, boil all that down to a set of sensible domain models that make sense to everyone, identify where/when messages need to be passed, determine which things can…

Whether this approach works depends a lot on what you are trying to write.

GPT4 is not very good at understanding new algorithms and data structures for example. (I recently tried very hard, but it failed miserably. I can talk about the details, if someone is interested.) But it might be good enough at helping you organise a sprawling project.

Re: Tips for programmers to stay ahead of generative AI

#163

Earlier quoted context omitted.

i'm honestly not worried at all about LLMs because most of my jobs have consisted of fixing problems in other peoples' code, and i haven't seen any evidence that an LLM will be capable of doing that on a non-trivial program any time in the near future. I have, however, seen evidence that chatgpt will create many more problems and make my job harder.

> i haven't seen any evidence that an LLM will be capable of doing that on a non-trivial program any time in the near future Or ever, given that the level of abstraction LLMs work at is completely wrong. They can approximate the syntax of things in their training corpus, but logic? The lights are off and nobody's home.

Figuring out the logic in code doesn't seem that different from figuring out the logic in other human produced text. At least it doesn't seem harder, if anything it's probably easier for a machine.

Yes, at the moment GPT4 and the like aren't all that good yet, but they have shown that they have started understanding semantics.

Re: Tips for programmers to stay ahead of generative AI

#165
I’m an okay programmer, but I get my contracts by being able to understand what my client needs and assuring them I can find the right people, do the right work, and complete a project on time and within their budget.

They pick me because I have solid references, I’m kind to them (I’m genuinely grateful for the relationships I build), I listen well, and I prioritize their experience over my convenience. I’m able to take on a project at any stage in its lifecycle, take control if necessary, and get it where it needs to me without them needing to worry how it happens. They can trust me to know what they need and solve their problems, even stepping in to figure out what their problems are if they’re unsure.

Sure, it requires programming skills. I have nearly 15 years of experience now, and it’s relatively broad. I’ve done a bunch of stuff, but nothing exceptionally deep or difficult.

Without communication skills I would be nowhere, though. Without a human face, anticipation of human needs, empathy, genuine concern, and all of that — no one would hire me for anything interesting or important. My references wouldn’t be so positive. No one would trust me with tens or hundreds of thousands of dollars, let alone what feels like the fate of their start up on a tight timeline.

Until AI can do any of that, I’m not too worried. I know my clients are looking for a human being they can trust just as much as they’re looking for a product to be built or a problem to be solved. Many of them are extremely nervous and uncertain, and a machine would likely fail to assuage their worries.

Perhaps it will get there sooner than I think. I don’t know. My advice to programmers is to focus on the human side of what you do though, and the humans using the products you build. There’s not much else that matters; at the end of the day, we’re humans building things for humans.

I suspect long before AI can out-human me, I’ll be using it to enhance my development process yet still relying almost exclusively on face to face communication to get my most important work done.

Re: Tips for programmers to stay ahead of generative AI

#166
I would just copy and paste the comments from codeforces red-black Um_nik (https://codeforces.com/blog/entry/92248):

```

I'm just in a mood to shitpost. Don't take it too seriously.

Things that I have heard of, but don't know (imagine how many things I haven't even heard of):

- Li-Chao Segment Tree

- Segment Tree Beats

- RMQ in O(n)/O(1)

- Any self-balancing tree except treap

- Link-cut tree

- Wavelet tree

- Mergesort tree

- Binomial heap

- Fibonacci heap

- Leftist heap

- Dominator tree

- 3-connected components in O(n)

- k-th shortest path

- Matching in general graph

- Weighted matching in general graph

- Preflow-push

- MCMF in O(poly(V,E))

- Minimum arborescence (directed MST) in O(ElogV)

- Suffix tree

- Online convex hull in 2D

- Convex hull in 3D

- Halfplane intersection

- Voronoi diagram / Delaunay triangulation

- Operation on formal power series (exp, log, sqrt, ...) (I know the general idea of Newton method)

- How to actually use generating functions to solve problems

- Lagrange Inversion formula

- That derivative magic by Elegia

- That new subset convolution derivative magic by Elegia

- How Elegia's mind works

- Sweepline Mo

- Matroid intersection

If you know at least 3 of these things and you are not red — you are doing it wrong. Stop learning useless algorithms, go and solve some problems, learn how to use binary search.

```

For 2023, I would append the list with:

- ChatGPT

- Github Copilot

- GPT-4

- Whatever the "generative AI" is

If you are a beginner, these so called "generative AI" are actually the same as those cryptic algorithms in competitive programming mentioned by Um_nik and you won't ever really use them once in your life, but learning the basics will definitely help you improve gradually.

Re: Tips for programmers to stay ahead of generative AI

#167
post #143

Earlier quoted context omitted.

This is what makes me nervous. Is it not bad to be generating stuff you don’t understand that _might_ work?

Most of the complex regexes I write fall into the category of stuff I don’t understand that might work. I’m no slouch at regexes either but when you start trying to do weird data processing stuff that handles all kinds of edge cases the wheels really come off quick.

If you write it you at least partially understand it. I don’t buy it

Re: Tips for programmers to stay ahead of generative AI

#168

Earlier quoted context omitted.

The thing is the hallucinations, I also wasted few hours trying to work on solutions with GPT where it just kept making up parameters and random functions.

So much this. The thing hallucinates far more than the hyperventilation seems willing to acknowledge. You really need to be quite competent in the thing you're asking it to do in order to ferret out the hallucinations, which greatly diminishes the potency of GPT in the hands of someone who has no knowledge of the relevant language/runtime/problem domain/etc.

Hallucination is less a problem for programming compared to other use case, because finally program must be run.

Re: Tips for programmers to stay ahead of generative AI

#169

Is programming even the hard part about programming? In all seriousness, what we would really need from an AI to start really saving me time would be for it to interview all the customers/partners involved on the project, determine the scope of function needed, boil all that down to a set of sensible domain models that make sense to everyone, identify where/when messages need to be passed, determine which things can…

> the code can almost write itself My 2c: I've been an eng for around 15 yrs. I semi-recently had a brain injury so haven't been able to dedicate anywhere near as much mental cognition to programming recently. That's why I've been unable to maintain full-time work. I started using chatgpt around 3 months ago. Initially skeptical, I started giving it fun and weird logical/semantic puzzles to satisfyingly "prove" my in…

That’s super interesting. I’m recovering from burnout and other health issues and I’ve found it to be occasional helpful in the way you are describing. For me, it can smooth out the process and “lower the intensity” of accomplishing any particular task, especially if it is something where I don’t know how to do it off the top of my head (what libs / functions to use, how to call them, etc). I can then pretty easily correct any mistakes, and I didn’t have to spend 20 mins googling, reading docs, and so on in order to solve the problem.

If you don’t mind, do you have any good examples of how you prompt it? Your process looks pretty nice / robust, it would be cool to see it in action.

Also, have you used gpt-4 much or can you get away with using 3.5 sometimes?

Re: Tips for programmers to stay ahead of generative AI

#170
post #11

It seems similar to off-shoring (a while ago). People in another country would bang together tons of inelegant code that somebody else had to check.

That comparison makes sense. And a lot of management will probably use AI because it’s “cheaper” although the results aren’t very good.

> although the results aren’t very good.

Overheard a week or two ago: A non-technical person on a call talking about "adjusting the weights" of ChatGPT as if it was something they'd do manually.

Post reply on HN