I tweeted about this yesterday & it blew up:
https://twitter.com/KentBeck/status/1648413998025707520?s=20
I wanted to expand on this a bit.
First, I do not have the answer for which skills are in the 90% & which are in the 10%. (I’ll tell you why I concluded that split in a second.) We are back in Explore territory in 3X: Explore/Expand/Extract terms. The only way to find out is to try a little bit of a lot of ideas.
Second, why did I conclude that 90% of my skills had become (economically) worthless? I’m extrapolating wildly from a couple of experiences, which is what I do.
A group of us did a word-smithing exercise yesterday. I took a sentence that was semantically correct & transformed it into something punchy & grabby. I did it through a series of transformations. Someone said, “What this means is XYZ,” and I said, “Just write that.” Then I replaced a weak verb with a stronger one—”would like to” became “crave”.
Having just tried ChatGPT, I realized ChatGPT could have punched up the same sentence just as well & probably more quickly. Anyone who knows to ask (and there is a hint about the remaining 10%) could get the same results.
I’ve spent between 1-2% of my seconds on the planet putting words in a row. For a programmer I’m pretty good at it. The differential value of being better at putting words in a row just dropped to nothing. Anyone can now put words in a row pretty much as well as I can.
I can list skills that have proven valuable to me & clients in the past. Many of them are now replicable to large degree. Others, like baking, not so much (but also rarely valuable in a consulting context).
Third, technological revolutions proceed by:
Radically reducing the cost of something that used to be expensive.
Discovering what is valuable about what has suddenly become cheap.
ChatGPT wrote a rap in the style of Biggie Smalls (RIP) about the Test Desiderata. It wasn’t a great rap, so I’ll spare you the details, but it was a rap. I would never have dreamed of writing one myself. Now the space of things I might do next expanded by 1000. (The Woody Guthrie-style folk song on the same subject was just lame.)
Fourth, to everyone say, “Yeah, but ChatGPT isn’t very good,” I would remind you that technological revolutions aren’t about absolute values but rather growth rates. If I’m big & you’re small & you’re growing faster, then it’s a matter of time before you surpass me.
My skills continue to improve, but ChatGPT’s are improving faster. It’s a matter of time.
What’s next? Try out everything I can think to try out. I’ve already trained a model on my art. I’ll try various tasks with assistance & see what sticks.
Bonus
Here is the obligatory ChatGPT transcript. First an essay expanding on my tweet, then one refuting it. I must say that as Kent Beck’s go, ChatGPT’s writing sucks. No punchy analogies. No in media res. No callback. No humor. No asides. C’mon.
(I notice that the two essays are both complimentary of ChatGPT even though they are supposed to take opposite positions. It’s a savvy marketer.)
write a 500 word blog post in the style of kent beck expanding on "I’ve been reluctant to try ChatGPT. Today I got over that reluctance. Now I understand why I was reluctant. The value of 90% of my skills just dropped to $0. The leverage for the remaining 10% went up 1000x. I need to recalibrate."
As someone who has spent decades in the software development industry, I've seen my fair share of new technologies and trends come and go. And yet, when I first heard about ChatGPT, I was reluctant to try it out. It's not that I'm opposed to new technologies or tools, but rather that I was skeptical of how AI language models could truly benefit my work as a software developer.
However, after finally giving ChatGPT a chance, I can say that I now understand why I was reluctant to try it in the first place. The truth is, AI technology like ChatGPT has the power to drastically shift the value of our skills as developers.
In my experience, software development requires a wide range of skills, from problem-solving and critical thinking to programming and debugging. For years, I've relied on my expertise in these areas to deliver high-quality software products to my clients.
But with the rise of AI technology, I'm now seeing a shift in the value of these skills. The reality is that many aspects of software development, such as code completion and even bug fixing, can now be automated or augmented by AI tools like ChatGPT. This means that the value of 90% of my skills has dropped to $0.
At first, this realization was disheartening. I had built my career on a set of skills that were now being rendered obsolete by AI. However, upon further reflection, I came to see this shift in value as an opportunity to recalibrate my skills and leverage the remaining 10% in a new way.
Rather than seeing the rise of AI as a threat to my career, I now view it as an opportunity to augment my skills and deliver even greater value to my clients. By embracing AI tools like ChatGPT, I can automate routine tasks and focus my efforts on the areas where my expertise and creativity can truly shine.
For example, ChatGPT can be incredibly useful for brainstorming new solutions to complex problems. As a developer, I often encounter challenges that require me to think outside the box and come up with creative solutions. With ChatGPT, I can input a prompt and get dozens of unique responses that can help me break through creative blocks and deliver more innovative solutions.
Similarly, ChatGPT can be used to analyze and understand complex code bases. As a developer, I'm often tasked with reviewing and debugging large code bases. With ChatGPT, I can input a query and get relevant information in seconds, helping me to quickly understand and navigate even the most complex code.
But perhaps the most exciting opportunity presented by AI technology is the ability to collaborate with other developers and share knowledge at a faster rate than ever before. With ChatGPT, developers can input questions or prompts and receive relevant responses from other developers around the world in real-time. This means that we can tap into the collective knowledge of our industry and deliver even greater value to our clients.
In conclusion, while I was initially reluctant to try ChatGPT, I now see the value that AI technology can bring to the world of software development. While the value of some of our skills may be decreasing, the opportunity to leverage the remaining 10% in new and innovative ways is tremendous. By embracing AI tools like ChatGPT, we can work smarter, not harder, and deliver even greater value to our clients and our industry as a whole.
write a 500 word blog post in the style of kent beck disagreeing with "I’ve been reluctant to try ChatGPT. Today I got over that reluctance. Now I understand why I was reluctant. The value of 90% of my skills just dropped to $0. The leverage for the remaining 10% went up 1000x. I need to recalibrate."
As someone who has spent decades in the software development industry, I have a slightly different perspective on the value of AI tools like ChatGPT. While I agree that these tools can be incredibly powerful and offer a wide range of benefits, I don't believe that they render 90% of our skills obsolete.
In fact, I believe that our skills as software developers are more valuable than ever before. While AI tools like ChatGPT can certainly automate routine tasks and help us be more efficient, they can never replace the human creativity and expertise that is essential to delivering high-quality software products.
At their core, software development projects require a deep understanding of complex systems and the ability to think critically and creatively about how to solve problems. These are skills that cannot be replaced by AI technology.
Furthermore, AI tools like ChatGPT are only as good as the data that is used to train them. This means that they are not infallible and can sometimes produce incorrect or incomplete results. As software developers, it is our responsibility to ensure that we are always reviewing and validating the outputs of these tools to ensure that they are accurate and appropriate for the task at hand.
Additionally, the use of AI tools like ChatGPT can sometimes lead to a reduction in creativity and innovation. If we rely too heavily on these tools to solve problems, we may miss out on opportunities to think outside the box and come up with truly innovative solutions.
In my experience, the most successful software development projects are those that are driven by a combination of human creativity and expertise, as well as the efficient use of tools like ChatGPT. Rather than seeing the rise of AI technology as a threat to our skills, we should view it as an opportunity to enhance and augment our abilities as software developers.
Rather than allowing our skills to become obsolete, we should focus on finding ways to integrate AI tools like ChatGPT into our work in a way that complements our human expertise and creativity. By doing so, we can work more efficiently and effectively while still delivering high-quality software products that meet the needs of our clients.
In conclusion, while I respect the opinion of those who believe that AI tools like ChatGPT render 90% of our skills obsolete, I believe that this is an oversimplification of the value that we bring to the software development industry. While AI can certainly be a powerful tool for enhancing our work, it cannot replace the human creativity, expertise, and critical thinking that is essential to delivering truly exceptional software products. As software developers, we should embrace the power of AI tools like ChatGPT while also recognizing the unique value that we bring to the table.
Is it just me or the Chat GPT's writing was clearly distinguishable? I have created content with various writing styles: humorous, formal, informal. It creates very repetitive content. It might create a sentence, but it would not understand how much to expand on it. Like, at what point does the reader want more details? What will make the story more interesting?
As counterintuitive as it seems, I'm pivoting to writing. Writing clearly and writing more.
I've been doing web development for 15 years now. For the past 4 years, 80% of my time was spent on refactoring old codebases to use more modern tech (Backbone -> React). Even though it's my job, I hope it gets automated soon. It's a long process, especially if you do this in a big organization.
I won't make any bold claims, but I hope in the near future, creating software will be 100x more accessible than it is now, and we can focus on building businesses that serve people instead of replacing date-fns with dayjs in 2500 files and hoping every component had test coverage.