I agree that you still need programming skills (today, at least). Yet people are using those programming skills less and less, as you can clearly see in the article [1] I referenced.
You are also making the assumption that LLMs won't improve, which I think is shortsighted.
I fully agree with the part about the job becoming more like product management. I would like to cite an excerpt of a post [2] by Andrew Ng, which I found valuable:
Writing software, especially prototypes, is becoming cheaper. This will lead to increased demand for people who can decide what to build. AI Product Management has a bright future! Software is often written by teams that comprise Product Managers (PMs), who decide what to build (such as what features to implement for what users) and Software Developers, who write the code to build the product. Economics shows that when two goods are complements — such as cars (with internal-combustion engines) and gasoline — falling prices in one leads to higher demand for the other. For example, as cars became cheaper, more people bought them, which led to increased demand for gas. Something similar will happen in software. Given a clear specification for what to build, AI is making the building itself much faster and cheaper. This will significantly increase demand for people who can come up with clear specs for valuable things to build. (...) Many companies have an Engineer:PM ratio of, say, 6:1. (The ratio varies widely by company and industry, and anywhere from 4:1 to 10:1 is typical.) As coding becomes more efficient, teams will need more product management work (as well as design work) as a fraction of the total workforce.
To address your last point - no, I am not saying people should skip learning a whole way of thinking. In fact, the skills I outline for the future (supervising AI, evaluating results) all require understanding programming concepts and system thinking. They do not, however, require manual debugging, writing lines of code by hand, a deep understanding of syntax, reading stack traces and googling for answers.
Obviously I assume LLMs will continue to improve, I don't know why you'd think I don't.
But the actual relevant prediction here (the one you're confident enough about to give skills development advice on) is whether they'll improve sufficiently that programming is no longer a relevant skill.
I think that's possible, but I'm not nearly so confident I'd write your article: LLMs went mainstream ~2 years ago, and they still have some pretty basic limitations when it comes to computational/mathematical reasoning, which they'll need to solve novel software engineering tasks. (Articles about these limitations get posted here pretty frequently)
To your second point, I'm still not sure how you will debug someone else's code without learning to write code yourself, because you need to be able to read code, and understand it well enough to execute it inside your mind. I am not totally convinced you understand the difference between "understanding programming concepts" and "being able to understand whether this code works".
Sorry if this comes across as rude, but I think the reason the feedback on your post is overall quite negative is that you're excited about AI making this job much easier, and your advice about which skills are worth learning are too confident. Ironically I think an LLM would give a more balanced view than you have.
LLMs have already improved sufficiently that people are worried their programming skills are decaying, debugging skills included (based on the article I referenced). I'm curious to see how you envision LLMs improving without this not becoming even more pronounced. Isn't that the definition of a skill slowly becoming irrelevant? The fact that you can see you are not using it as much?
As for the reception, I did not expect it to be positive. People usually have a strong negative emotional reaction when you suggest their skills are, or are going to become, less relevant.
Not really? Your thinking about the definition of the word "relevant" seems a bit confused here... By your logic, home insurance is "irrelevant" because you don't seem to use it much, then one day it's suddenly extremely relevant (at which point then it's too late to buy it).
I guess we'd probably agree that "writing code is an irrelevant skill" actually all comes down to whether LLMs will improve enough to match humans at programming, and thus comprehensively remove the need for fixing their work.
They currently don't, so at the time you claimed this it was incorrect. Maybe they will in the future, at which point it would be correct.
So, would it be responsible for me to bet my career on your advice today? Obviously not, which is why most people here disagree with your article.
You were prepared in advance to explain that criticism as people having a strong negative emotional reaction, so I'm not sure why you posted it here in the first place instead of LinkedIn where it might reach a more supportive audience.
The insurance analogy doesn't work - programming skills exist on a spectrum of daily relevance. Insurance becomes relevant in rare emergencies. Programming skills are becoming less relevant in day-to-day.
What I pointed out in my post is a trend I notice where an LLM can do more and more of a developer's work. Nowhere did I claim LLMs can replace human developers today, but when a technology consistently reduces the need for manual programming while improving its capabilities, the trajectory is clear. You can disagree with the timeline, but the transformation is already underway.
I posted on HN precisely because I wanted rigorous technical discussion, not validation.
Ah okay, I think it's a perfect analogy, and this helps clarify where our disagreement is.
I do believe it's a binary thing: One day a model gets released which is sufficiently good at programming that I don't need to be able to debug or write code any more. That's the exact day my skills aren't relevant.
They aren't only 50% relevant 6 months before that date, because I need to entirely maintain my code during that 6 months, so that 50% is effectively 100%.
Seeing it as a spectrum carries a specific risk: you neglect your skills before that point is actually reached, at which point you're relying on code you can't understand properly or debug.
I think if you wanted rigorous technical discussion, this is the sort of specificity your article would've needed.
My post did not take the position that understanding problems isn't important.
Using LLMs can even help you understand the problem better. And it can bring you towards the solution faster. Using an LLM to solve a problem does not prevent understanding it. Does using a calculator prevent us from understanding mathematical concepts?
Technical understanding will still be valuable. Typing out code by hand will not.
The trajectory of LLMs "routinely producing incorrect results" is heading downwards as we are getting more advanced reasoning models with test-time compute.
I don't know whether you used some of the more recent models like Claude 3.5 Sonnet and o1. But to me it is very clear where the trajectory is headed. o3 is just around the corner, and o4 is currently in training.
People found value even in a model like GPT 3.5 Turbo, and that thing was really bad. But hey, at least it could write some short scripts and boilerplate code.
You are also comparing mathematical computation - which has only 1 correct solution - with programming, where the solution space is much broader. There are multiple valid solutions. Some are more optimal than others. It is up to the human to evaluate that solution, as I've said in the post. Today, you may even need to fix the LLM's output. But in my experience, I'm finding I need to do this far less often than before.
You make a good point and those kind of senior engineer skills may be the least affected. My post does not argue against that. It argues that writing code manually may quickly become obsolete.
What I am trying to say is that people who see the output of their work as "code" will be replaced just like human computers did. I believe even debugging will be increasingly aided by AI. I do not believe that AI will eliminate the need for system understanding, just to be clear.
Then again, you might argue that writing lines of code and manually debugging issues is exactly what builds your understanding of the system. I agree with that too, I suppose the challenge will be maintaining deep system knowledge as more tasks become automated.
People who consciously do IF tend to eat healthier, while people who skip breakfast purely because they're lazy tend to eat less healthy food. I don't believe that eating time affects anything. Our caveman ancestors did not eat muesli immediately after waking up, and yet they did not have diabetes.
Sure, here are some of the latest news on Ukraine as of July 13, 2023:
Ukraine's air defenses shot down 20 Iranian-made drones fired by Russia overnight. The drones were mostly destroyed in the Kyiv region.
A Ukrainian general confirmed to CNN that Kyiv has received cluster munitions from the US. These munitions are controversial because they can cause widespread civilian casualties.
Russia has lost a fifth of the territory it once controlled in Ukraine. This is according to a new analysis by the Guardian.
The death toll from the war in Ukraine has reached an estimated 14,400 people. This includes both civilians and military personnel.
The NATO summit in Vilnius, Lithuania, focused on aid for Ukraine. The summit leaders pledged to continue supporting Ukraine and to provide it with more military assistance.
I hope this helps!
I asked it if it could use street view, as i was quite impressed by what it could tell from a steet view screenshot. but when i asked it what the view is in a location with street view it got it all wrong.
I feel like if Google really wanted to differentiate itself, it should have never let Bard give that answer. Go all out. The same way Google search always returns something, Bard could too.
Was rather referring to “knowledge base” apps mentioned in this thread like like Notion, Obsidian, Logsec, Roam, etc.
Keep is quite simple as Is Apple Notes. But these, at least for me, become chaotic quite fast unless I’m very disciplined (and sooner or later there’s a day in which I’m not)
You pretty much summed up the drawbacks of the embeddings approach. In my experience it's pretty hard to extract the relevant parts of text, especially when the text is uniform.
This may be a silly question, but I'm not quite getting what all the fuss is about. Let's say your current username is abc#1234. When you get prompted to change your username, you will be able to change it to @abc#1234. You can still configure your server usernames to display only "abc". So what is the exact problem here?
Everyone is not forced to do that. So if someone is faster they get @abc. The current system is one of the better ones in existence because it is equally unfair to everyone.
You are also making the assumption that LLMs won't improve, which I think is shortsighted.
I fully agree with the part about the job becoming more like product management. I would like to cite an excerpt of a post [2] by Andrew Ng, which I found valuable:
Writing software, especially prototypes, is becoming cheaper. This will lead to increased demand for people who can decide what to build. AI Product Management has a bright future! Software is often written by teams that comprise Product Managers (PMs), who decide what to build (such as what features to implement for what users) and Software Developers, who write the code to build the product. Economics shows that when two goods are complements — such as cars (with internal-combustion engines) and gasoline — falling prices in one leads to higher demand for the other. For example, as cars became cheaper, more people bought them, which led to increased demand for gas. Something similar will happen in software. Given a clear specification for what to build, AI is making the building itself much faster and cheaper. This will significantly increase demand for people who can come up with clear specs for valuable things to build. (...) Many companies have an Engineer:PM ratio of, say, 6:1. (The ratio varies widely by company and industry, and anywhere from 4:1 to 10:1 is typical.) As coding becomes more efficient, teams will need more product management work (as well as design work) as a fraction of the total workforce.
To address your last point - no, I am not saying people should skip learning a whole way of thinking. In fact, the skills I outline for the future (supervising AI, evaluating results) all require understanding programming concepts and system thinking. They do not, however, require manual debugging, writing lines of code by hand, a deep understanding of syntax, reading stack traces and googling for answers.
[1] https://nmn.gl/blog/ai-illiterate-programmers
[2] https://www.deeplearning.ai/the-batch/issue-284/