Adding ChatGPT to the equation, the threat has doubled. It has just started, yet it can do remarkable things. This is like the AlexNet moment in the field of computer vision. There was a time before AlexNet. Now, most research and implementation involved using deep learning in one form or another. I have been in this field for a long time, but I don't have any substantial work to show for it. I feel like my effort wouldn't make a difference. As long as I am improving, these models are able to improve at a faster rate. Of course, I cannot compete with the top researchers at these big labs. So whatever I do will be insignificant.
I have been trying to change my field from AI to something else, but it feels like that would be a wrong decision. However, just being in this field would make the problem even worse because I would never be as competent as the quality demands. The skills that I learn from AI quickly become outdated compared to other skills like management and software engineering. Whenever you involve humans in the equation, you have to learn different things surrounding it. But if you are just doing AI research for a long time, all you get is the ability to read papers and perhaps implement them. It's always a rat race where you are constantly chasing something new. I feel that doing a regular software engineering job would be much easier and exciting because it's just a job and you can have other hobbies. But with AI, you have to read relevant papers on your spare time just to keep up. The innovation and progress are so fast that it's almost impossible to catch up.
I feel like my career has ended before it even started.
You can leverage this for your own productivity. Ask your “junior” to generate sample code for an API you don’t quite remember. Ask it to generate some bash scripts you’ve been putting off. Review its output for correctness and go from there.
It’s an incredible productivity boost for a senior doing the integrating. It’s also no replacement for someone with immense domain experience doing the integrating…
Also, there will likely be plenty of work in the coming decade unwinding half-baked attempts to integrate large language models into business processes where it doesn't ultimately make sense and is a net negative. Many of these negative-value projects are probably being conceived at this very moment.
All is not hopeless.
Fwiw I’m facing this in a hobby where I very much am a “junior”. Currently trying to decide if it’s worth continuing building the skills to create from scratch rather than just leveraging ML and being an “editor”.
I think I’ve decided to continue building the skills. Editing/reviewing is easier if you can create as well and this is a hobby I enjoy after all.
Also there has to be some light at the end of the tunnel right? If we kill the process via which juniors grow, we eventually kill the industry…
I wouldn't worry - much less have existential dread - that GPT-3/3.5 will replace a significant portion of engineering jobs. If AI technology continues to evolve as it has in the last 30 months, then perhaps we can start worrying in a few years. Now there is very little overlap between what GPT-3.5 produces and what engineers do day-to-day.
What ChatGPT could maybe replace is a need for an engineer in a company that barely needs one. Perhaps if a company needs to write a few bash scripts a year. But even with that, there would be luck involved and such a company would be better off hiring a contractor. GPT-3.5 does produce some fantastic results, but not consistently. It's a little bit better in low-level implementations and not that good with implementations from non-technical descriptions. And then there's all the work engineers need to do adjacent to writing code that ChatGPT has no means to do.
All in all, I believe that these models look like they could replace engineers only until one gets a bit more experience with them. They are amazing works of engineering and they are fantastically capable in some areas like text synthesis, but it's very difficult to see a model replacing, let's say, anyone on my team of engineers in a tech company.
Promoting the idea that it will happen slowly so don't worry is the equivalent of burying your head in the sand until its too late to do anything.
How long ago was it that people said object detection wouldn't be possible, or that realistic fakes couldn't be made, or super-resolution "enhance" was not possible.
The rate of change of these things is exponential, in one direction, and people are notoriously bad at understanding what that means or entails because very few people deal with exponentials on a regular basis.
If the gap between abilities is even near close now, it will far exceed our abilities in a far faster time than you would ever think possible because humans in general are bad at eyeballing exponential relationships.
You already have AI designing machines and structures that exceed the engineering specifications of what we are capable of creating using 3d printers. (SOTA, State of the Art).
I wouldn't call those feats junior level.
We had CV object detection for a while. But I agree with your sentiment that it's difficult to predict technological changes. And yet multiple technology shocks (https://en.wikipedia.org/wiki/Technology_shock) rarely happen in any given industry with short intervals. We can be optimistic about the future, but if I'm speaking from experience - another leap in academic AI won't happen tomorrow.
> burying your head in the sand until its too late to do anything.
What would you suggest software engineers do?
> You already have AI designing machines and structures that exceed the engineering specifications of what we are capable of creating using 3d printers.
This sounds like a typical application for ML AI. This is not AI doing software engineering.
> In the Chinese sentence "这次公司裁员裁不到我头上." with the translation "I won't be fired during this round of layoffs.", list all the words separately with their individual word translations
这次 - this time, 公司 - company, 裁员 - layoffs, 裁不到 - won't be fired, 我 - I, 头上 - during (literal translation: on top of the head)
I knew this day would be coming but since nothing was available at the time I had to try an implement a hodge-podge of algorithms to get the job done. But honestly, if I can integrate ChatGPT instead I'm kinda glad! Thousands of lines of code gone, a much simplified pipeline, and I can focus on higher level tasks instead. What's important is the problem I'm trying to solve.
But it does show that a lot of NLP and CV tasks will be as simple as explaining what you want, and the result will mostly be good enough. But there will still be value in solving more unique problems, or knowing the best way to mold problems such as they fit the foundational models available, and knowing how to build on top of them.
To keep your sanity, my advice is have some problems in mind that you're passionate about solving as well so that you diversity your mental investment.
When I used to live overseas nearly a decade ago I was able to leverage a fairly accurate Chinese tokenizer [I don't remember the name] but there are definitely options out there that existed for far longer than chat GPT.
This one in particular I've had decent success with for 繁體漢字 and you could use a one to one dictionary to convert simplified to traditional: https://github.com/APCLab/jieba-tw
Hell, with the example you just provided you could probably just look for longest words found in CC-CEDICT.
As for CEDICT entries, very often the entry translation does not exist in the sentence translation. Sometimes it exists with a morphological change like "fire -> fired", sometimes more difficult "go -> went". Sometimes it's a synonym which you may be able to find in a thesaurus, maybe not. The thesaurus is also incomplete or has errors. If you use a synonym you often get false positives from completely unrelated hanzi's in the sentence. Sometimes the CEDICT word has 8 different entries and some of them are rare meanings with low frequency words that match many sentences but really shouldn't, how do you detect that? Entries are not ordered by importance. Weight by specificity? Ok, but each entry has an average of 5 words, what if one entry matches 4 high frequency (low information) words but another matches 1 low frequency word? What if multiple words in the sentence has overlapping target words in the translation, which is which?
And now you have words with different pinyin readings, so multiple completely different entries in CEDICT. So you try to first classify the pinyin (or the other way around, use translation correlation to classify pinyin?). But if the initial segmentation is bad, you've got garbage in, garbage out anyway.
Then you have lots of two-character Chinese words where one is regularly omitted, like in my example if you look up 裁 in CEDICT you get "cut", but it's referring to 裁员 which is more like layoff or fired. "Cut" may be acceptable here, but there are many cases where if you do this you get completely nonsensical translations.
Now you need to match names as well. What if names are not capitalized? If they are capitalized, should you match them in order they're mentioned if there are multiple names in the sentence? Ok, so most Chinese names will be in some form of romanization, so you look for something that looks like the Pinyin of the word. Oh, but sometimes it's Wade-Giles isn't it? Oh, and because the translation you have comes from machine translation, now sometimes you get Korean or Japanese names for some reason, try and match those too?
In order to get more variety of word translations in context, I worked out something similar, where I give a machine translator the text "你好吗, 1. 你 2. 好 3. 吗", and often it will give in-context translations that are better, but often fails miserably as well. Now you've got to try to combine these outputs with CEDICT, and perhaps multiple sentence translations (human + machine?) to get the best possible result.
I also tried joint optimization over segmentation, pinyin and word disambiguation, by maximizing overlap and low frequency mappings (high information), but never managed to get it working well enough.
This is just a third of the problems and edge-cases you hit when trying to do this, I hope I've illustrated how much of a mess this becomes. A simple solution might work well enough for personal use as in your case, but I'm running through the scripts of TV-shows and displaying intelligent subtitles, so every error is quite jarring to the end-user. So being able to replace it with a ChatGPT prompt is quite the improvement! Because honestly, doing all this manual algorithm work can be an extremely frustrating process :)
150 years ago, decent literacy alone made you managerial material. 50 years ago, people were in the middle class screwing nuts on bolts. Today, literacy alone qualifies you for nothing and if you are illiterate, your prospects are dim indeed. Manual skill manufacturing is a minimum wage (or below minimum wage) job offshore. Typing used to be a middle class skill for women.
Imagine being a dev 20 years ago. I think many would be scared of not having work in a world where you can stand up beautiful reactive sites and deploy them worldwide in a day. AWS, React, GitHub actions, etc. All could be reasons for predicting mass unemployment.
Instead, there are more of us than ever.
> Instead, there are more of us than ever.
while I hate to quote CGP Grey (what a hack), he's got a pretty good take on this
Consider highly contextual problems: today I faced an issue where some updated code could have negative side-effects given certain database state. A regular set of tests did not catch this issue – only my knowledge of the possible states did. I doubt an AI will be able to solve such problems any time soon.
It seems like it could be possible, but soon? I agree, probably not.
Either you don’t know what it takes to be a decent software engineer these days or you are being a bit harsh. I’m a software engineer. I don’t read papers, sure, but I keep myself up to date every week/month reading books, doing side projects during working hours but also on my free time. Granted, I do so because I like it, though but it’s a necessary thing to do if you want to be good at your career.
Regarding your main question: forget about the noise. If you like what you do, keep doing it. If you are doing what you do just because of its employability, you already lost.
What makes it a lie is it doesn't acknowledge or characterize the requirements that must hold true for it to be the truth (or a successful outcome).
Those requirements are simple but don't currently exist in the majority of areas which is why we are having such huge problems today, and people mistakenly believe its something else because they haven't properly educated themselves, and they are working against indoctrination of the education they received early in life.
Those requirements are simple.
* Protection of property rights in the things you own (i.e. you can't be deprived of the benefit from stock you own, arbitrarily (based on someones say so) without effective recourse).
* A store of value that is stable and doesn't change. Inflation depreciation each year with stagnate wages guarantees only consolidation of existing wealth at the expense of anyone else, inflation is also double taxation without representation, one to the government, and one to the privately owned institution of the FED. (followup: The Creature from Jekyll Island).
* A transparent market with functioning price discovery (sales are done only on the market and visible, i.e. no darkpools, and wash sale collusion to fix prices is severely punished).
Without those three things, you will never in a guaranteed determinable way become financially independent because of fraud, deceit, collusion, and corruption.
It is not sufficient to say we have those through the court system, because the court system is not self-enforcing, there are bad actors within the system that go unpunished, its reactive, and the costs for such privileges to defend against unbacked spurious complaints made by entrusted officials (who broke their oath of office) may far exceed the value of the objects thus they can be deprived arbitrarily (google youtube, Civil Asset Forfeiture, US Private Vaults).
If you decide to dig a bit further and research more into this, you may find that common failures in any of those areas are also commonly found in socialist (centralized systems) such as communism, both now and historically.
If you're just painting, sculpting, drawing, etc just to do it and enjoy it, then you have nothing to worry about since the enjoyment of the process is fulfilling in itself.
If you're creating projects for the sake of expressing/communicating something for yourself or an audience, then the focus needs to be on developing the concept and refining it, before deciding how to execute it or what the medium(s) will be. If there isn't a strong concept then the work is dead in the water, AI or not.
> [PLANNING] [SPECS] [IMPLEMENTATION] [TESTS]
The "implementation" and "tests" sections become much less time-consuming/tedious, and you focus more on the design, architecture, and specification of the code.When you think about, the implementation is a detail and a means to an end. For instance, I hop around between a lot of languages.
I can't always remember what the HashMap API is exactly in every language. Is it "put", "insert", "create"? -- does it have an "upsert" method? These sorts of details just bog you down. With AI-assisted development, you just "I want to upsert an item in a HashMap of (String -> Int)" and then browse the suggestions until something looks right.
Sort of like a "Code Architect" role.
I've been using Github Copilot every day for 1.5 years, I can't live without it. ChatGPT is quite an advancement, and I'm so excited for the future of the AI-assisted code authoring space.
Shameless plug: I wrote about this a bit here
Just because you aren't on the cutting edge of technological "progress" doesn't mean what you do is insignificant. It doesn't have to be futile to resist. There are good things produced by technology of course, but honestly I'm not ashamed to admit I'm just sick of it and have no interest in the cutting edge anymore. Maybe I'll be a fool 100 years when a few more cycles of tech "disruption" finally solve all material poverty, but I just can't see the world that way anymore.
Solving the problem of how to make enough money to get by is a different question, but it's not a new one. IMO the correlation between highly paid work and meaningful is lucky when you can get it, but nothing to count on. Sometimes compromises need to be made.
There are two roads: doing what you love and doing something of value (where value is defined as what other people are willing to pay for). Hopefully, those can converge to a degree, but they don't have to. I love making art, but that doesn't pay for me, so I do other things to earn money --- that supports the art. Being able to do more cheaper is creating more value.
Given your skills in art and computers, you could look at a career in UX. It both pays and can be art. It is something of value that can then support your other more personally fulfilling endeavors. Or simply get good at being a digital artist that takes the best AI generated art, fixes it, and gets it out the door :-)
And this will likely lead to new, pioneering art, and even new art forms.
AI will likely be a tool that will enable artists to go into new horizons. Just like digital tools before it were.
What most people don't realize is why everything works the way it does, and how we got to where we are. As a result, they are doomed to repeat the failures of the past as cliche as that sounds, and the most recent and latest trend is and has been in stripping you and everyone else of their agency and voice.
We receive many of our benefits through the division of labor. It is best described in a book from 1778 by Adam Smith called the Wealth of Nations. There have been follow-up books such as Landis which covered why some civilizations thrive while others stagnate with climate being a main factor, specifically how tropical climates make animal husbandry impossible and settlement at a high cost of mortality.
Our system worked so long as our leaders listened and acted on what we said, that hasn't happened in a long time. Today they can't differentiate the voice of bots on social media from actual people. They have written laws binding themselves to prevent any change, or only benefited special interests who got them chosen to be on the ballot with money.
Worse, global communism (or socialism) however you want to call it is intentionally attacking the moorings of our society through subversion, we aren't taught about that in school and so don't recognize it.
Most people can't even properly define what socialism is, know its failings (which are not straightforward) and recognize the lies. Those same people then go and push socialist policies as if its the answer.
Worse, there has been a 50 year trend of not having a funding plan for things, and choosing to steal via ponzi from the future with creative financial engineering, corruption, fraud, and collusion.
We are coming upon a criticality point where everything will break, because machines can do most jobs better, and cheaper than people in almost all important factors.
We are not that far off from having machines that can do everything a human can, and do it better and more accurately.
Our leaders have failed in almost all respects that matter with regard to planning for the future, instead choosing to subvert, divide, and limit agency by political cycle, through many various means (media etc) while pretending to do their jobs in a way that nothing really gets done.
Eventually someone will come up with a way to break the existing theory of computation, and then machines can completely replace human productivity and shortly after that everything will break.
People say this is impossible, citing that theory, I'm not going to go into why you shouldn't use a definition to define itself. Put simply, its possible because we exist, and are capable.
So how far do you want to go down the rabbit hole?
What does your philosophy and ethics say you should do? As a worker do you support this path. If you work for them you are supporting them. Do you support companies that replace their jobs with AI or continually offload costs onto their customers, reduce their agency, de-amplify your voice, and enslave you through debt?
Businesses will first replace the low hanging middle class jobs that cost them the most, then the lower paying jobs. In a perfect corporatocracy you would have only leaders that own machines, and some technicians to keep the machines running, and no workers because labor is the most expensive cost.
What can you do about it? Nothing really, not directly.
The chance to actually do anything about it was in the 90s, and that's where the last generation utterly failed and broke the generational social contract.
We have, as the economists call it, dead men ruling, and they have made it practically impossible to right the course.
The only thing you can do is learn to become completely self-sufficient, develop a community with specialized skills and resources, and that might offer a slim chance at a future for your children.
Things will get much worse. We can't avoid what's coming, but we can work to ensure its a beginning and not an end for our children.