HACKER Q&A
📣 nopilot

How to Deal with AlphaCode Anxiety?


ML code generation systems like GitHub Copilot and now AlphaCode are impressive. Part of me finds them super interesting and exciting, including everything else that's happening in the larger deep learning/language models space.

However, a different part of me gets hit with a wave of anxiety whenever these advancements make the news. I've been coding since teenage days and will graduate in a few months. I have a job lined up and am thrilled about working there. Now it feels like I'm running against a clock until the career I am working very hard for will automate itself away.

Are my feelings reasonable? How do you deal with this? Do you feel threatened?


  👤 Micoloth Accepted Answer ✓
Well well.. Looks like someone has noticed we entered the Industrial Age some time ago! Have you heard about something called automation?

Do you know who did, and had to deal with it decades/ centuries ago? Every other type of workers. Farmers, metalsmiths, artisans, etc, etc. Everyone gradually moved to better jobs and now everyone agrees automation is great in the end, of course.

Frankly, I’ve thought for some time that Software engineers are about the most luddite group around at this point, and I have no problems at all to say this on this website.

Seriously, every other answer in this thread offers true and valuable insights, but as always, about everyone seems to thinks Software jobs should be “different” or “more safe” than the others for Some Reasons.

Which, to me, it’s Doubly sad: for the reason that, at the beginning of computers (less than a century ago), the dream was Already to reach full automation. AI was Always the plan. What happened to that?

Why are many software engineers the ones with most problems with it now? (To the point of denying that AI will ever replace large parts of their current daily job. Of course it will- which doesn’t mean it will replace us ofcourse, just like there’s still farmers around- but the job will be pretty different. And we should be the first to know)

When did the annoying daily job of building boilerplate and knowing arcane syntax by heart become a career anyway, and an untouchable one at that?

Of course it’s easy for me because I’m fairly young, but tbh the sooner we enter the mindset that our job will change Exactly how all the others have, the better…

Sorry if this was ranty but I’ve followed these discussions for a while


👤 stackbutterflow
Here's a piece of advice that doesn't answer your question directly. Go. Out. And. Meet. People.

That's one of the strongest safety nets you can get for you career. No one can predict whether their industry is going to be fully automated in x years or not. But knowing the right people, having a strong network, will increase your chance of survival tenfold if not more.

You're young, you already know how to code, you've got the tech part covered. You're likely competent enough to be hired. But if you're anything like most tech people, your social skills are an untapped reservoir of growth.


👤 gregjor
No. I have worked as a programmer for 40 years. During that time predictions that programming would get automated away or made so simple anyone could do it have come around many times. Writing code that passes tests is just one part of programming, and not even the hardest part.

I wouldn’t worry about it. AI may simplify some tasks and give us new tools, but I don’t see human programmers going away. Demand for skilled programmers is higher than ever.


👤 triMichael
I don't feel threatened at all. Until we have true general AI like we see in the movies, there's no chance that an AI like AlphaCode could design software, and there's no chance that it could write actual code because it wouldn't be able to name variables. Because of these two things, AlphaCode will always need to take in very specific instructions and output incomprehensible code. Does that sound familiar? That's essentially what a compiler does. There are only two differences that I can see AlphaCode ending up as compared to a compiler.

The first is that we could end up with a programming language that can accept natural language as its syntax. The best case scenario of this is that more people learn how to code as they don't need to learn strict specialized syntax to program. However, whenever this topic comes up it always turns out to be more of a pipe dream, because when you are programming you want precision, and to have precision you need strict specialized syntax. In other words, the advantages of not needing strict syntax are small unless you are not a programmer, and the disadvantages are massive as you might be misunderstood and end up with hard to fix bugs.

The second possibility is that we could end up with generation systems that can build small, well defined functions for us, similar to the problems that AlphaCode is already solving. The problem with this is verifying correctness. As mentioned before, the code that AlphaCode outputs is unreadable. As such, verifying correctness would likely take longer than building it yourself. As a result, anyone needing to use small, well defined functions would be better off using the existing solution of human built libraries. Because libraries are shared between so many programmers, it is much easier for bugs to be discovered and fixed.

So for my summary, all AlphaCode really is, is yet another attempt at a natural language type of compiler, which even if it succeeds wouldn't affect programmers much as languages being well defined is critical for making sure everything runs correctly.


👤 blunte
Coding is just the last step in providing a solution to a need. It arguably should be automated away.

What we humans do which is of great value is understanding problems and needs, considering known and possible unknown constraints, and finding a balanced solution which hopefully best meets the need.

Ironically, since most problems are described by humans (who tend not to be great at communicating), that big phase where we attempt to understand the real need is difficult and likely impossible for a computer to ever do. Just look at how underwhelming and frustrating current digital assistants are…

I look forward to being able to specify a class of need and some details and allowing the computer to code an implementation.


👤 jjice
I assume that good code automation is not in our sights. We've seen Copilot has a lot of quirks and is based on other's code, which isn't always directly applicable or correct. A good engineer will be better than a machine for as long as we're alive. That's my potentially ignorant take though. Take it with a grain of salt if you think otherwise.

👤 monkeydreams
Development is problem solving. Copilot will tell you how other people wrote a (for e.g.) database transaction, but it cannot tell you how to utilise the result. It cannot and, likely, will not every understand intention or goals. It cannot problem solve - only you and your cohort can.

Just read the latest reports on what is happening with IBM and Watson. That is a straight-forward use case, a simple classification goal with some decision support, and the real world has hit it like a steam train hitting a bowl of jelly.


👤 sjg007
No more so than "no code" tools. I imagine the first assembly programmers might have seen the first compilers as an existential threat.

But the job of a software engineer is to solve problems and add value w/ software. A small part of that is writing code. Most of it is designing the right level of abstraction, the interfaces and so forth.

Lastly, as mentioned elsewhere, we will probably always need human debuggers.


👤 Jack000
Tech is always changing, so your current experience and qualifications are always on a timer regardless.

Personally, I enjoy solving problems with computers and rather dislike the tedium of actually writing and debugging software. If a ML model could take that off my hands I'd be ecstatic.


👤 PaulHoule
Beating the median on a coding competition isn't commercially useful because the median didn't 100% the task.

Something almost everybody is forgetting is that this kind of technology has an asymptote embedded in it's structure and it will always be a bridesmaid but not a bride.


👤 speedgoose
My job is to develop solutions, not to write code. I'm using GitHub Copilot today and I will gladly use the latest and greatest AI to help me in my work.

👤 throwaway889900
Good luck trying to teach a robot to code with humans in mind from scratch. Like a very pedantic genie.

👤 cartercole
Not reasonable... if your job can be automated away you probally dont want to be doing it