AI tools for software engineers, but without the hype – with Simon Willison (Co-Creator of Django)
Sintesi
TLDRIn this episode of the Pragmatic Engineering Podcast, Simon Willison, an experienced software engineer and open-source contributor, discusses the impact and use of AI tools in programming. These tools, like ChatGPT's Code Interpreter Mode, can write and execute code, posing both opportunities and challenges for programmers. Although AI can perform basic coding tasks rapidly, leading to reflections on the roles of programmers, Simon highlights how these tools can significantly boost efficiency and enable more ambitious projects. He describes his experimental approach to understanding these tools, comparing their impact to previous major advances like open-source software and Firebug. Despite the existential dread some programmers feel, Simon argues that combining human expertise with AI leads to overwhelming competitive advantages. He advises experimenting with AI tools and integrating them into more advanced software practices for experienced and new software engineers. The podcast also debunks common misconceptions, such as the belief that AI will soon replace programmers entirely, emphasizing instead that AI functions best as an augmentation to human effort.
Punti di forza
- 🤖 AI tools like ChatGPT can significantly boost programming productivity.
- 💡 Large language models pose both opportunities and existential challenges for developers.
- 🔧 Simon advocates using AI as a tool to enhance existing programming skills.
- 📈 AI allows developers to tackle more ambitious projects by handling trivial tasks.
- 🧠 Understanding AI requires experimentation and building an intuition for their use.
- 🛠️ The key to effective AI use is knowing what tasks AI excels at and where it falls short.
- 🧰 Integrating AI with personal programming knowledge results in a strong competitive advantage.
- 🌍 Open-source has been a major factor in improving software development efficiency.
- 📚 Developers should continue experimenting with AI to discover new ways to enhance their workflows.
- ⚖️ Ethical considerations in AI use are important and should not be overlooked.
Linea temporale
- 00:00:00 - 00:05:00
In this introduction, there is a discussion on the experience of using AI models for coding, particularly with the introduction of Code Interpreter mode in ChatGPT. The speaker expressed a feeling of existential dread upon realizing how efficiently AI could solve problems they believed were integral to their professional identity. They balanced this concern with an optimistic view of using AI tools to enhance programming skills, leveraging their programming knowledge to outpace those unfamiliar with coding.
- 00:05:00 - 00:10:00
The podcast, Pragmatic Engineering, focuses on software engineering insights from big tech and startups, featuring experienced engineers and their lessons. The host discusses their conversation with Simon Willison, an independent researcher with extensive experience using large language models (LLMs) for personal productivity. Plans for an in-depth conversation with Simon about practical applications of AI in development workflows and misconceptions about LLMs are introduced. Simon’s background, involving significant contributions to open source and transitioning from startups to large companies, sets the stage for insights into using AI in programming.
- 00:10:00 - 00:15:00
Simon discusses his early exposure to machine learning and LLMs, beginning with GPT-2 and evolving into heavy use with GPT-3. Initially unimpressed by early models, Simon found GPT-3 significantly more capable. He began using it for coding tasks, like navigating JQ programming, noting improvement in handling more complex tasks with the advent of ChatGPT. The implementation shift from cumbersome completion prompts to a more intuitive chat interface marked a major advancement, making interactions more user-friendly and efficient for solving coding issues.
- 00:15:00 - 00:20:00
Simon recounts the transformative impact of ChatGPT’s Code Interpreter, which executed SQL queries efficiently on datasets, illustrating the tool’s capabilities compared to his own software. This experience led Simon to reconsider how AI could enhance his projects, integrating AI features like SQL query generation in his software. He reflects on this technological leap as both humbling and motivating, propelling him to innovate beyond AI capabilities by blending traditional software with AI advancements.
- 00:20:00 - 00:25:00
The podcast host plugs a sponsor, Codium, an AI tool optimized for enterprise-ready software development, enhancing productivity through sophisticated features. Simon elaborates on his exploration of various LLM tools, from local model setups to mainstream platforms like ChatGPT and Copilot, that evolved his coding stack. The conversation covered the challenges and learning curves associated with becoming proficient with AI tools, emphasizing the importance of understanding each model’s strengths and weaknesses for achieving enhanced productivity.
- 00:25:00 - 00:30:00
Simon elaborates on how using LLMs has changed his coding approach, particularly after three years of embracing these tools alongside traditional programming. He explains that efficient use of AI tools requires understanding their potential and limits, such as their language preferences (e.g., Python and JavaScript) and weakness (e.g., current events and math problems). His experience with daily explorations of different AI models, combined with patience and learning from trial and error, allowed him to integrate AI into his workflow effectively.
- 00:30:00 - 00:35:00
Simon explores the concept of ‘fine-tuning’ with LLMs, detailing the challenges and effectiveness of adapting models using custom training data. He introduces the concept of RAG (Retrieval-Augmented Generation), a simpler alternative to fine-tuning that uses existing data to solve problems more effectively. This approach exemplifies how non-specialists can effectively scale AI to address specific needs. The discussion highlights the intricacies of model training and the practical reality of using AI in real-world applications.
- 00:35:00 - 00:40:00
The conversation moves to Simon's day-to-day use of AI tools, highlighting the use of Claude 3.5 Sonet and GPT-4 for coding optimization. Simon finds Claude 3.5 Sonet particularly effective, with superior features over typical models due to its quick adaptive coding and problem-solving capabilities. He describes how these tools fit into his daily development environment, significantly boosting coding efficiency and allowing more time for higher-level problem-solving, thus redefining his coding practices and expanding project possibilities.
- 00:40:00 - 00:45:00
Discussions delve into personal strategies using advanced AI tools like Copilot and Claude. He emphasizes building intuition and harnessing contextual AI to navigate complex coding challenges. Practical examples illustrate how Simon uses AI to navigate specific coding languages, leveraging them to tackle larger, more ambitious projects. He shares insights on increasing code efficiency and exploring diverse programming languages by outsourcing trivial language syntax details to AI, thus broadening the scope of potential projects.
- 00:45:00 - 00:50:00
Simon reflects on transformative technologies in his programming career, such as Firebug’s impact on web development productivity, likening AI advancements to previous innovations. He underscores open source as a major career booster, with platforms like GitHub revolutionizing collaboration and code reuse. While AI brings a similar revolutionary potential, it necessitates dedication and understanding to leverage effectively. The conversation hints at parallels between current AI tools and historical tech trends that redefined engineering practices.
- 00:50:00 - 00:55:00
Simon discusses his enhanced productivity through AI tools, estimating them to make him two to three times more efficient in coding tasks even though coding is a fraction of overall work. LLMs primarily enhance his ability to tackle a wider range of languages and projects, making complex or unfamiliar tasks feasible without in-depth prior knowledge of the syntax. The conversation explores broader implications, such as how AI might alter demand for developers or expand possible project scopes, aligning with historical tech advancements.
- 00:55:00 - 01:00:00
Exploring AI adoption resistance, Simon examines ethical, economic, and professional implications of AI integration. He respects the ethical stance against AI due to data privacy concerns while advocating for embracing AI to stay competitive. Simon suggests that fear of job displacement can be mitigated by mastering AI to complement existing skills. He debates potential misconceptions around AI stagnation and technological plateaus, highlighting ongoing incremental improvements in AI that could redefine competitive edge.
- 01:00:00 - 01:05:00
Simon gives a realistic perspective on the potential and limitations of AI tools, emphasizing that tools like Chain of Thought prompting enhance problem-solving by structuring reasoning. He disputes notions of AI-driven job replacements, advocating for AI as auxiliary, improving existing roles without usurping them. By enhancing human decision-making with AI assistance, developers can tackle more complex challenges. Simon emphasizes that mastery of these tools, combined with human intellect, prolongs professional relevance in tech advancements.
- 01:05:00 - 01:12:43
Simon outlines suggestions for developers, promoting ongoing learning and experimentation with AI tools through personal projects. He advocates for embracing redundancy and leveraging AI for mundane tasks, freeing developers to focus on innovation. By engaging with various AI tools, developers can sharpen intuition, align AI applications with objectives, and push project boundaries. Practical tips include integrating AI tools incrementally in daily tasks while staying updated on AI developments to remain competitive and enhance career growth.
Mappa mentale
Domande frequenti
Who is Simon Willison?
Simon Willison is an experienced software engineer known for co-creating the Django framework and other open-source contributions.
What is the main topic of the podcast?
The main topic is the use of AI tools, specifically large language models, in coding and their impact on software engineering.
How did Simon Willison's career benefit from AI tools?
Simon uses AI tools to enhance productivity by handling coding tasks more efficiently and taking on more ambitious projects.
What is the Code Interpreter Mode in ChatGPT?
This feature allows ChatGPT to write and execute python code to answer questions, effectively querying databases or processing data files.
What challenges does AI pose to programmers?
AI tools challenge programmers by performing coding tasks faster, prompting an existential reflection on their role.
What is Simon Willison's perspective on using AI in programming?
Simon sees AI as a tool to enhance productivity and plans to combine his programming knowledge with AI for better results.
What are some misconceptions about AI tools in software engineering?
A common misconception is that AI tools will completely replace human programmers, but they are more effectively used as assistants.
What impact have large language models had on software engineering according to the podcast?
Large language models have significantly improved productivity by automating routine coding tasks and expanding the scope of projects engineers can tackle.
How has open source influenced software engineering productivity?
Open source has drastically reduced development costs and increased the availability of reusable software components.
Visualizza altre sintesi video
The Expectancy Theory of Motivation
How to Boot a VM From an ISO File in Oracle VirtualBox
Gender, love and sex: What can we learn from the ancient Greek poet Sappho? | BBC Ideas
History of CQL | The Council on Quality and Leadership
Sappho of Lesbos: The Female Poet of Ancient Greece
Homer: An Ancient Greek Mystery
- 00:00:00every programmer who works with these
- 00:00:02models the first time it spits out like
- 00:00:0420 lines of actually good code that
- 00:00:06solves your problem and does it faster
- 00:00:07than you would there's that moment when
- 00:00:09you're like hang on a second what am I
- 00:00:10even for and then I tried this new
- 00:00:12feature of chat GPT that they launched
- 00:00:14last year called code interpreter mode
- 00:00:16and I asked a question and it flawlessly
- 00:00:19answered it by composing the right SQL
- 00:00:20query running that using the python SQL
- 00:00:23light library and spitting out the
- 00:00:24answer what am I even for like I thought
- 00:00:26my life's purpose was to solve this
- 00:00:28problem that was a little bit exist
- 00:00:29itial dread it is scary when you think
- 00:00:32okay I earn a very good salary because I
- 00:00:35have worked through the trivia of
- 00:00:37understanding Python and JavaScript and
- 00:00:38I'm better at that trivia than most
- 00:00:39other people and now you've got this
- 00:00:41machine that comes along and it's better
- 00:00:43at the trivia than I am I feel like
- 00:00:45there's a pessimistic in an optimistic
- 00:00:46way the optimistic version I can use
- 00:00:48these tools better than anyone else for
- 00:00:51programming I can take my existing
- 00:00:52program knowledge and when I combine it
- 00:00:54with these tools I will run circles
- 00:00:56around somebody who's never written a
- 00:00:58code line of code in their life I can
- 00:01:00just do the Step better welcome to the
- 00:01:02pragmatic engineering podcast in this
- 00:01:05show we cover software engineering at
- 00:01:06Big Tech and startups from the inside
- 00:01:09you'll get deep tipes with experienced
- 00:01:11engineers and Tech professionals who
- 00:01:12share their hard-earned lessons
- 00:01:14interesting stories and practical advice
- 00:01:16that they have on building software
- 00:01:18after each episode you'll walk away what
- 00:01:20pragmatic approaches you can use to
- 00:01:21build stuff whether you're a software
- 00:01:23engineer or a manager of
- 00:01:25engineers in this first episode we go
- 00:01:27into a really timely topic using gen AI
- 00:01:30for coding now there's no shortage of AI
- 00:01:32companies hyping up their capabilities
- 00:01:34but we'll size up all of that I turned
- 00:01:37to longtime software engineer Simon
- 00:01:38Willison who is safe to refer to as an
- 00:01:41independent investigator of large
- 00:01:42language models because he's been using
- 00:01:44them so much to improve his personal
- 00:01:46productivity for the last four years
- 00:01:48with Simon we have a refreshingly honest
- 00:01:50conversation on how these tools actually
- 00:01:53work for us developers as of now we talk
- 00:01:56about common llm use cases like
- 00:01:58fine-tuning and rack
- 00:02:00Simon's day-to-day large language model
- 00:02:02stack and misconceptions about large
- 00:02:04language models this is the first
- 00:02:06episode of many such deep Dives to come
- 00:02:08subscribe to get notified of when new
- 00:02:10episodes are out so Simon welcome to the
- 00:02:13podcast hey it's really great to be here
- 00:02:16so it's great to have you here you're an
- 00:02:18experienced software engineer and you've
- 00:02:20definitely been around the blog so some
- 00:02:22people will know you from your prolific
- 00:02:24open source contributions co-creating
- 00:02:26the Django framework uh which is a rapid
- 00:02:28web development tool written in Python
- 00:02:31uh you're also the creator of a data set
- 00:02:34tool for exploring and Publishing data
- 00:02:36and then you're also a startup founder
- 00:02:38right so I remember you were the the
- 00:02:41founder of lanard a conference Direction
- 00:02:44site which was funded by y combinator
- 00:02:47acquired by event right and then you
- 00:02:48were there for six years as an engineer
- 00:02:50as a manager so you've really done all
- 00:02:52all of the things open source founder
- 00:02:54working at a large company yeah I got to
- 00:02:57um I got to do the the the startup to
- 00:02:59large company thing is is particularly
- 00:03:01interesting you know like moving from
- 00:03:03moving at the speed of a startup to
- 00:03:05moving at the speed of a much larger
- 00:03:06company where bugs matter and people
- 00:03:08lose money if your software breaks when
- 00:03:11I started
- 00:03:12to notice you more is when around the
- 00:03:15time when chat GPT came out and you were
- 00:03:17very Hands-On in trying out what this
- 00:03:20works for your development workflow you
- 00:03:21shared a lot of things on your blog and
- 00:03:25really this is what we're going to talk
- 00:03:26about today uh your firsthand learnings
- 00:03:28about how this AI development helps your
- 00:03:31specific workflow where it doesn't help
- 00:03:33and and what you've learned through this
- 00:03:36how many years has it been two 3 years
- 00:03:39of well um so I was on GPT 3 before chat
- 00:03:42GPT came out so I'm at about I'm verging
- 00:03:45on three years of using this stuff
- 00:03:47frequently um it got exciting when chat
- 00:03:50GPT came out gpt3 was interesting but
- 00:03:52chat GPT that's when the whole world
- 00:03:54started paying attention to it to kick
- 00:03:57off I'm I'm interested
- 00:04:00in how you got started with with these
- 00:04:03large language model tools what what was
- 00:04:05the you know first time you came across
- 00:04:07them man and you're like all right let
- 00:04:09me get as a goal so I've been paying
- 00:04:11attention to the field of machine
- 00:04:13learning on a sort of as a sort of like
- 00:04:15side side interest for five or six years
- 00:04:18I did the um the fast AI course Jeremy
- 00:04:20Howard's course back in I think
- 00:04:222018 and then um when and then gpt2 came
- 00:04:27out in was that 2019 20 yeah it's 2019
- 00:04:31gpt2 was happening which was the first
- 00:04:34of these models that you could see there
- 00:04:36was something interesting there but it
- 00:04:38was not very good like it could you
- 00:04:40could give it text to sort of complete a
- 00:04:42sentence and sometimes it would be
- 00:04:43useful and I did an experiment back then
- 00:04:45where I tried to generate New York Times
- 00:04:48headlines for different decades by
- 00:04:50feeding in say all the New York Times
- 00:04:52headlines in the 1950s then the 1960s
- 00:04:54and 1970s and then giving it stories to
- 00:04:56complete now and I poked around for it
- 00:05:00the the results were not exactly super
- 00:05:02exciting um and I kind of lost interest
- 00:05:05at that point to be honest and then gpt3
- 00:05:08which came out in
- 00:05:092020 um but sort of began to be more
- 00:05:12available in
- 00:05:132021 that's when things started getting
- 00:05:15super interesting because GPT was the
- 00:05:17first of these models that was large
- 00:05:19enough that it could actually do useful
- 00:05:21things and um one of the earliest code
- 00:05:24things I was using it for was um I think
- 00:05:26I was using it for JQ the The Little Jon
- 00:05:29on programming language which I've
- 00:05:31always found really difficult um it just
- 00:05:33doesn't quite fit in my head and I was
- 00:05:35finding that gpt3 if I prompted it in
- 00:05:37the right way and this was a model where
- 00:05:39you had to do the um the completion
- 00:05:41prompt so you don't ask it a question
- 00:05:42get an answer you say the JQ needed to
- 00:05:44turn this into this is and then you stop
- 00:05:47and you run that in the model and it
- 00:05:49finishes the sentence which I think is
- 00:05:51the reason most people weren't playing
- 00:05:52with it it's a weird way of interacting
- 00:05:54with something like in many ways the big
- 00:05:57innovation of chat GPT was they had talk
- 00:05:59they added a chat interface on top of
- 00:06:01this model and so now you could you
- 00:06:03didn't have to think in terms of
- 00:06:05completions you could ask it a question
- 00:06:06and get an answer back but yeah so it
- 00:06:08was very clear back then sort of um and
- 00:06:12that was running it for about 12 months
- 00:06:13before chat GT came along there was
- 00:06:15something really interesting about this
- 00:06:17model and what it could do and that was
- 00:06:19also the the point where it became clear
- 00:06:21that code was actually something was
- 00:06:23surprisingly good at and this um I
- 00:06:25talked to somebody open AI I asked them
- 00:06:27it's like were you expecting it to be
- 00:06:28good at code and they said you know we
- 00:06:30thought maybe but it wasn't one of our
- 00:06:32original goals like the original goals
- 00:06:34of these models were much more things
- 00:06:35like translation from one human language
- 00:06:37to another which um which they do
- 00:06:39incredibly well um but when you think
- 00:06:41about it the fact that they can write
- 00:06:43code well isn't that surprising because
- 00:06:45C code is so much simpler than like
- 00:06:47English or Chinese or German like we put
- 00:06:50it together what we know I I think it's
- 00:06:53it's it's pretty obvious and I think you
- 00:06:54know we'll talk about implications but
- 00:06:57let's just jump a little bit ahead so I
- 00:06:59think like I personally had a wow this
- 00:07:01is amazing moment with uh llms and then
- 00:07:04I've also had a bit of a like scared
- 00:07:06moment of like is this could this
- 00:07:10actually replace part of what I do or
- 00:07:13not and you had a really interesting
- 00:07:15story with that a proper like this is
- 00:07:17scary moment can can you talk about that
- 00:07:20I mean I've definitely I've had a few of
- 00:07:22those I think every every programmer who
- 00:07:24works with these models the first time
- 00:07:26it spits out like 20 lines of actually
- 00:07:28good code that solves your problem and
- 00:07:30does it faster than you would there's
- 00:07:32that moment when you're like hang on a
- 00:07:33second what am I even for but I had a a
- 00:07:36bigger version of that with um actually
- 00:07:38with my my main open source project so I
- 00:07:40I built this tool called data set which
- 00:07:42is a uh it's a interface for querying
- 00:07:45databases and um like analyzing data
- 00:07:47creating Json apis on top of data all of
- 00:07:50that kind of stuff and the thing I've
- 00:07:51always been trying to solve with that is
- 00:07:53I feel like every human being should be
- 00:07:54able to ask questions of databases like
- 00:07:57it's absurd that everyone's got all of
- 00:07:59this data about them but we don't give
- 00:08:00them tools that let them actually you
- 00:08:02know dig in and explore it and and
- 00:08:04filter it and try and answer questions
- 00:08:05that way and then I tried this new
- 00:08:07feature of um chat GPT that they
- 00:08:10launched last year called code
- 00:08:11interpreter mode this is the thing where
- 00:08:14chat GPT you can ask a question it could
- 00:08:16write some python code and then it can
- 00:08:18execute that python code for you and use
- 00:08:20the result to continue answering your
- 00:08:22question and code inter mode has a
- 00:08:25feature where you can upload files to it
- 00:08:27so I uploaded a sqlite database file to
- 00:08:29it like just the same database files
- 00:08:31that I use in my own software and I
- 00:08:33asked it the question and it flawlessly
- 00:08:35answered it by composing the right SQL
- 00:08:37query running that using the python SQL
- 00:08:39light library and spitting out the
- 00:08:41answer and I sat there looking at this
- 00:08:42thinking on the one hand this is the
- 00:08:44most incredible example of like being
- 00:08:46able to ask questions of your data that
- 00:08:49I've ever seen but on the other hand
- 00:08:51what am I even for like I thought my
- 00:08:52life's purpose was to solve this problem
- 00:08:55and this thing this new tool is solving
- 00:08:57my problem without even really thinking
- 00:08:59about it like they didn't mention oh it
- 00:09:01could do sqlite SQL queries as part of
- 00:09:03what it does it's just like python um
- 00:09:06and that was fun and well no that was a
- 00:09:08little bit existential dread and the way
- 00:09:11I've been coping with that is thinking
- 00:09:12okay well my software needs to be better
- 00:09:15than chat GPT code interpreter this
- 00:09:17particular problem if I mix AI features
- 00:09:19into it so I've started exploring what
- 00:09:21the plugins for my software look like
- 00:09:23that add large language model based like
- 00:09:26build run a SQL query against this
- 00:09:27schema all of that kind of stuff but
- 00:09:29it's interesting like it did very much
- 00:09:31change my mental model of the problem
- 00:09:33that I was trying to solve because it
- 00:09:35took such a big bite out of that problem
- 00:09:37this episode is brought to you by codium
- 00:09:40the AI tool of choice for professional
- 00:09:42software developers that is cod
- 00:09:46ium codium removes tedium from your
- 00:09:48development through a suite of
- 00:09:49state-of-the-art AI capabilities
- 00:09:52available via extensions and all of your
- 00:09:53favorite IDs such as vs code jet brains
- 00:09:56Visual Studio eclipse xcode neovim
- 00:09:59computer notebooks and more uniquely
- 00:10:02codium is fully Enterprise ready as
- 00:10:04proof it had multiple regulated Fortune
- 00:10:06500 companies counted within it
- 00:10:08thousands of Enterprise customers join
- 00:10:11to 700,000 developers using codium
- 00:10:13individual free plan and ask your
- 00:10:15companies to consider a free trial of
- 00:10:16the Enterprise plan to learn more about
- 00:10:19codium visit codium
- 00:10:21docomo that is
- 00:10:24ci.com
- 00:10:27pragmatic and what I noticed is you have
- 00:10:29the experimenting a lot with trying out
- 00:10:31how different llms will work you've been
- 00:10:34running models locally you've been
- 00:10:36obviously trying a lot of like you know
- 00:10:37there's the usual suspect tools but but
- 00:10:39even beyond that c can you share a
- 00:10:41little bit on how your initial
- 00:10:44Impressions were because you you were
- 00:10:46already on the early versions of the
- 00:10:47tool from from chat GPT to co-pilot to
- 00:10:50some other things and how your stack has
- 00:10:52changed or refined to actually make you
- 00:10:55more productive because it sounds like
- 00:10:57you are more productive now yes very
- 00:11:00much so I mean yeah so I've I've been
- 00:11:01calling myself an independent researcher
- 00:11:04when when it comes to this kind of stuff
- 00:11:06because I've got the time to to I can
- 00:11:08dig into these things I write a lot like
- 00:11:10I've been blogging about this since when
- 00:11:13since when I first started investigating
- 00:11:14it and yeah I mean um like I said gpt3 I
- 00:11:17was basically using it through their
- 00:11:19playground interface which still exists
- 00:11:21today it's the the the the API debugging
- 00:11:23tool for this stuff um and it was fine
- 00:11:26like and I was using it to solve I
- 00:11:29experimented with having it like write
- 00:11:31documentation but I've always felt a bit
- 00:11:33funny about publishing words that I
- 00:11:34didn't write because I because I do so
- 00:11:36much writing myself um and little bits
- 00:11:39and pieces of code but I didn't really
- 00:11:40get into the coding side until after
- 00:11:43chat GPT came out and I did the Advent
- 00:11:46of code that December and the sort of
- 00:11:48monthlong programming challeng this was
- 00:11:502022 December right yes November to chat
- 00:11:53November 30th is when chat came out and
- 00:11:56so I spent December trying to learn rust
- 00:11:58with it
- 00:11:59assistant which didn't it was
- 00:12:03interesting I got a reasonably Long Way
- 00:12:05rust is actually I still don't know rust
- 00:12:07rust the the memory management in Rust
- 00:12:10is just difficult enough that language
- 00:12:12models still have trouble with it like
- 00:12:14one of my test of a new language model
- 00:12:16is okay can it explain the rust rust
- 00:12:18borrowing to me and they're getting to a
- 00:12:21point where I'm almost understanding it
- 00:12:23but it's it's an interesting sort of
- 00:12:24stress test for this whereas if you use
- 00:12:26these models for JavaScript and python
- 00:12:28they're pH Nally good there's so much
- 00:12:30more training data about JavaScript and
- 00:12:32python out there than there is for for a
- 00:12:33language like rust that honestly they
- 00:12:36they they just completely sing and
- 00:12:37that's great for me because the code the
- 00:12:40the languages I use every day are Python
- 00:12:42and JavaScript and SQL and those are the
- 00:12:45three languages that language models are
- 00:12:47best at so I'm perfectly positioned to
- 00:12:50have these things be be useful and
- 00:12:51helpful for me and I've also got an I I
- 00:12:55I tend to pick like I said boring
- 00:12:57technology like d Jango which the
- 00:12:59language mods know already you know if
- 00:13:01you're if you're sticking if if you
- 00:13:02stick with Django they're going to be
- 00:13:04able to do pretty much anything that you
- 00:13:05ask of them but yeah so I tried learning
- 00:13:08rust and that was a really good exercise
- 00:13:10for just every day trying these things
- 00:13:12out and seeing what could happen one of
- 00:13:14the key things I've learned that I think
- 00:13:16people don't necessarily acknowledge
- 00:13:18these things are really difficult to use
- 00:13:20and there's a lot of it's not just skill
- 00:13:23there's a lot of intuition you have to
- 00:13:24build up in order to use them
- 00:13:26effectively like if you just sit down
- 00:13:28and ask the question like you'd ask on
- 00:13:30stack Overflow you'll probably not get a
- 00:13:32great response and a lot of people do
- 00:13:35that and then they write the whole thing
- 00:13:36off they're like okay it didn't give me
- 00:13:38what I wanted this is all hyp there's no
- 00:13:40value here the trick is firstly you have
- 00:13:42to learn how to prompt them you have to
- 00:13:44more important you have to learn what
- 00:13:46kind of things they're good at and what
- 00:13:47kind of things they're bad at like I
- 00:13:49know because I've spent so much time
- 00:13:51with them that python JavaScript they're
- 00:13:52great at rust they're not quite as good
- 00:13:54at yet um I know that you shouldn't ask
- 00:13:56them about current events because they
- 00:13:58they've got a tring cut off in terms of
- 00:14:00of of what they understand I know that
- 00:14:02they're terrible at like mathematic math
- 00:14:04math and logic puzzles don't ask them to
- 00:14:05count anything which is bizarre because
- 00:14:09computers are really good at maths and
- 00:14:11Counting and looking things up and
- 00:14:13language models those are the three
- 00:14:14things they're not good at and there are
- 00:14:15most supposedly our most advanced
- 00:14:17computers but so you have to build this
- 00:14:19quite intricate mental model of what
- 00:14:22these things can do and how to get them
- 00:14:24to do those things and if you build that
- 00:14:26mental model if you put the work in you
- 00:14:28can scream with them there is so you can
- 00:14:30work so quickly at solving specific
- 00:14:33problems when you say oh this is the
- 00:14:35kind of thing that language model can do
- 00:14:37and then you just Outsource it to your I
- 00:14:39call it my weird intern sometimes
- 00:14:41whereas other things you're like okay
- 00:14:42well it's not even worth trying out on a
- 00:14:44language model because I know from past
- 00:14:45experience that it won't do a good job
- 00:14:46with it so like as as a software
- 00:14:49engineer I mean we do have a bit of an
- 00:14:51injuring mindset but you know there's
- 00:14:52when you see a new technology I mean you
- 00:14:54know clearly this is this is this is
- 00:14:56here it's not going away but there's two
- 00:14:58ways you can look at it one is I think
- 00:15:00you kind of explain you start playing
- 00:15:02with it you start stress testing it you
- 00:15:03see where it works where it doesn't and
- 00:15:06the other one is you start from a theory
- 00:15:08you understand how it's built how it
- 00:15:10works what's behind the scenes and then
- 00:15:13you start probing and and then you have
- 00:15:15you know I think this is a little bit
- 00:15:16with the way computer science is taught
- 00:15:18like if you go to university like when I
- 00:15:20went to computer science we started with
- 00:15:22algebra and and and some like formal
- 00:15:26methods and and languages and and kind
- 00:15:28of coding was a little bit we got there
- 00:15:30by the end and they're like well yeah I
- 00:15:31guess I I now know what happens
- 00:15:33underneath the compiler but obviously
- 00:15:35there's the the other route as well it
- 00:15:37in in your like you know view like was
- 00:15:41there it sounds like you kind of like
- 00:15:42jump straight into like let me see how
- 00:15:44this actually works and let me not
- 00:15:46overthink the theory which at the time
- 00:15:48it was bit unclear right now if you
- 00:15:51start with the theory it will hold you
- 00:15:54back like this spe specific technology
- 00:15:57it's weirdly um it's weirdly harmful to
- 00:16:00spend too much time trying to understand
- 00:16:02how they like how they actually work
- 00:16:04before you start playing with them which
- 00:16:06is very unintuitive like I I have
- 00:16:09friends who say that um if you're a
- 00:16:10machine learning researcher if you've
- 00:16:12been training models and stuff for years
- 00:16:14you're actually to disadvantage to start
- 00:16:16using these tools than if you come in
- 00:16:17completely fresh because because they
- 00:16:20don't they're very weird you know they
- 00:16:22don't react like you expect reg like
- 00:16:25other machine learning models machine
- 00:16:26learning people always jump straight to
- 00:16:28fine tuning F tuning on these things is
- 00:16:30mostly a waste of time like people it
- 00:16:32takes people a long time to get to the
- 00:16:34point like you know what there's no
- 00:16:36point in F tuning at my own custom
- 00:16:38version of this because next month just
- 00:16:41to break it for fine tuning because I
- 00:16:42think like we hear this word a lot but
- 00:16:44by fine tuning
- 00:16:46like you mean that you take you know the
- 00:16:49model and then you add more training to
- 00:16:52you run wrong training cycles and it's a
- 00:16:55very confusing term because yeah so the
- 00:16:57idea with fine tuning is you take an
- 00:16:58exist model it might be one of the
- 00:16:59openly licensed models or actually like
- 00:17:02um I think Claude has this now GP and
- 00:17:04open a have apis where you can upload
- 00:17:07like a CSV file of a million examples
- 00:17:10and they will and spend a lot of money
- 00:17:11with them and they will give you a a
- 00:17:13model try and tuned on that and it
- 00:17:15sounds so tempting everyone's like wow I
- 00:17:17could have a model that that that's
- 00:17:18perfectly attuned to my specific needs
- 00:17:21it's really difficult to do it's really
- 00:17:23expensive and for most of the things
- 00:17:25that people want to do it turns out it
- 00:17:27it doesn't actually solve the problem
- 00:17:28lots of people think I want the model to
- 00:17:31know about my documentation my company's
- 00:17:33Internal Documentation I want to answer
- 00:17:35questions about that surely I fine tune
- 00:17:37a model to solve that that it turns out
- 00:17:40just BL just blame doesn't work because
- 00:17:42the weight of all of the existing
- 00:17:44knowledge the model has completely
- 00:17:46overwhelms anything that you try and add
- 00:17:48into it with fine tuning the models they
- 00:17:50hallucinate more if you um on on
- 00:17:52questions about things if you've done
- 00:17:54that extra fine tuning step to add
- 00:17:55knowledge which is a surprising thing
- 00:17:57where fine tuning does work is for sort
- 00:18:00of tasks like you can if you want a
- 00:18:02model that's just really good at SQL you
- 00:18:04can give it 10,000 examples of here's a
- 00:18:06human question at a SQL schema and
- 00:18:08here's the SQL query and that will make
- 00:18:10it that will give you a model that is
- 00:18:11stronger at that kind of activity but
- 00:18:13for adding new fact into the model it
- 00:18:16just doesn't work um which confuses
- 00:18:18people um and so then you have to look
- 00:18:20at the other techniques for solving that
- 00:18:22problem there's a thing called rag which
- 00:18:24is a very fancy acronym for a very
- 00:18:26simple trick it stands for retrieval
- 00:18:28augmented Generation all it means is the
- 00:18:31user asks a question you search your
- 00:18:33documentation for things that might be
- 00:18:34relevant to that question you copy and
- 00:18:36paste the whole lot into the model like
- 00:18:39and these models can take quite a lot of
- 00:18:40input now and then you put the user's
- 00:18:41question at the end that's it right
- 00:18:43super super simple don't get it's so
- 00:18:45simple I I actually wrote an article
- 00:18:48about it and I I had a one of the the
- 00:18:50people who who guest wrote it built an
- 00:18:53open- Source tool to well just a tool to
- 00:18:56do your own rack training and you could
- 00:18:57plug in Chad GB and you know I did it I
- 00:19:00understand the code and the code itself
- 00:19:01was very simple and I was like is is
- 00:19:03this all there is to it like you just
- 00:19:05break it up into you know chunks you get
- 00:19:07some embedding so you can uh figure out
- 00:19:09where where search will end you and then
- 00:19:10you just add in that extra thing and the
- 00:19:12only thing obviously you can go down to
- 00:19:14the rabbit hole but for simple rag is
- 00:19:17you decide on the context window size
- 00:19:18for the most part and I was like and I
- 00:19:21was amazed at how well as you said like
- 00:19:23it seemed so simple so I looked at the
- 00:19:25code and I said well this I mean I'm not
- 00:19:27expecting much and when I tried it out
- 00:19:28it work worked really well it's one of
- 00:19:31those counter I I feels there are some
- 00:19:33counterintuitive things yeah so rag it's
- 00:19:36the hello world of building software on
- 00:19:38top of llms like you don't get into to
- 00:19:40print hello world you get it to answer
- 00:19:41questions about your documentation and
- 00:19:43I've implemented like 30 like 30 lines
- 00:19:45of python I've got one version that's
- 00:19:46like two dozen lines of bash I think
- 00:19:48it's very easy to get the basic version
- 00:19:50working but getting good rag working is
- 00:19:54incredibly difficult because the problem
- 00:19:55is that um if you built the system and
- 00:19:57you know how it works you're naturally
- 00:19:59going to ask questions of it in the
- 00:20:00right kind of format the moment you
- 00:20:02expose it to real human beings you they
- 00:20:04will come up with an infinite quantity
- 00:20:07of weird ways that they might ask
- 00:20:08questions and so the art of building
- 00:20:10good rag systems the reason that it
- 00:20:12could take six months to actually get it
- 00:20:14production ready is figuring out okay
- 00:20:17there were all of these different ways
- 00:20:18that it can go wrong and the the key
- 00:20:20trick and rag is always how do we fill
- 00:20:22that context how do we pick the
- 00:20:24information that's most relevant to what
- 00:20:25the user is asking which is really hard
- 00:20:28that's actually like it's an information
- 00:20:29retrieval problem it's what search
- 00:20:31Engineers have been trying to figure out
- 00:20:33for 30 years and there's a lot of depth
- 00:20:35to that field so rag just like
- 00:20:37everything else in language models it's
- 00:20:40fractally interesting and complicated
- 00:20:43like it's simple at the top and then
- 00:20:44each little aspect of it gets more and
- 00:20:46more involved the further you look one
- 00:20:48of my favorite difficult problems in
- 00:20:50this is um what's called in the industry
- 00:20:52evals right automated evaluations
- 00:20:54because when you're writing software we
- 00:20:56write automated tests we write unit
- 00:20:57tests and they intive our software works
- 00:20:59and that's great you can't do that with
- 00:21:01language models because they're
- 00:21:03non-deterministic like they they they
- 00:21:06very rarely return exactly the same
- 00:21:07answer so we don't even have unit
- 00:21:09testing but with with things like rag we
- 00:21:12need to have automated tests that can
- 00:21:14tell us okay we tweaked our algorithm
- 00:21:16for picking content is it better like
- 00:21:19does that do a better job of answering
- 00:21:21questions it's really difficult I'm
- 00:21:23still trying to figure out the right
- 00:21:24path this myself and I I talk with
- 00:21:26someone who's working at an AI company
- 00:21:28and the weird thing that I would just it
- 00:21:30just feels it breaks all that we know is
- 00:21:33they have this eval test Suite which
- 00:21:35which runs against their model whenever
- 00:21:37they make a change they run it and she
- 00:21:38told me like okay it's it cost us $50 to
- 00:21:41run this every single time wow and this
- 00:21:44is just something I don't think we've
- 00:21:46been used to like you know like I run my
- 00:21:48test like as as a software Eng I run my
- 00:21:49unit test integr I know how much time it
- 00:21:51costs me but suddenly obviously they're
- 00:21:54using uh different apis whichever vendor
- 00:21:57this is just it feels like there's a bit
- 00:21:59of a this clearly used to be the thing
- 00:22:01before my time at least like back when
- 00:22:04there were you know servers or main
- 00:22:05frames or Computing time was expensive
- 00:22:07but but suddenly like this is just yet
- 00:22:09another interesting variable so yep yeah
- 00:22:12so you don't want to run those on every
- 00:22:13commit to your repository that'll
- 00:22:15bankrupt you pretty quickly it's also
- 00:22:17funny that um with evals one of the most
- 00:22:19common techniques is what's called llm
- 00:22:21as a judge so you know if you're trying
- 00:22:23to say okay I'm I'm building a
- 00:22:25summarizer uh here's an article I want
- 00:22:27it summarized here is the summary how
- 00:22:29can you write tests against a summary to
- 00:22:32check that it's actually good and what a
- 00:22:34lot of people do is they Outsource that
- 00:22:35to another model so they produce two
- 00:22:37summaries and then they say hey gp4
- 00:22:39which of these two summaries is best and
- 00:22:42I find that so uncomfortable like this
- 00:22:44stuff is all so weird and difficult to
- 00:22:46evaluate already and now we're throwing
- 00:22:47in another letter of weird language
- 00:22:49models to try and give us a score from
- 00:22:51our previous language models but that's
- 00:22:53kind of these are the the kind of
- 00:22:54options that we're exploring at the
- 00:22:56moment yeah it's it's interesting was
- 00:22:58speaking about op options so you've
- 00:23:00experimented a lot with trying out
- 00:23:02different tools including build building
- 00:23:03your own and and obviously co-pilot and
- 00:23:05and and other models I I I saw you
- 00:23:09mentioned Claude for example as what
- 00:23:11when you're playing with what is your
- 00:23:12current llm stack and like day-to-day
- 00:23:16how do you use it for for actually
- 00:23:17coding on on data set or on your
- 00:23:19projects so my default stack right now
- 00:23:23is um my default model is Claude 3.5
- 00:23:26Sonet which is brand new came out maybe
- 00:23:293 weeks ago I I I heard it's amazing for
- 00:23:31coding it's it's amazing for everything
- 00:23:33it is the first time somebody who's not
- 00:23:35open AI has had the clearly best model
- 00:23:38like it's it's just better than open
- 00:23:40ey's best best available models at the
- 00:23:42moment the um the team behind it the
- 00:23:43company behind it anthropic are actually
- 00:23:45a splinter group from open AI they split
- 00:23:48a couple of years ago and apparently
- 00:23:50it's because they tried to get Sam
- 00:23:52ultman fired which you can't do like we
- 00:23:54we saw this happen publicly 6 months ago
- 00:23:57but they were like they were they were
- 00:23:58early adopters two two and a half years
- 00:24:00ago they tried to get S outman fired it
- 00:24:01didn't work they quit and spun up their
- 00:24:03own company and they they were some of
- 00:24:05the people who built the built GPT 4 so
- 00:24:07it's actually the the the the sort of
- 00:24:09gp4 original team but anyway clae 3.5
- 00:24:12Sonet is unbelievably good um it's my
- 00:24:16default for most of the work that I'm
- 00:24:18doing I still use GPT 40 which is open
- 00:24:21ai's probably their best available model
- 00:24:24for mainly because mainly for two
- 00:24:26features it's got code into mode this
- 00:24:29thing where it can write python code and
- 00:24:30then execute that python P so sometimes
- 00:24:33I'll throw a fiddly problem at it and
- 00:24:34I'll watch it try five or six times
- 00:24:37until it works and I just sit there and
- 00:24:39watch it going through the motions so I
- 00:24:41use that a lot and then chat chat GPT
- 00:24:45has the voice mode which I use when I'm
- 00:24:47walking my dog cuz you can stick in a
- 00:24:50pair of airpods and you can go for an
- 00:24:52hourong walk with the dog and you could
- 00:24:53talk to this weird AI assistant and have
- 00:24:56it write you code because it can do
- 00:24:57codeing
- 00:24:58and it can look things up on the
- 00:25:00internet and such like so you can have a
- 00:25:02very productive hourong conversation
- 00:25:04while you're walking the dog on the
- 00:25:05beach this I was not expecting I'll be
- 00:25:08Hest that's very that is the most
- 00:25:11dystopian sci-fi future thing as well
- 00:25:14like the voice mode and this is the this
- 00:25:16isn't the fancy new voice mode they
- 00:25:17demoed a few weeks ago this is the one
- 00:25:18they found for like uh six months it's
- 00:25:21so good like the the intonation the the
- 00:25:24voice it's it's it's like having a
- 00:25:25conversation with an intern who can go
- 00:25:28look things up for you and and then so
- 00:25:30so you mentioned the the stack but like
- 00:25:32if I imagine your data you know you've
- 00:25:34got your terminal or your coat there
- 00:25:36there's more to my stack so it's um
- 00:25:38those are the ones I'm using in my
- 00:25:40browser and on my phone um I use get I
- 00:25:42do I use GitHub co-pilot um I've always
- 00:25:44got that turned on I use my I've bu been
- 00:25:47building this open source tool called
- 00:25:48llm which is command line just a
- 00:25:50question a coil what features do you use
- 00:25:53cuz it's now has a competing feature it
- 00:25:54does have a chat window if you want to
- 00:25:56use that it has auto complete which ones
- 00:25:58find most useful for your use cases
- 00:26:00mostly autocomplete like old school
- 00:26:02co-pilot I've recently started using the
- 00:26:04thing where you can select some lines of
- 00:26:06code there's a little sparkly icon you
- 00:26:08can click that and then give it a prompt
- 00:26:10to what run against those lines of code
- 00:26:11and it'll do that I don't use the chat
- 00:26:13window at all I use clae 3 I use um clae
- 00:26:16clae in the browser for what I would use
- 00:26:18that for um and it's great you know um
- 00:26:21it's it's copil it's another interesting
- 00:26:23one where you hear from people who like
- 00:26:25I turned it on and it just gave me a
- 00:26:26bunch of junk and I turned it off again
- 00:26:27cuz it's clearly not useful and again
- 00:26:29co-pilot you have to learn how to use it
- 00:26:32like there's no manual for any of this
- 00:26:34stuff especially not for co-pilot and
- 00:26:35that you have to learn things like if
- 00:26:37you type out the start of a function
- 00:26:39name and give it named par clearly named
- 00:26:42parameters with their types or type
- 00:26:44annotations it will complete the
- 00:26:46function for you and if you add a
- 00:26:48comment it will like you can you can you
- 00:26:50learn you prompt it through the comments
- 00:26:52that you write essentially yeah I I've
- 00:26:53actually started to use that it's it's
- 00:26:55actually again no one tells you that but
- 00:26:57once once you figure it out it's it can
- 00:26:59be rful because that's how you can
- 00:27:00generate like either a small part for me
- 00:27:03just a small part or a function it just
- 00:27:05gets it and again like as I mean it's
- 00:27:07not surprising but the more context you
- 00:27:09give in the comment the more it'll kind
- 00:27:11of do what you want if you're lucky I
- 00:27:13think the other thing to know about
- 00:27:14co-pilot is that it's actually running
- 00:27:16rag it's got an incredibly sophisticated
- 00:27:19um like retrieve look rag um uh
- 00:27:23mechanism where every time it does a
- 00:27:25completion for you co-pilot it tries to
- 00:27:27include context from nearby in your file
- 00:27:30but it also looks for other files in
- 00:27:32your project that have similar keywords
- 00:27:34in them so that's why sometimes your
- 00:27:36test that's really interesting that you
- 00:27:38say that because we're going to get to
- 00:27:39the misconceptions but we've been
- 00:27:40running an AI survey and one of the
- 00:27:43things that people really complain about
- 00:27:45saying is I use copilot because it's
- 00:27:48it's the one that's easiest to turn on
- 00:27:49in your ID and people said that it only
- 00:27:52uses my files and I wish it would look
- 00:27:54at the project or understand the whole
- 00:27:56project but it's interesting you say
- 00:27:57that cuz I think lot of people don't
- 00:27:58realize that it is trying to do it or in
- 00:28:01smart ways most people or not most but a
- 00:28:03lot of people assume that it just only
- 00:28:05looks at whatever you're seeing on the
- 00:28:06screen no it's it is looking at bits of
- 00:28:08other files but it's undocumented and
- 00:28:10it's weird and it's trying to do
- 00:28:11semantic similarities and all of that
- 00:28:13sort of stuff what I do a lot of is
- 00:28:15sometimes I'll just copy and paste a
- 00:28:16chunk of one file into a comment in
- 00:28:18another so that it's definitely visible
- 00:28:20to co-pilot that's great for things like
- 00:28:22writing tests you can literally copy in
- 00:28:24the code that you're testing into your
- 00:28:26test.py and then start so I'm now
- 00:28:29starting to understand you know when you
- 00:28:31said you need to learn how to use it
- 00:28:32sounds like you kind of you're coming
- 00:28:33from the other way instead of like
- 00:28:35trying out and saying y or nay and you
- 00:28:37know like cuz because I guess you're
- 00:28:38working for yourself so it kind of makes
- 00:28:40sense that you want to make yourself
- 00:28:41productive you figure it out how these
- 00:28:43things can actually like make you more
- 00:28:46productive right absolutely and like
- 00:28:48it's so much work like that's the I
- 00:28:50think the the biggest sort of
- 00:28:52misconception about all of this is that
- 00:28:54you'll get this tool and it'll make you
- 00:28:55productive on day one and it absolutely
- 00:28:57won't you have to put it
- 00:28:59so much effort to learn to explore it an
- 00:29:01experiment and learn how to use it and
- 00:29:03there's no guidance like I said co-pilot
- 00:29:05doesn't have a manual which is crazy
- 00:29:07Claude to its credit Claude is the only
- 00:29:09one of these things that actually has
- 00:29:11documentation that's really good like if
- 00:29:13you want to learn how to prompt llms the
- 00:29:15clawed anthropic prompting guide is the
- 00:29:17actually the best thing I've seen
- 00:29:18anywhere open air I have almost nothing
- 00:29:21there are so many hypers and blogs and
- 00:29:24tweets and Linkedin posts full of like
- 00:29:27junk junk advice you know all of the
- 00:29:29things like always tell it that you are
- 00:29:31the world's greatest expert in X before
- 00:29:33you ask all of that kind of mostly
- 00:29:35rubbish right but there's so much
- 00:29:38Superstition because this stuff isn't
- 00:29:40documented and even the people who
- 00:29:42created the models don't fully
- 00:29:43understand how they do what they do it's
- 00:29:46very easy to form superstitions you know
- 00:29:47you try the you're the world's greatest
- 00:29:49expert in Python thing and you get good
- 00:29:51answer so you're like okay I'll do that
- 00:29:52from now on it's kind of like um if your
- 00:29:55dog finds a hamburger in a bush
- 00:29:58every time you walk past that bush for
- 00:30:00the next two years they will check for a
- 00:30:01hamburger right because dogs are very
- 00:30:03superstitious and it's that but for but
- 00:30:06for software
- 00:30:07engineering and then going back to your
- 00:30:09stack so uh yeah couple tools but uh
- 00:30:15there's a few more so there's um I
- 00:30:17talked about code interpreter one of my
- 00:30:19favorite Claude features is again in the
- 00:30:20feature from a few weeks ago called
- 00:30:22artifacts which is this thing where
- 00:30:24Claude can now write HTML and CSS and
- 00:30:26JavaScript and then it can show you that
- 00:30:28in like a little secure iframe and so it
- 00:30:31can build you tools and one of
- 00:30:32interfaces and prototypes on demand and
- 00:30:36it's quite limited they can't make API
- 00:30:38calls from in there it can't actually
- 00:30:39see the results so it doesn't have that
- 00:30:41debug Loop that code interpreter has but
- 00:30:43still it's amazing like I've been um I
- 00:30:46redesigned pages on my blog by pasting
- 00:30:49in a screenshot of my blog and then
- 00:30:51saying try suggest better color scheme
- 00:30:54for this and show me a prototype of an
- 00:30:56artifact and it did so cool so I'm doing
- 00:30:59a lot more front end stuff now because I
- 00:31:00can get Claud to build me little
- 00:31:02interactive prototypes along the way to
- 00:31:04help speed that up um so I'm spending a
- 00:31:07lot of time with that I have my my
- 00:31:09command line tool llm lets you run
- 00:31:10prompts from the command line and the
- 00:31:12key feature of that is that you can pipe
- 00:31:14things into it so I can like cat a file
- 00:31:17into that and say llm write the tests
- 00:31:20and it will output test for that and
- 00:31:22then just understand you just build like
- 00:31:24it's a command line are you running a
- 00:31:25local model or somewhere a model ser
- 00:31:28llm the tool it's based around plugins
- 00:31:31and it can talk to over a 100 different
- 00:31:33models is an open SCE tool so yes it's
- 00:31:36my my big open my my open source
- 00:31:38language model command line project we
- 00:31:40we'll link it in the show notes as well
- 00:31:42and yes so it's plug-in based originally
- 00:31:44it could just do open Ai and then I
- 00:31:46added plugins and now it can run local
- 00:31:47models and it can talk to other models
- 00:31:49too so I mainly use it with with claw
- 00:31:52because that's the best available model
- 00:31:54but I've also run like Microsoft's 53
- 00:31:56and llama and um Al and mistol and
- 00:31:59things I can run those locally which to
- 00:32:01be honest I don't use on a day-to-day
- 00:32:03basis because they're just not as good
- 00:32:05you know the local models are very
- 00:32:07impressive but the really like high-end
- 00:32:10the the best of the best models run
- 00:32:12circles around them so when I'm trying
- 00:32:13to be productive I'm mostly working with
- 00:32:16the the the best available models I love
- 00:32:18running the local models for sort of
- 00:32:20research and for playing around and also
- 00:32:23they're a great way to learn more about
- 00:32:24how language models actually work and
- 00:32:26what they can do because when you like
- 00:32:29um people talk about hallucination a lot
- 00:32:31I think it's really useful to have a
- 00:32:33model hallucinate at you early because
- 00:32:35it helps you get that better mental
- 00:32:37model of of of what it can do and the
- 00:32:39local models hallucinate wildly so if
- 00:32:41you really want to learn more about
- 00:32:43language models running a tiny little
- 00:32:45like some of them are like two or three
- 00:32:47gigabyte files that you can run on a
- 00:32:48laptop I've got one that runs on my
- 00:32:50phone it's actually really which surpris
- 00:32:52yeah um there's an app called mlc mlc
- 00:32:56chat and it can run Microsoft 53 and um
- 00:33:01Google's Gemma and it's got mistal 7B
- 00:33:04these are very good models like if you
- 00:33:06ask them like if you say who is Simon
- 00:33:08willson they will make up things that's
- 00:33:10a great I I love I use like ego searches
- 00:33:13to basically see how much they
- 00:33:15hallucinate they'll they'll say he was
- 00:33:16the CTO of GitHub and I'm like well I
- 00:33:18really wasn't but I do use GitHub um but
- 00:33:22but they like I've used these on planes
- 00:33:24they're good enough at python that I can
- 00:33:25use them to like look up little bits of
- 00:33:27API doation they can't remember and
- 00:33:29things like that um and it runs on your
- 00:33:31phone it's really fun yeah awesome so
- 00:33:35like looking back you've now been coding
- 00:33:37for like more than 20 years right I mean
- 00:33:40depending on professionally people have
- 00:33:42been paying me for 20 years at this
- 00:33:43point people paying for 20 years so like
- 00:33:45through throughout this time you know we
- 00:33:46have seen some some increases in in
- 00:33:50productivity may that be fire Buck
- 00:33:51coming out for for developers or other
- 00:33:54things like if you could you talk
- 00:33:56through like what were kind like bumps
- 00:33:58when you became more productive as a
- 00:34:00developer and then when we get to llms
- 00:34:02compared to how this bump compares to
- 00:34:04those ones I love that you mentioned
- 00:34:06Firebug because that was a big bump
- 00:34:08right I yeah um Firebug was the it was
- 00:34:12the Chrome Dev tools before browsers had
- 00:34:15them built in it was an extension for
- 00:34:16Firefox that added essentially what you
- 00:34:18recognize as as the developer tools now
- 00:34:20and that was an absolute Revelation when
- 00:34:22it came out especially for me because
- 00:34:25I've spent most of my career as a python
- 00:34:27programmer my favorite feature of python
- 00:34:29is the interactive prompt I love being
- 00:34:31able to code by writing a line of code
- 00:34:34and hitting enter and seeing what it
- 00:34:35does and then you end up copying and
- 00:34:36pasting a bunch of those Explorations
- 00:34:38into a file but you know that it's going
- 00:34:40to work because you you worked on it
- 00:34:41interactively Firebug instantly brought
- 00:34:43that to JavaScript like suddenly you
- 00:34:45could interactively code against a live
- 00:34:47web page and figure things out that way
- 00:34:48so that was a big one um I think the
- 00:34:51biggest yeah I think just as a reminder
- 00:34:54cuz like some some listeners were were
- 00:34:55not necessar around but before firebug I
- 00:34:57was doing web development and the way
- 00:34:59you debugged your JavaScript
- 00:35:00applications which were pretty simple at
- 00:35:02the time but you did alerts to to show
- 00:35:05we didn't even have
- 00:35:07console.log cons was invented by Firebug
- 00:35:10yeah so it was just really painful and
- 00:35:12really hard to debug and you also
- 00:35:14couldn't really inspect the elements so
- 00:35:15you were changing it it was like doing
- 00:35:17it in the dark and and as you say it it
- 00:35:19was a game changer and now these days
- 00:35:21Chrome developer tools is better than
- 00:35:23what Firebug used to be but Firebug was
- 00:35:25a was almost as good as the Chrome
- 00:35:27developer tool
- 00:35:28today in my memory at least so it was
- 00:35:30this huge leap and like I think for
- 00:35:32front developers like it's hard to tell
- 00:35:34how much more but I'm sure at least you
- 00:35:36know twice the productivity I'll just
- 00:35:38say something because it it it took so
- 00:35:39much longer to fix things or to
- 00:35:41understand why things were happening so
- 00:35:43yeah like that that was a big jump so
- 00:35:45firebugs a good one the biggest
- 00:35:46productivity boost my entire career is
- 00:35:48just open source generally like so it
- 00:35:50turns out 25 years ago you had to really
- 00:35:54fight to use anything open source at all
- 00:35:56like a lot of companies had blanket bans
- 00:35:58on open- Source Ed like Microsoft
- 00:36:02were were were Camp were were making the
- 00:36:05case that this is a very risky thing for
- 00:36:07you to even try that's completely gone
- 00:36:08out of the window I don't think there's
- 00:36:10a company left on Earth that can have
- 00:36:11that policy now because how are you
- 00:36:13going to write any front end code
- 00:36:14without npm you know that's that's
- 00:36:17that's all but that the um so it was
- 00:36:19open source as a concept and I was very
- 00:36:21early on in open source you know Django
- 00:36:23was a we we ojango open source in 2005
- 00:36:26Python and PHP and so forth all came out
- 00:36:28of the open source community and that
- 00:36:31was huge because prior to open source
- 00:36:33the way you wrote software is you sat
- 00:36:35down and you implemented the same thing
- 00:36:37that everyone else had already built or
- 00:36:39if you had the money you bought
- 00:36:40something from a vendor but good luck
- 00:36:43buying a decent thing and then of course
- 00:36:44you can't customize it because it's
- 00:36:46proprietary and that the open source and
- 00:36:49then on top of um of Open Source as a
- 00:36:51concept it really was um GitHub coming
- 00:36:54along massively accelerated open source
- 00:36:56because prior to that it was Source
- 00:36:58Forge and mailing lists and c c CVS and
- 00:37:01subversion and just starting a new
- 00:37:04project you had like I started open
- 00:37:05source projects where I had to start by
- 00:37:07installing track which meant I needed to
- 00:37:09run a virtual private server and then
- 00:37:11get Linux secured and then install like
- 00:37:14the open source alternative to what gith
- 00:37:15her became it was great software but it
- 00:37:17was not exactly a oneclick experience um
- 00:37:21so open source was absolutely huge and
- 00:37:23then you had GitHub making open source
- 00:37:25way more productive and accessible
- 00:37:27massively accelerating then the package
- 00:37:29managers so um pii for Python and npm
- 00:37:32for JavaScript and I mean the the OG of
- 00:37:35that was um was cpan for Pearl which was
- 00:37:38up and running in the late 90s and it's
- 00:37:40where we we owe so much to to cpan and
- 00:37:43sort of H how it made that kind of thing
- 00:37:45happen you know today the productivity
- 00:37:48boost you get from just being able to
- 00:37:49pip install or npm install a thing that
- 00:37:51solves your problem I think my my hunch
- 00:37:54is that developers who crew grew up with
- 00:37:56that already B have no idea how much of
- 00:37:59a difference that makes like when I did
- 00:38:01it my my software engineering degree 20
- 00:38:03years ago um the big one of the big
- 00:38:06challenges everyone talked about was was
- 00:38:08was software reusability right like why
- 00:38:10are we writing the same software over
- 00:38:12and over again and at the time people
- 00:38:14thought oop was the answer they're like
- 00:38:16oh if we do everything as classes in
- 00:38:18Java then we can subclass those classes
- 00:38:20and that's how we'll solve reusable
- 00:38:22software with Hite that wasn't the fix
- 00:38:24the fix was open source the fix was
- 00:38:26having a diverse and vibrant open source
- 00:38:29Community releasing software that's
- 00:38:31documented and you can package and
- 00:38:32install and all of those kinds of things
- 00:38:34that's been incredible like that that
- 00:38:36the um the the the the cost of building
- 00:38:39software today is a fraction of what it
- 00:38:41was 20 years ago purely thanks to open
- 00:38:44source it's interesting because like
- 00:38:46when we talk about developer
- 00:38:47productivity like it's it's a topic that
- 00:38:49will come back and obviously it's very
- 00:38:51popular very important for people in
- 00:38:53leadership positions you know who are
- 00:38:55hiring certain number of people and
- 00:38:57there their um CEOs and will ask how are
- 00:39:01these people used and right now there's
- 00:39:03a big big you know push to say that geni
- 00:39:06is adding this and this much
- 00:39:08productivity but it's two things are
- 00:39:10interesting one is that we don't really
- 00:39:12talk about how much just having open
- 00:39:13source or not having to do it ads we
- 00:39:15just I guess we just take it for granted
- 00:39:18and the other thing that I want to ask
- 00:39:19you I want to ask you like how much more
- 00:39:20productive do you think with this
- 00:39:21current workflow you have which is
- 00:39:23pretty Advanced it sounds like it you're
- 00:39:24using a bunch of different tools you
- 00:39:26spend a lot of time tweaking it so I'm
- 00:39:28going to assume you're one of the the
- 00:39:31software Engineers who are using it more
- 00:39:33efficiently to your own personal
- 00:39:35productivity how do you feel like how
- 00:39:38much more productiv this makes you and
- 00:39:40and you know there's a kave here
- 00:39:41obviously it's hard to you know like be
- 00:39:44honest about yourself but right now the
- 00:39:46good thing is we don't have any like any
- 00:39:48polls vendors will obviously have a bias
- 00:39:51to say AI vendors that it's helping them
- 00:39:53more and you know people who might not
- 00:39:56like these tools they might have a to
- 00:39:57say like ah it's not not even helping me
- 00:39:59so I I think we're we the best answer we
- 00:40:01can probably get right now is just from
- 00:40:02like people like you looking honestly at
- 00:40:04yourself and like okay so I think I've
- 00:40:07got two answers to this um I it's
- 00:40:10difficult to like quantify this but um
- 00:40:13my guess for a while has been that I've
- 00:40:15had a giant productivity boost in the
- 00:40:17portion of my job which is typing code
- 00:40:20at a at at a computer and I I I would
- 00:40:22estimate I am two to three times more
- 00:40:24produ like faster at turning thoughts
- 00:40:27into working code than I was before but
- 00:40:30that's only 10% of my job like as a
- 00:40:31software engineer as once you're once
- 00:40:33you're sort of more senior software
- 00:40:35engineer the typing in the code bit is
- 00:40:36is not near you spend way more time
- 00:40:38researching and figuring out what the
- 00:40:40requirements for the thing are and all
- 00:40:42of those other activities um so huge
- 00:40:45boost for for typing for for for typing
- 00:40:48code the other thing that's and and it
- 00:40:52does speed up a lot of the other
- 00:40:53activities the research activity in
- 00:40:55particular like if I need a little
- 00:40:58JavaScript library to solve a particular
- 00:41:00problem because I have a I I I have a
- 00:41:02bias towards boring technology anyway if
- 00:41:04I ask Claude or gp4 it will I always ask
- 00:41:07for options I always say give me options
- 00:41:09for solving this problem and it spits
- 00:41:12out three or four and then I can go and
- 00:41:13look at those and it's effectively using
- 00:41:15as a slightly better slightly faster and
- 00:41:17more productive Google search because
- 00:41:19you can say things to it like okay now
- 00:41:20show me an ex example code that uses
- 00:41:23that option if you're using Claude sonit
- 00:41:25you can say show me the interactive
- 00:41:26prototype of that opt
- 00:41:28um all of that so that that research
- 00:41:31stuff happens more quickly for me um
- 00:41:34there's a whole bunch of those sort of
- 00:41:35smaller productivity boosts the bigger
- 00:41:37one the more interesting one for me is
- 00:41:40um I can take I can take on much more
- 00:41:42ambitious project because I'm no longer
- 00:41:44limited to the things that I already
- 00:41:46know all of the trivia about and I feel
- 00:41:49like this is one of the most important
- 00:41:51aspects of all of this is if you want to
- 00:41:53program in Python or JavaScript or go or
- 00:41:56bash or whatever there's a baseline of
- 00:41:58trivia that you need to have at the
- 00:42:00front of your mind you need to know how
- 00:42:01for loops work and how conditionals work
- 00:42:03and all of that kind of stuff and so I
- 00:42:05think there is a limit on the number of
- 00:42:07programming languages most people can
- 00:42:09work in like I've found personally I
- 00:42:11Capt out at about four or five
- 00:42:13programming languages and if I want to
- 00:42:15start using another one there's a like a
- 00:42:17month potentially a monthl long spin up
- 00:42:19for me to start get get and that means I
- 00:42:21won't do it right why would I use go to
- 00:42:24solve a problem if I have to spend a
- 00:42:26month spinning up on go when I could
- 00:42:27solve it with python today that is gone
- 00:42:30like I am using a much wider range of
- 00:42:33programming languages and tools right
- 00:42:35now because I don't need to know how for
- 00:42:37loops and go work I need to understand
- 00:42:39the sort of higher level concepts of go
- 00:42:41like memory management and co go
- 00:42:43routines and all of that kind of stuff
- 00:42:45but I don't have to memorize the trivia
- 00:42:47so given that I've actually shipped go
- 00:42:50codes to production despite not being a
- 00:42:52go programmer just sort of six months
- 00:42:54ago that's been running happily every
- 00:42:56day and it has unit test and it has
- 00:42:57continuous integration and continuous
- 00:42:59deployment and all of the stuff that I
- 00:43:01think is important for code and I could
- 00:43:04do that because the language model could
- 00:43:06fill in all of those little sort of
- 00:43:07trivia bits for me this episode is
- 00:43:09sponsored by tldr tldr is a free daily
- 00:43:12newsletter covering the most interesting
- 00:43:14stores in Tech startups and programming
- 00:43:16join more than 1 million readers and
- 00:43:18sign up at tldr dotech that is
- 00:43:21tldr dotech I sometimes dread going back
- 00:43:24to certain side projects where it takes
- 00:43:26me a while to spin up and remember and
- 00:43:28it's in a language or an outdated uh
- 00:43:31framework that that I just don't want to
- 00:43:32touch and it like what you said the
- 00:43:35confidence is is higher and I can
- 00:43:36actually just paste Parts into chat GPC
- 00:43:39or turn on GitHub copile and it'll like
- 00:43:41I know what good looks like so I think
- 00:43:43when when you know that even a different
- 00:43:45you need to have that experience like if
- 00:43:48I was a a brand new programmer I don't
- 00:43:50think it would I'd be using it to write
- 00:43:52go despite not knowing go but I've got
- 00:43:5420 years of experience I I can look I
- 00:43:57can read code that it's written in a
- 00:43:58language that I don't know very well and
- 00:44:00I can still make a pretty good like
- 00:44:02evaluation of if that's doing what I
- 00:44:04needed to do and if that looks like it's
- 00:44:06good um I guess there's an important
- 00:44:09disclaimer right that the more you look
- 00:44:10at languages as long as it's an
- 00:44:12imperative language like you can read it
- 00:44:15right I think it will be a bit different
- 00:44:16if you we we don't really to use some
- 00:44:18languages are not as popular like
- 00:44:20prologue and SML and some of these
- 00:44:22really trust myself yeah I would not
- 00:44:25trust myself to just look prologue code
- 00:44:27that it had written me and make a
- 00:44:30judgment as to whether that was good
- 00:44:31prologue code but I feel like I can do
- 00:44:33that with with with languages like go
- 00:44:34and rust you know yeah so so with with
- 00:44:37that I think it's good by the way thanks
- 00:44:40for sharing I think it's great to see
- 00:44:41that you are getting productivity and
- 00:44:43but it also took a lot of work I I think
- 00:44:45like a big takeaway for for me would be
- 00:44:48anyone who's trying out is like like put
- 00:44:50in the work and experiment to figure out
- 00:44:52what what workflow works for yourself
- 00:44:54and that there's just no answers I mean
- 00:44:55you've been I I think you you've been
- 00:44:57experimenting a lot more than most
- 00:44:58people have and and still sounds like
- 00:45:01it's it's a working progress oh with
- 00:45:03this I I I really want to touch on
- 00:45:06misconceptions and and doubts they might
- 00:45:08not be misconceptions there doubts and
- 00:45:10questions that a lot of people have
- 00:45:11about these tools let's talk about
- 00:45:14resistance a little bit because I feel
- 00:45:15like the resistance lots of I see so
- 00:45:17much resistance to this and it's a very
- 00:45:19natural and very understandable thing
- 00:45:20this stuff is really weird you know it's
- 00:45:23weird and it is uncomfortable and the
- 00:45:25ethics around it are so mer like these
- 00:45:27models were trained on vast quantities
- 00:45:29of unlicensed copyrighted data and
- 00:45:32whether or not that's legal and I I'm
- 00:45:34not a lawyer I'm not going to go into
- 00:45:36that the the morality the ethics of that
- 00:45:39like especially when you look at things
- 00:45:40like um image models like stable
- 00:45:42diffusion which are now when now being
- 00:45:45used when you would have commissioned an
- 00:45:47artist instead and they were trained on
- 00:45:49that artist work like that's I don't
- 00:45:51care if that's legal that's blatantly
- 00:45:52unfair right if something trained on
- 00:45:54your work one person there's a person
- 00:45:57who who wrote just this that they tried
- 00:45:59it out didn't work that well plus they
- 00:46:00don't want to use it because they
- 00:46:02disagree fundamentally with this and
- 00:46:04honestly I respect that position I I
- 00:46:06think that is's a it's I I I've compared
- 00:46:08it to being vegan in the past right the
- 00:46:10veganism I think there's a very strong
- 00:46:12argument that for for for why you should
- 00:46:14be a vegan and I understand that
- 00:46:16argument and I'm not a vegan so I have
- 00:46:18made that sort of personal ethical
- 00:46:20choice and all of this stuff does t come
- 00:46:22down to personal ethical choices if you
- 00:46:24say I am not going to use these models
- 00:46:27until somebody produces one that was
- 00:46:28trained on entirely like like licensed
- 00:46:30data I absolutely respect that I I think
- 00:46:33that's a very like I I've not made that
- 00:46:35decision myself um and you know for the
- 00:46:38code stuff um it's all it's basically
- 00:46:40trained on on every piece of Open Source
- 00:46:42Code they could get on but it is
- 00:46:44ignoring the license terms you know the
- 00:46:45GP licenses that say attribution is
- 00:46:48important you can't attribute what comes
- 00:46:49out of a model because it's been
- 00:46:50scrambled with everything else so yeah
- 00:46:52there the ethical concerns I completely
- 00:46:54respect um but then there's also so it's
- 00:46:58scary right it is scary when you think
- 00:47:00okay I earn a very good salary because I
- 00:47:03have worked through the trivia of
- 00:47:05understanding Python and JavaScript and
- 00:47:06I'm better at that trivia than most
- 00:47:07other people and that gets that that and
- 00:47:09now you've got this machine that comes
- 00:47:11along and it's better at the trivia than
- 00:47:13I am like it knows the things that I
- 00:47:15know it I mean knows in scare quotes um
- 00:47:19that that is disconcerting and um there
- 00:47:22there I feel like there's a pessimistic
- 00:47:23and an optimistic way of taking on the
- 00:47:25pessimistic way is saying
- 00:47:27okay I better learn to be I I need to go
- 00:47:30into the trades I need to learn Plumbing
- 00:47:31because my job is not going to exist in
- 00:47:33a few years time yeah um the optimistic
- 00:47:35version the version I take on is I can
- 00:47:38use these tools better than anyone else
- 00:47:40for programming I know I I can take my
- 00:47:42existing programming knowledge and when
- 00:47:44I combine it with these tools I will run
- 00:47:46circles around somebody who's never
- 00:47:49written a code line of code in their
- 00:47:50life and is trying to build an iPhone
- 00:47:52app using chat GPT I can just do this
- 00:47:54stuff better so we've essentially got
- 00:47:56these um
- 00:47:57tools that are they're actually power
- 00:47:59user tools right you have to put a lot
- 00:48:01of work into mastering them and when
- 00:48:03you've got that when you combine
- 00:48:06expertise in using tools with expertise
- 00:48:07in a subject matter you can operate so
- 00:48:10far above other people and like the
- 00:48:13competitive Advantage you get is
- 00:48:14enormous that's something that actually
- 00:48:16does worry me most about the resistance
- 00:48:18is I like people who are resisting this
- 00:48:20stuff right I like that they're not
- 00:48:22falling for the hype I like that they're
- 00:48:24care about the ethics of it I like that
- 00:48:26they're questioning
- 00:48:27I don't I it it would upset me if that
- 00:48:29put them at a serious professional
- 00:48:31advantage over the next few years as
- 00:48:33other people who don't share their
- 00:48:35ethics start being able to churn out
- 00:48:37more stuff because they've got this this
- 00:48:38this additional it's like if you were to
- 00:48:40say I don't like I don't like search
- 00:48:44engines I'm never going to search for an
- 00:48:45answer to my programming problem that
- 00:48:47would set you back enormously right now
- 00:48:49and it's I feel like it's a it's in a
- 00:48:50similar kind of space to that yeah and
- 00:48:54so another I guess
- 00:48:57cons opinion I hear a lot is well it
- 00:49:00seems like this whole technology is
- 00:49:02pling like if we look at the past 18
- 00:49:04months chat GPT 4 is okay Cloud might be
- 00:49:08a little bit better Sonet okay cool but
- 00:49:10like you know Let's ignore that for just
- 00:49:11a second gith up co-pilot hasn't changed
- 00:49:13all all that much so I I do see a sense
- 00:49:16especially for for people who are
- 00:49:17managing uh engineers and they're also
- 00:49:20playing with this tool saying like well
- 00:49:21it sounds like this is what what it's
- 00:49:23going to be you know like we just use it
- 00:49:26as is is is is this all like you're
- 00:49:29you're more in the whis do you see
- 00:49:32improvements or drastic improvements or
- 00:49:33little
- 00:49:34improvements that's a really interesting
- 00:49:36question I mean from my perspective I'd
- 00:49:39kind of Welcome a plateau at this point
- 00:49:41it's been a bit exhausting keeping up
- 00:49:42with the stuff over the last two years
- 00:49:44um I feel like if there were no
- 00:49:46improvement if we if what we have today
- 00:49:48is what we're stuck with for the next
- 00:49:50two years it would still get better
- 00:49:52because we'd all figure out better ways
- 00:49:53to use it you know a lot of the one of
- 00:49:56the most one of my favorite advances in
- 00:49:58language models is this thing called
- 00:49:59Chain of Thought prompting right this is
- 00:50:02this thing where if you say to a
- 00:50:03language model solve this puzzle it'll
- 00:50:06often get it wrong and if you say solve
- 00:50:07this puzzle think step by step and it'll
- 00:50:10then say Okay step one this step two
- 00:50:12step step three and often it'll get it
- 00:50:14right and the wild thing about Chain of
- 00:50:17Thought prompting is that it was
- 00:50:19discovered against gpt3 about a year
- 00:50:22after gpt3 came out was an independent
- 00:50:24research paper that was put out saying
- 00:50:25heyy it turns out
- 00:50:27take this model and say think step by
- 00:50:28step and it it gets better at all of
- 00:50:30this stuff nobody knew that right the
- 00:50:32people who built gpt3 didn't know that
- 00:50:33it was an independent Discovery we've
- 00:50:35had quite a few examples like this and
- 00:50:38so if we are in a
- 00:50:40plateau then I think we'll still get
- 00:50:42lots of advances from just people
- 00:50:44figuring out better ways to use the
- 00:50:46tooling I a lot of this also comes down
- 00:50:49to whether or not you buy into the whole
- 00:50:50AGI thing right like um so much of the
- 00:50:54kind of room here right and um so so
- 00:50:57much like it's kind of like Tesla
- 00:50:59self-driving cars right you've got these
- 00:51:01the the CEOs of these companies go and
- 00:51:03say we're going to have AGI in two in in
- 00:51:05in two years time it's coming nobody
- 00:51:06will ever work again which helps you
- 00:51:09raise a lot of money but it's also it
- 00:51:12scares I mean it scares me like I I'm I
- 00:51:15I'm not convinced that human economies
- 00:51:16will work if if if all knowledge work is
- 00:51:18replaced by Ai and it also gives a very
- 00:51:21unrealistic idea of what these things
- 00:51:23can do because don't forget it's also
- 00:51:25happening with software engineers right
- 00:51:26there are companies out there whose
- 00:51:28pitches we will replace software
- 00:51:30Engineers with AI Engineers which is a
- 00:51:32very uh direct although I'm now starting
- 00:51:36to see a pattern of how this is really
- 00:51:38good for fundraising because it means a
- 00:51:40lot of potential market and don't forget
- 00:51:42that that's who they're talking to and
- 00:51:44once they raise the money uh you know
- 00:51:46they have that money they they can then
- 00:51:48operate and and often like in this case
- 00:51:50you know with cognition AI their claims
- 00:51:52are toned down to the point of it's
- 00:51:54pretty much Co pilot so there but you
- 00:51:58see it in the M it is scary because you
- 00:51:59see it in the mainstream media
- 00:52:01everywhere this this claim that softw
- 00:52:02like we are I think someone said we're
- 00:52:05we are replacing our own jobs as
- 00:52:06software engineers and as you said it's
- 00:52:08right I I think it's the first time I've
- 00:52:10I've seen that written in in the Press
- 00:52:11maybe this happened like before I was
- 00:52:13born but not recently it's funny isn't
- 00:52:16it it's like um who who would have
- 00:52:18thought that AI would come for the
- 00:52:20lawyers and the software engineers and
- 00:52:22the illustrators and all of these things
- 00:52:24that are normally you don't think think
- 00:52:26of being automatable um but yeah so the
- 00:52:29AGI thing that leads lots of
- 00:52:31disappointment people are like yeah well
- 00:52:32I asked it as this this dumb like logic
- 00:52:35puzzle and he got it wrong you how is
- 00:52:37this but it also ties into science
- 00:52:39fiction you everyone thinks about the
- 00:52:41Matrix and Terminator and all of that
- 00:52:42kind of stuff um especially honestly the
- 00:52:45sort of the key problem here is these
- 00:52:48things can talk now right they can they
- 00:52:50can they can they can they can imitate
- 00:52:52human speech and throughout Human
- 00:52:54Society being able to write well
- 00:52:56convincingly has always been how we
- 00:52:58evaluate intelligence but these things
- 00:53:00are not intelligent at all but they can
- 00:53:02write really well they can produce very
- 00:53:04convincing text um which which kind of
- 00:53:06throws everyone off so so yeah if you're
- 00:53:09in if you're captured by the AGI hype
- 00:53:12you're going to then I think yeah I
- 00:53:13think we're going to have a plateau I'd
- 00:53:15be very surprised if we had anything
- 00:53:16that was AGI like um I'd also be like I
- 00:53:20said I'm I have not been sold that this
- 00:53:22is a net Win For Humanity I don't know
- 00:53:24how how society would cope with that but
- 00:53:27if we what we are seeing is incremental
- 00:53:29improvements like Claude 3.5 Sonet
- 00:53:32is a substantial incremental improvement
- 00:53:35over GPT 40 and Claude 3 Opus um the
- 00:53:38anthropic um the interesting thing about
- 00:53:40Claude 3.5 Sonet is that it's named
- 00:53:43Sonet because their previous Claude 3
- 00:53:46had three levels there was Haiku Sonet
- 00:53:47and Opus Haiku was the cheap one Sonet
- 00:53:50in the middle Opus was the really fancy
- 00:53:51one they're clear they have said they're
- 00:53:54going to release Haiku 3.5 which will be
- 00:53:56cheap and amazing and Opus 3.5 which is
- 00:53:59going to be a step up from Sonet those I
- 00:54:02I try to ignore the it's coming soon
- 00:54:04those ones I am excited about in terms
- 00:54:05of it's coming soon um but yeah so if
- 00:54:08you're buying into the AGI stuff then I
- 00:54:12I don't buy into it I I don't think you
- 00:54:14get to AGI from autocom completing
- 00:54:15sentences no matter how good you are at
- 00:54:17autoc comp completing sentences um and
- 00:54:20then yeah if it's a in terms of the the
- 00:54:24plateau I'm just I incremental
- 00:54:27improvements is enough for me like I
- 00:54:28want models like right now I want them
- 00:54:31cheap faster yeah if if you look through
- 00:54:35back through history like I'm I'm a
- 00:54:37little bit skeptical to to believe that
- 00:54:39suddenly like fundamental things would
- 00:54:42change in in the software industry you
- 00:54:45know there's always this um um people
- 00:54:49sometimes you know project that this
- 00:54:51time it will be very different and and
- 00:54:53again there's always Innovation but
- 00:54:54looking back we've always had innovation
- 00:54:56we've had some new technologies and then
- 00:54:58incremental improvements so like pattern
- 00:55:01matching that would be logical obviously
- 00:55:03there's Black Swan events right like
- 00:55:05would have who could have seen Co come
- 00:55:07or or this is also a breakthrough but I
- 00:55:10I think there there's that part of like
- 00:55:12we're not we're not just in a vacuum
- 00:55:14there's not just this one event and AI
- 00:55:16has been predicted to to be around the
- 00:55:18corner by different people since since
- 00:55:20the start of computing really to be
- 00:55:23fair but I think the the the other
- 00:55:26something I think about a lot is um the
- 00:55:28impact of Tik Tok and YouTube on
- 00:55:31professional video creation right like
- 00:55:33the the the iPhone is a this is a really
- 00:55:36great video camera and Tik Tok and
- 00:55:38YouTube have meant that you can now
- 00:55:39publish videos to the entire world and
- 00:55:42that has not killed off professional
- 00:55:44video um like people who work
- 00:55:46professionally in that industry they're
- 00:55:48doing fine you know what's happened is
- 00:55:51is millions of people who would never
- 00:55:53have even dreamed of trying to learn to
- 00:55:55stand in front of a camera or to operate
- 00:55:56that equipment are now publishing
- 00:55:58different kinds of content online and I
- 00:56:01I that's kind of my my my ideal version
- 00:56:04of the sort of AI programming thing is I
- 00:56:06want the number of people who can do
- 00:56:08basic programming to go up by an order
- 00:56:10of magnitude I I think every human being
- 00:56:14deserves to be able to automate dull
- 00:56:16things in their lives with a computer
- 00:56:18and today you almost need a computer
- 00:56:19science degree just to automate a dull
- 00:56:21thing in your life with a computer
- 00:56:23that's the thing which language models I
- 00:56:25think are taking a huge bite out of and
- 00:56:27then maybe so there is a version of that
- 00:56:30where the demand for professional
- 00:56:32software Engineers goes down because the
- 00:56:34more basic stuff can be done by by other
- 00:56:36things the alternative version of that
- 00:56:38is the thing where because a
- 00:56:41professional software engineer can now
- 00:56:42do five times the work they used to do
- 00:56:44maybe two times five times whatever it
- 00:56:46is that means that companies that
- 00:56:48wouldn't have built custom software now
- 00:56:50do which means that the number of jobs
- 00:56:52of software Engineers goes up right a
- 00:56:54company that would never have built its
- 00:56:55own customer CRM for their industry
- 00:56:57because you'd have to hire 20 people and
- 00:56:58wait 6 months can now do it with five
- 00:57:00people and two months and that means
- 00:57:03that that that's now feasible for them
- 00:57:05and those those five people are still
- 00:57:07getting paid very well it's just that
- 00:57:09their the value that they provide to
- 00:57:11companies has gone up so despite the
- 00:57:14sort of so that's that's the demand
- 00:57:15curve that I'd like to see well and also
- 00:57:18don't don't forget like one thing that
- 00:57:20we do talk about or I think it's kind of
- 00:57:22a common knowledge correct me if it's
- 00:57:23wrong but code equals liability the more
- 00:57:26code you have the more liability you
- 00:57:28have and and one thing just what we're
- 00:57:30seeing is more code will be generated
- 00:57:32and at some point I I just think about
- 00:57:34this thing have you have you worked at a
- 00:57:35company or a team where you just had
- 00:57:38like less experienced developers one or
- 00:57:40two years experience and you you leave
- 00:57:41them for a while you might have seen and
- 00:57:44then and then what happens right like
- 00:57:46fast forward to two years you don't add
- 00:57:47anyone
- 00:57:49experience you know like usually like my
- 00:57:52my my observation is like it's you get
- 00:57:54spaghetti code it's a mess it's it's
- 00:57:55hard do and then you pull in some people
- 00:57:57with more experience who look around
- 00:57:59they point out some seemingly simple
- 00:58:01changes that are are you know not that
- 00:58:04simple for the people they they simplify
- 00:58:06things you might delete a lot of code
- 00:58:08and then all will be good in the world
- 00:58:09or or those people get more experienced
- 00:58:12but I I do think about this part where
- 00:58:14you know a year in everything still
- 00:58:16seems to be fine right like the CEO of
- 00:58:19of the company is like oh this team is
- 00:58:21shipping quickly people are enthusiastic
- 00:58:23and my sense is that there will be there
- 00:58:26should be a demand and again like u i
- 00:58:28I'm I'm curious to hear your thoughts on
- 00:58:30this but Engineers who can go into the
- 00:58:32generated code and for example explain
- 00:58:34reason uh even when the machine fails to
- 00:58:37to explain this complicated mumble
- 00:58:39jumble or just say we're going to delete
- 00:58:41all of this and it makes sense I'm
- 00:58:42confident I can tell you why I'm doing
- 00:58:45this right and that's what I expect
- 00:58:48that's the skill that you need like
- 00:58:50turns out the typing code and
- 00:58:51remembering how for loops work that's
- 00:58:53the piece of our jobs that is has been
- 00:58:55devalued right remembering that sort of
- 00:58:57trivia and and typing really quickly
- 00:58:59nobody cares if you can type faster than
- 00:59:00anyone else anymore that's that's not a
- 00:59:02thing but the systems thinking and
- 00:59:05evaluating a skill that I think is
- 00:59:07really important right now is is QA like
- 00:59:09in terms of just the old F like manual
- 00:59:11testing being able to take some code and
- 00:59:13really hammer away at it and make sure
- 00:59:15that it does exactly what it needs to do
- 00:59:16combined with automated testing combined
- 00:59:19with um like system design and
- 00:59:21prioritization there's so much to what
- 00:59:24we do that isn't just typing code on the
- 00:59:26keyboard and those are the skills which
- 00:59:28the thing is language models can do a
- 00:59:30lot of this stuff but only if they're if
- 00:59:32you ask the right questions of them
- 00:59:34right like if you if you ask a language
- 00:59:35model to write five paragraphs on what
- 00:59:39like how you should refactor your
- 00:59:40microservices maybe it'll do an okay job
- 00:59:42but who's going to know to even pose
- 00:59:44that question and who's going to know
- 00:59:46how to evaluate what it says so those
- 00:59:48decisions these things I don't think you
- 00:59:50should ever have them make decisions for
- 00:59:52you I think you should use them as as
- 00:59:54supporting like tools to support support
- 00:59:56the decisions that you're making it's
- 00:59:57one of the reasons I love saying give me
- 00:59:58options for x and that's what we become
- 01:00:01software Engineers we are the people
- 01:00:04making these the high level design
- 01:00:06decisions the people evaluating what's
- 01:00:07going on I don't think you should ever
- 01:00:09commit a line of code that a language
- 01:00:10model wrote If you don't understand it
- 01:00:12yourself that's sort of my personal line
- 01:00:14that I draw um and yeah I so so I do not
- 01:00:17feel threatened as a software engineer
- 01:00:19and honestly partly as a software
- 01:00:21engineer who's got good with this stuff
- 01:00:22I really don't feel threatened by it um
- 01:00:25but just generally like I I don't I
- 01:00:28think the bits of my job that these
- 01:00:30tools will accelerate there are a whole
- 01:00:33whole bunch of jobs bits of the job that
- 01:00:34accelerate some of which are a bit
- 01:00:35tedious some of which are kind of
- 01:00:36interesting but it gives me so much more
- 01:00:39scope to take on more exciting problems
- 01:00:41overall I I love it and if if you can
- 01:00:45offer advice to like to two different
- 01:00:48groups of people so two separ pieces but
- 01:00:50experienced Engineers like yourself in
- 01:00:52in terms of like you know like put in
- 01:00:54the Years work across different stack
- 01:00:56and also to less experienced Engineers
- 01:00:58who are like coming into they're already
- 01:00:59working inside the industry but
- 01:01:01obviously they're not at the level uh
- 01:01:03just what would you suggest to them to
- 01:01:05make the most out of these tools or to
- 01:01:08make themselves most more future proof
- 01:01:10If you will I
- 01:01:12mean my Universal advice is always to
- 01:01:14have side projects on the go which
- 01:01:16doesn't necessarily work for everyone
- 01:01:18you know if you've got like a family and
- 01:01:21and a demanding job and so forth it can
- 01:01:23be difficult to carve those out a trick
- 01:01:25I used at companies in the past I love
- 01:01:27um advocating for internal hack days you
- 01:01:29know saying let's once a quarter have
- 01:01:32everyone spend a day work or two days
- 01:01:35working on their own projects that kind
- 01:01:36of stuff can be great good employers
- 01:01:38should always be able to leave a little
- 01:01:40bit of wiggle room for for you know for
- 01:01:43that sort of exploratory programming but
- 01:01:45some employers don't but if you can get
- 01:01:47that that's amazing um if you're earlier
- 01:01:49in your career like uh people in their
- 01:01:5120s can normally get away with a lot of
- 01:01:53side projects because they have a lot
- 01:01:54less going on it's like when I'm
- 01:01:56managing people I don't like people
- 01:01:59working super long hours and all of that
- 01:02:01it's hard to talk a 20 like a 22y old
- 01:02:03out of that that's just sort of how
- 01:02:05people are wired earlier in their
- 01:02:06careers so take advantage of that while
- 01:02:08you can but yeah I feel like um like I'm
- 01:02:10doing my my personal web blog um I'm
- 01:02:13using all sorts of weird AI tools to
- 01:02:16hack on that because the stakes could
- 01:02:18not be lower right aing that it'll break
- 01:02:21a page and I'll fix it so that's where
- 01:02:23I've been using um there's a thing
- 01:02:24called GitHub copon workspaces that
- 01:02:27they've just started tring it's you're
- 01:02:29in the beta yeah and I've added four or
- 01:02:32five features to my blog using that some
- 01:02:33of them in live like in meetings with
- 01:02:35people is a demo I'm like oh let's show
- 01:02:37you this tool I'm going to add
- 01:02:39autocomplete to the tags on my blog and
- 01:02:41I did that last week and so I'm I'm
- 01:02:43using my blog as a sort of fun
- 01:02:45exploration space for some of that kind
- 01:02:47of thing but yeah um so if you can
- 01:02:50afford to do a side project with these
- 01:02:52tools and like set yourself a challenge
- 01:02:54to write every line of code with these
- 01:02:56have these tools write that code for you
- 01:02:57I think that's a great thing you can do
- 01:02:59if you can't afford side projects just
- 01:03:01use them like T get an account with um I
- 01:03:04mean both of the best models are now
- 01:03:06free like GPT 4 with open AI 3.5 Sonic
- 01:03:10now you have to log in you might have to
- 01:03:12give them a phone number but they're you
- 01:03:14can use a free account with them use
- 01:03:16those and just throw questions at
- 01:03:19them sometimes have a question where you
- 01:03:21think it definitely won't get this and
- 01:03:23throw that in because that's useful
- 01:03:24information throw in basic things just
- 01:03:27work work with them that way I think
- 01:03:28that's that's definitely worthwhile and
- 01:03:30play with the Claude 3.5 artifacts thing
- 01:03:32is just so much fun like the other day I
- 01:03:36wanted to add a box Shadow to a thing on
- 01:03:38a page and I'm like what I really need
- 01:03:41is I need a sort of very light sort of
- 01:03:43subtle box Shadow and then I was halfway
- 01:03:45through prompting Claude to that and
- 01:03:46said actually you know build me a tool
- 01:03:48build me a little tool with where I I
- 01:03:49think I said where I can twiddle with
- 01:03:51the settings that's my prompt let me
- 01:03:53twiddle with the settings in the Box
- 01:03:54Shadow and it built me this little
- 01:03:56interactive thing with a box Shadow and
- 01:03:58sliders for the different settings and a
- 01:03:59copy and paste CSS thing and if I'd
- 01:04:02spent an extra 15 seconds on it I could
- 01:04:04have found a tool that existed on Google
- 01:04:06but it was faster to get Claude to build
- 01:04:09me a custom tool on demand than to
- 01:04:11because if you're on a Google search you
- 01:04:12have to evaluate the answers you get
- 01:04:14that four back and then you click
- 01:04:15through and all that like no I know I
- 01:04:16know what I want so do that right that's
- 01:04:19just wild ENT I I feel this is what
- 01:04:22you're saying as like yeah I mean it's
- 01:04:24it's EAS easier said than D but
- 01:04:26experimenting and I think your blog
- 01:04:27which we're going to link in the show
- 01:04:29notes is just a really good example like
- 01:04:31I did find myself a little bit
- 01:04:33reenergized reading how much weird stuff
- 01:04:36you're doing sorry for the that's the
- 01:04:37other thing it's got to be fun right
- 01:04:40that one of the things people I can see
- 01:04:42that you're having fun with it like and
- 01:04:44and again thanks for sharing because
- 01:04:45because you put it out there I think you
- 01:04:47know that that's another thing that but
- 01:04:48honestly with these tools it's a bit
- 01:04:50easier to write it up as well so I think
- 01:04:52I think that's it's helpful advice fun
- 01:04:55like this is a crucial thing these
- 01:04:56things are absolutely hilarious and it's
- 01:04:59not like they can sometimes they can
- 01:05:00write a joke that's good but that's not
- 01:05:02what makes them funny it's trying out
- 01:05:04weird dystopian things trying something
- 01:05:07you didn't think would work and having
- 01:05:08it work I get them to do I use um the
- 01:05:10voice mode I used to do prank phone
- 01:05:12calls to my dog so I'll be like hey chat
- 01:05:15GPT I need to give my dog a pill covered
- 01:05:18in peanut butter I need you to pretend
- 01:05:20to be from the government Department of
- 01:05:21peanut butter and make up an elaborate
- 01:05:23story about why she has to have it now
- 01:05:25go and it does it and it it it SP and I
- 01:05:27hold the the the spe CP to my dog it's
- 01:05:29just really really amusing so stuff like
- 01:05:32that is is so much fun I for a while I
- 01:05:36was always trying to throw twist into my
- 01:05:38prompts I'm like answer this and then at
- 01:05:39the bottom i' say oh and pretend you're
- 01:05:40a golden eagle and use Golden Eagle
- 01:05:42analogies they would say well if you're
- 01:05:44soaring above the competition stupid
- 01:05:46things like that right just you can you
- 01:05:49can get it to rap kind of and it's awful
- 01:05:52like really absolutely appalling but
- 01:05:54with the voice mode you can say now now
- 01:05:56rap now do a rap about that answer and
- 01:05:58just it's cringeworthy it is it is kind
- 01:06:01of wild how I don't really remember
- 01:06:03having a tool that we're talking about
- 01:06:05programming here but you can get it to
- 01:06:07do all these things within a you know
- 01:06:10potentially even in the work context
- 01:06:12just throw it in there it's it's kind of
- 01:06:14as you said it is fun so it it's I I I
- 01:06:16like to look at that part of it so thank
- 01:06:20you for the insight and let's end with
- 01:06:22some rapid questions in the end if
- 01:06:23you're up for it so these are question
- 01:06:25I'm just going to ask and you just throw
- 01:06:27out whatever comes up uh could you
- 01:06:30recommend two or three books uh to
- 01:06:32people that you enjoyed reading Martin
- 01:06:34kon's book designing data intensive
- 01:06:36applications is here it's it's it's on
- 01:06:38my shelf actually absolutely incredible
- 01:06:41the Blue Sky Team told me Martin kton
- 01:06:43advises them that this is the book they
- 01:06:45have all on their shelf because this
- 01:06:47describes everything you need to know to
- 01:06:48build Blue Sky it's kind of amazing at
- 01:06:50um at eventbr we had a book club and one
- 01:06:53of the things we did with the book club
- 01:06:54is because nobody reads the book for
- 01:06:56book clubs right it turns out that just
- 01:06:57doesn't work so what you do instead is
- 01:06:59you assign chapters to different people
- 01:07:02and they have to provide a summary of
- 01:07:03the chapter at the book club so it's
- 01:07:05almost like you you um you um
- 01:07:07parallelized the act of of reading the
- 01:07:09book that worked so well and that was
- 01:07:11that was I think that was the best book
- 01:07:12that we that we did for that one um and
- 01:07:16there is there maybe a fiction book that
- 01:07:17you can
- 01:07:18recommend so my favorite genre affection
- 01:07:21is British Wizards Tangled Up in Old
- 01:07:24School British bureaucracy so I like um
- 01:07:27there's turns there's um Charles stros
- 01:07:29does the laundry file series which is
- 01:07:31about sort of secret like MI5 style
- 01:07:33Wizards there's the river of London
- 01:07:35series by Ben aronovich which are
- 01:07:37metropolitan police officer who gets
- 01:07:39Tangled Up In Magic I really enjoy those
- 01:07:41oh nice what's your favorite programming
- 01:07:43language and framework and you cannot
- 01:07:45say d Jango and python really putting me
- 01:07:47on the spot with this one oh yeah um
- 01:07:50okay um JavaScript and no framework at
- 01:07:52all I love doing the vanilla JavaScript
- 01:07:54thing um basically because so I used to
- 01:07:56love jQuery and now document. query
- 01:08:00selector all and array. map and stuff
- 01:08:02jQuery is built into browsers now you
- 01:08:04don't need an extra Library it it is
- 01:08:05kind of wild yeah I remember that one
- 01:08:07when I used to use I'm surprised nice
- 01:08:11what's an exciting company uh that you
- 01:08:14uh that you're interested in and
- 01:08:16why so I'm going to plug fly.io here the
- 01:08:19hosting company because um partly
- 01:08:22because they sponsor some of my work but
- 01:08:24no actually completely independently of
- 01:08:25their sponsorship I picked them to build
- 01:08:27my data set Cloud SAS platform on
- 01:08:30because they're a hosting company that
- 01:08:31makes it incredibly easy to spin up
- 01:08:34secure containers for for as part of
- 01:08:36your infrastructure basically I was
- 01:08:38trying to build this stuff on top of
- 01:08:39kubernetes which is not easy to use oh
- 01:08:41and then I realized that fly.io their
- 01:08:43machines layer is effectively what you
- 01:08:45can do with kubernetes but with an API
- 01:08:47that actually makes sense and pricing
- 01:08:48that makes sense so I'm able to build
- 01:08:50out this SAS platform where every one of
- 01:08:52my paying customers gets a private
- 01:08:54separate container running my software
- 01:08:56with its own encrypted volumes and all
- 01:08:57of that kind of thing and um so I don't
- 01:08:59have to worry about data leaking from
- 01:09:01one container to another and it scales
- 01:09:03to zero so but it scales to zero in
- 01:09:05between the requests and all of that
- 01:09:06kind of stuff so yeah I'm really excited
- 01:09:08about fly as a platform for specifically
- 01:09:11building that thing where you've got an
- 01:09:13open source project and you want to run
- 01:09:14it for your customers um like p pa paid
- 01:09:17hosting of Open Source I feel like FES a
- 01:09:19really great platform for that awesome
- 01:09:21well well thanks very much it was great
- 01:09:23having you cool this has been really fun
- 01:09:25thanks a lot thanks a lot to Simon for
- 01:09:27this if you'd like to find Simon online
- 01:09:30you can do so on his blog Simon
- 01:09:33wilson.nc iton all in the show notes
- 01:09:36below you can also check out his open
- 01:09:38source projects data set and llm which
- 01:09:40are also in the notes as closing here
- 01:09:42are my top three takeaways from this
- 01:09:44episode takeaway number one if you're
- 01:09:47not using llms for your software inuring
- 01:09:49workflow you are falling behind so use
- 01:09:52them Simon outlined a bunch of reasons
- 01:09:55that hold back many deps from using
- 01:09:56these tools from eal concerns to energy
- 01:09:59concerns but llm tools are here to stay
- 01:10:01and those who use them get more
- 01:10:03productive so give yourself a chance
- 01:10:05with these takeway number two it takes a
- 01:10:08ton of effort to learn how to use these
- 01:10:10tools efficiently as Simon put it you
- 01:10:12have to put in so much effort to learn
- 01:10:14explore and experiment on how to use
- 01:10:16them and just there's no guidance so you
- 01:10:18really need to put into time and
- 01:10:21experimentation by the way in a survey I
- 01:10:23ran in the pragmatic engineer about AI
- 01:10:25tools with about 200 software Engineers
- 01:10:27responding we saw some similar evidence
- 01:10:30those who have not used AI tools for 6
- 01:10:32months were more likely to be negative
- 01:10:34about the perception of these in fact
- 01:10:36the very common feedback from Engineers
- 01:10:38not using these tools was that they use
- 01:10:40it a few times but it just didn't live
- 01:10:41up their expectations and they just
- 01:10:43stopped using them I asked Simon how
- 01:10:45long it took him to get good at these
- 01:10:47tools and he told me it just took a lot
- 01:10:49of time you couldn't put an exact number
- 01:10:50of months on it but it just took a bunch
- 01:10:53of time and experimentation and fig
- 01:10:55figing out if it works my third and
- 01:10:57final takeaway is that using local
- 01:11:00models to learn more about large
- 01:11:01language models is a smart strategy
- 01:11:04running local models has two bigger
- 01:11:06benefits number one you figure out how
- 01:11:08to just do these how to run models
- 01:11:10locally it's actually less complicated
- 01:11:13than one would think thanks to tools
- 01:11:14like hugging face that make downloading
- 01:11:16and running models a lot easier so just
- 01:11:18go and play around with them and see how
- 01:11:21smaller model feels like the second
- 01:11:23benefit is that you learn a lot more
- 01:11:25about how large language models works
- 01:11:27because local models are just less
- 01:11:29capable so they feel less magical Simon
- 01:11:32said how it's really useful to have a
- 01:11:34model hallucinate at you early because
- 01:11:36it helps you get better at the mental
- 01:11:38model of what it can do and the local
- 01:11:40models do hallucinate wildly you'll also
- 01:11:43find some additional resources in the
- 01:11:44pragmatic engineer one of them is about
- 01:11:47rag retrieval argument to generation
- 01:11:50this is an approach that Simon talked
- 01:11:52about in this episode it's a common
- 01:11:54building Brock for applications we did a
- 01:11:56deep dive into pragmatic engineer about
- 01:11:58this approach and this is linked in the
- 01:11:59show notes below also in the pragmatic
- 01:12:02engineer we did a three-part series on
- 01:12:04AI tooling for software Engineers
- 01:12:05reality check we looked at how Engineers
- 01:12:08are using these tools what their
- 01:12:10perception is what advice they have to
- 01:12:12use these tools more efficiently
- 01:12:14personally I cannot remember any
- 01:12:15developer tool or development approach
- 01:12:17that has been adopted so quickly by the
- 01:12:19majority of backend and frontend
- 01:12:20developers in the first two years of its
- 01:12:22release like large language model have
- 01:12:25done so since
- 01:12:272022 so it's a good idea to not sleep on
- 01:12:29this topic and this marks the end of the
- 01:12:32first episode under pragmatic inur
- 01:12:33podcast thanks a lot for listening and
- 01:12:35watching if you enjoyed the episode I'd
- 01:12:38greatly appreciate if you subscribed and
- 01:12:39left to review Thanks and see you in the
- 01:12:42next one
- AI in coding
- Large language models
- ChatGPT
- Software engineering
- Programming productivity
- Open source
- Code Interpreter Mode
- Ethics of AI
- Productivity tools
- Simon Willison