Ask HN: How to Deal with ChatGPT Anxiety?
P.S: using throw away account, my main one has my email and website :/
P.S: using throw away account, my main one has my email and website :/
One of the guys in the documentary says "we were afraid they wouldn't need special effects people anymore. The director would just go on the computer and hit D for dinosaur and R for rain, and we'd be out of a job".
But it turned out that even with computers, they had to do a whole bunch of practical effects to get the rest of the footage. So when a computer generated dinosaur breaks through a fence, they had to make the fence break in just the right way so they could film it, and that took practical effects.
A lot of things have changed in the film industry and a lot of the old effects have gone away due to computers, but I don't think these big doom and gloom predictions people make are likely to come to pass.
I was listening to my favorite Martin Luther King Jr speech, The Three Evils of Society, and he's talking about concerns people have about job loss due to automation back in the 1960's. And computers did come and automate away all kinds of stuff, but people still found work in other areas.
My point is people have been worried about automation for a very long time. And it is interesting to think about, but I think a lot of the hyperbolic claims that it's going to destroy all these jobs overnight are a bit overblown.
So, the industry as such survived, but not all the jobs did.
I mean, sure, like, I can imagine it could write some small applications, but only simple things that have been done over and over and that it can rehash based on its (admittedly massive) input data. Like maybe it could write a basic blogging application. But I doubt it could write a flight management application, much less adequately verify that it functions correctly and keep it up to date with the latest FAA regulations and navigation databases.
(On that note, since I do in fact work in aerospace ... considering how hard it is to certify any automated tools to use in avionics software development, I don't even want to think about how hard it would be to certify ChatGPT to churn out trustworthy avionics code!)
I'm in the automotive industry and couldn't imagine it being used there either. I think companies who build tools like ChatGPT would be happy to leave it that way.
It is kind of like linear regression on mega steroids, and you know with non-linear functions. Lots of really interesting ideas/applications but it is not an AI.
Sounds like many people I know.
Code generation is moving extremely fast. This tech didn’t freeze in time at Codex or Copilot or ChatGPT. It’s one of the most exciting and difficult domains in AI and the smartest people are all set on solving it.
I’m sorry you’re feeling distress. You’re in good company. A lot of the world is going to have to deal with these problems very soon.
The vast majority of software engineers are hired to work on is deeply complex in ways humans barely understand. It isn't small little JavaScript loops, it's huge multilayered executables with an incredible number of interdependences. It takes 6 months for people to just start to understand the internals of the software stack at most major companies. And that is working on it everyday, nothing is getting near passing the "Turing Test".
A variation of that argument props up most common AI skepticism. I don’t think there’s anything out right now that would convince you, but from what I know, everything you pointed out will be solved within the next few years.
- Create a new programming language like Go or Rust?
- Create new infrastructure patterns like containers and kubernetes?
- Build tools like MapReduce/Arrow/Airflow or TF/JAX? Blockchain?
- Understand a new tool or framework it was not trained on?
- Decide when and how to refactor a code base because the mapping to the underlying problem has reached its limits?
- Write or modify compilers for emerging platforms like RiscV or WASM?
- Help to resolve a 1:1000 50x returned by my server?
Do today's ML models come close to the "why" these problems have?
Of course humans aren't exactly great at that part either. But I do think I'd bet against, within the next 4 years, an AI tool being able to take tickets in the form
1. Expected behavior
2. Observed behavior
3. Steps to reproduce
and produce a changelist that legibly fixes the problem, and does not break anything else, at a level better than a typical junior software developer. I think the ability to do that is probably AGI complete.
The steps you elucidated are all expressible in natural language, and we see models like Codex Edit making headway there. One of the most fascinating parts of this is that once access to the known baselines are provided to high-level engineers, they then go on to do much more than what the models alone can do.
The main hinderance to enterprise was compliance but the move toward Azure, etc, will dissolve those barriers this year.
Let's get real, nothing except simple crud apps are getting replaced, if any, anytime soon.
Correction, it was moving fast a few years ago, it isn't moving fast right now. I can understand being a little worried a few years ago, but today? They are clearly stuck, we know the capabilities of current models and they aren't threatening anyone, if it was easy to improve then they would have made huge strides from a couple of years ago but they haven't.
Codex, AlphaCode, both surpassed by CodeRL on the challenging APPS benchmark last year. Meta working on InCoder. Microsoft working on UniXCoder…
Future research directions are pretty clear from where we stand. That includes iterative methods, reinforcement learning, text diffusion, etc. No one is stuck.
https://paperswithcode.com/sota/code-generation-on-apps
Development in these areas was very fast in the 3 years between transformer networks were invented and roughly GPT 3 was done. But in the 3 years since GPT-3 not much has changed, we see a lot of "we applied a large network to a new problem and found X" since then, but that isn't new performance, its just a new result with the same thing we had around back then.
In the early 00s, there was tremendous outsourcing going on. Some people said Western programmer salaries will collapse.
So your anxiety is nothing new. I think of ChatGPT-like tech to be like grammar checker. It will make your job easier.
Also, it is interesting to consider how chip design works these days. My understanding (as a software person) is that there are more people doing test-verification harnesses/QA of sorts than designing the basic blocks. This model may be how things go in software.
It’s always been the same fear with all tech revolutions: people thinking there won’t be any work left to do, afraid they won’t find a way to sustain themselves. When work is replaced, there is always new one to do, and it usually simply represents an upscaling of global GDP. It’s a good thing. We are facing massive global challenges and could use greater efficiency and expression of our collective intelligence to address them.
As long as you stay willing to learn, you will always discover ways to contribute to society and be relevant. But if you’re attached to “I learned X and I hope it gives me bread for the rest of my life,” you probably chose the wrong century :-)
It really did help keep me in the flow. While I was designing the entire system and documenting it, I would just give ChatGPT the requirements in a few sentences and it spit out correct code.
Honestly it did take the place of what I would have formerly thrown at an intern/junior dev.
Will it “replace” the need for junior devs? I am going to say the unpopular opinion - yes.
But coding has always been the least important part of my job. Knowing what to code and solving XYProblems is where the money and differentiator are.
I’ve never been a “junior developer”. By the time I graduated from college back in antiquity in 1996, I had already been a hobbyist for a decade and my first job was designing and developing a relatively complicated data entry system in C. So my first and second jobs were already mid level developer type work.
That’s not bragging. It hurt me in the long run. I stayed at my second job too long and became an “expert beginner” and had to start over and learn best practices from others 12 years later.
But now, isn’t the general advice “grind leetcode and work for a FAANG” (tm) r/cscareerquestions.
GPT is going to put millions of writers, artists, and programming/IT professionals out of work, full-stop. It will also make Sam Altman and other tech billionaires even richer than they already are, and worsen already extreme wealth inequality. It's obvious enough at this point that I can't believe other people don't see it. Just look at how rapidly the technology is being adopted, even by normies.
I'm not going to give the OP life or career advice, but for my part, I am actively trying to invest substantial amounts of my money into the firms I think will win the AI revolution, at least to protect myself form the downside.
For simple programs where the requirements are trivial, sure. But for any software with a bit of complexity, that is integrated with other software of similar complexity, I don’t see how this becomes a job destroyer. In most software roles I’ve worked, big and small, the actual development is largely factoring and balancing a ton of requirements (security, performance, business needs/timelines, customer asks, hardware constraints, operations, on and on). You’d probably have to write a hell of a chatgpt prompt to explain the entirety of what you need to replace the human factors of evaluating all of that :-)
Edit: I like the comment below about the movie industry. The evolution of technology has pushed the boundary of whats possible, but still have a lot of the same needs in terms of people.
The great news is that many of these products are free or relatively inexpensive, so you can start gaining experience with them today.
The best way to future-proof your career in the event that language models become widely applied is to make it one of your core competencies. :)
If you start practicing today, you'll quickly be at the front of the curve. And try to practice deliberately, for example gaining experience with:
- how to give it all the necessary information and nothing superfluous,
- how to effectively articulate the desired deliverable and its requirements,
- how to guide it through iterating on the solution and when to stop (often I do the first 10% of the work, then the model does the next 60% of the heavy lifting, and then I finish off the last 30% to fix its mistakes and tailor the result)
mind sharing what those might be?
Toys are toys. Tools are tools. And ChatGPT is a toy quickly becoming a tool that also won't replace people.
However, it doesn’t understand anything of its underlying subject matter.
It simply (!) has accumulated a wealth of information that it chooses the best answer for. Of course, that is very impressive but a thinking machine it is not.
My anxiety is not on the AI but the ability to game human kind and normalization of content. You think everything is quite similar now? Let’s see how it can determine what is new, real authentic human content versus bot rehashing?
I’m very confused. I don’t think I’m different than this.
I wouldn't be too worried about another quantum leap for atleast another few years and I highly doubt that will be enough for AI to generate code.
In the long term it's definitely something to keep in mind and be aware that you should be moving up the stack in terms of critical thinking so you aren't left as a code monkey 20 years from now where AI will definitely be eating your lunch.
In the meantime if you think another skill or business might come in useful, do it. But do it calmly if possible. Anxiety will never help you do something better or more. Ever. If calm is not possible for you, then that is a skill I suggest you start cultivating.
It took me years to figure this out and it was hard. But life has been better since I've chilled out.
I don't think it'll rid you of your jobs, I think it'll just open up new types of jobs for everyone.
Always check your work, even if something that sounds compelling online gave it to you for free!
For the longest though it got the answer wrong “what is 123 times 456”. But it did turn a Python+boto3 40 line script into a correctly working Node+JS/AWS SDK script for me.
When you realize how conversational ChatGPT is, you adjust the way you use it in order to get good code from it. It doesn't take long to know instinctively what things it gets wrong. When it happens, I also give feedback because I'd love for this to work more fully when it is no longer beta.
I got it to translate a C encryption algo into Lisp, and ended up learning from its descriptions how C doesn't have (atom), but it useful here because <yadda yadda>. When I asked it how C would do (atom) it gave me a sample that would work in the original C code I gave it, but then stated that while it should work in that case, it probably wouldn't in others because <same yadda yadda as earlier>.
That sold me on it being a good coding partner.
And how is that any different than your average junior dev?
The increase in the productivity of people developing software will lead to far more software being generated, not fewer software developers.
I saw a chatGPT redux reducer was for a todo app. That probably has 50 examples online. The VM running inside chatGPT also has a rich set of examples to use online from people teaching Linux cli interface.
You see this with GitHub’s autopilot. Very impressive stuff for trivial things, but it breaks down quick with any complexity.
Nobody really gets paid to write trivial programs like that since whomever could just copy it.
As an additional moat, any non-trivial business has a lot of context and tacit knowledge that will not be within the corpus of "knowledge" that AI models have and there will be many non-technical hurdles (regulatory, political etc) before any of that business context can be fed into the model, if ever. Remember these models only have access to public information at this point in time.
I think it's all about being adaptable, being here on HN and thinking about these things will put you ahead of others who simply don't see the change coming. Unfortunately we can't put the AI genie back in the bottle and we just have to be ready to adapt.
People used to program by flipping switches or punching holes in punch cards. We made assembly languages, higher level languages, optimizing compilers, libraries of commonly used code, and so on.
There is presumably some tipping point where we become so productive that fewer people are needed. It hasn't happened yet, and there's no good way to know if and when it will happen.
I've 100% accepted that AI will displace tons of jobs and lead to the near dissolution of meaning and discourse "online" (as if as anything else will exist). And Im just trying to be happy day to day until that and its secondary effects come to pass or until one of other countless seemingly incoming disasters happens.
Someone has to ride herd on this AI stuff and make sure it stays sane. It'll take a while for everyone to figure that out, but we'll get there.
Yes I had ChatGPT once make up a function when I asked it to write a Python script that listed all of the accounts in an AWS Organization.
It completely made up a function on the organizations class called “get_accounts_by_tag()”.
It took one minute to realize it was a bullshit when I got an error and after I told it that answer wasn’t correct, it gave me a working script using a set of boto3 calls and AWS functionality I had never heard of. But it was correct.
I'm getting too old to fight in the robot uprising when it comes.
If you could look into the future and know you’re right about this, what would you do today?
====
This is a story on Hacker news:
STORY:
Ask HN: How to Deal with ChatGPT Anxiety?
Since the release of ChatGPT I can't help it but be pessimistic about what the future holds for the field of software engineering. As a Junior developer I'm so thankful for the constant learning I'm experiencing at work and despite the low impact I have on issues/code base I'm always making sure that I take it one day at a time. I keep hearing friends and people online saying that the calculator didn't replace mathematicians and that Excel didn't replace accountants, but I can't help it to be anxious and think of ChatGPT replacing me and is making my imposter syndrome worse. I wanted to ask HN and see what they think of my fears, am I unreasonable? I know that I should not fear such tool but make sure I learn it and have it help me become more productive. Any tips or recommendations on how to deal with such anxiety/fear. Thank you in advance.
COMMENT:
You're in on the ground floor at the right time. Take advantage of ChatGPT/Codex/GPT-3 to make your job easier and to make your productivity sky high. Being a junior you have less to unlearn.
Use it to understand unfamiliar code.
Use it to understand long historical arguments with the right amount of detail relevant to your needs (Vi vs Emacs / Tabs vs Spaces / JQuery vs VanillaJS / etc.)
In particular use it to speed up your learning (paste documentation into it and ask for summaries or questions about how something works).
Use it to brainstorm some approaches.
Use it to write a step by step set of instructions for tasks you need to do.
Use it to clean up your grammar / points of view in writing.
Use it to evaluate or at least present the pros/cons of several approaches or decisions.
Use it to fill the missing parts of documents.
Use it to improve your resume.
INSTRUCTION: Rewrite the comment and add 30 example use cases for ChatGPT and GPT-3.
REWRITTEN COMMENT:
You are in the perfect position to benefit from ChatGPT, Codex and GPT-3. Being a Junior, you don't have to un-learn any old habits and can take advantage of this amazing technology to boost your productivity. Here are 30 examples of how you can use ChatGPT and GPT-3:
1. Understand unfamiliar code.
2. Quickly produce summaries of long historical arguments.
3. Generate questions to help you understand how something works.
4. Brainstorm approaches to problems.
5. Create step-by-step instructions for tasks.
6. Improve your grammar and points of view in writing.
7. Evaluate or present pros/cons of several approaches.
8. Fill the missing parts of documents.
9. Improve your resume.
10. Automate tedious tasks.
11. Generate original content.
12. Summarize articles and reports.
13. Automatically generate diagrams.
14. Identify patterns in data.
15. Automatically generate code.
16. Translate between languages.
17. Generate realistic images.
18. Automatically generate titles and headlines.
19. Automatically generate questions and answers.
20. Automatically generate test cases.
21. Automatically generate code reviews.
22. Automatically generate design specs.
23. Generate natural-sounding dialogue.
24. Generate automated customer service responses.
25. Generate product descriptions.
26. Automatically generate documentation.
27. Automatically generate bug reports.
28. Automatically generate marketing materials.
29. Automatically generate unit tests.
30. Automatically generate software architecture diagrams.