Nothing is difficult, only unfamiliar đĄ
Application and real creation with LLMs is the next hill to climb
Iâve been working in and around software for the majority of my professional life. At the beginning it was intimidating.
It still can be.
But it should be obvious to you and I that barriers to entry have dramatically decreased.
At GitHub in 2019 our Data Science team built a few models to predict when there would be â100 Million Developersâ on the platform. The target was 2025. It was crossed in 20231.
The new goal is 1B or approximately 12.5% of the Earthâs population.
Why this matters
We all benefit as more problems are brought into the domain of software2.
And computational literacy is required.
As abstractions have improved3, building conceptual familiarity continues to improve at an accelerating rate.
Iâve always learned best by doing. Through trial and error. Ideally when working against an objective with real stakes.
But knowing what questions to ask is rooted in fundamentals and exposure.
If youâve never built a working app, trained a discriminatory model on a dataset or worked with a database â the breadth of topics and subtopics that you need to first understand is daunting. Itâs the barrier that impedes your ability to start.
And starting is often the largest roadblock.
When I was a more hands-on keyboard practitioner in Data Science a decade ago, Iâd often get asked by junior team members how to best get started modeling.
R was more popular at that time than Python even despite itâs idiosyncratic nature. Iâd recommend two books4:
R for Data Science (R4DS) by Wickham and,
Introduction to Statistical Learning by James, Witten, Hastie and Tibrishani
Their pedagogical approach follows constructivism and is agile.
In the first chapter of R4DS after its introduction youâre immediately plotting the body mass vs. flipper length of penguins.
You might not understand all of the libraries, functions and datasets youâre using but visualizing a plot appear in your console window almost instantaneously is immensely rewarding.
The specter, haunting
Since GenAIâs public epoch 05, there has been so much bombast in the news and on social channels about what a âpost GPT worldâ means for capital J, jobs.
The multi-trillion dollar question as myopically framed: Is it a tool and complement (dare we say co-pilot) or the catalyst that will lead to widespread structural unemployment?
And when of course will all this CAPEX investment in chips, data centers and associated infrastructure pay off6?
An academic paper published in June 2024 by Giordana et al. poses a handful of research questions that attempt to quantitatively estimate which skills and tasks may be most impacted. They harvest and analyze tweets and their sentiment from real users leveraging LLMs. The degree of substitution for these skills or their bundles â jobs â are not estimated. They found 185 out of 408 applicable ESCO skills would face some impact.
Goldmanâs report has contrasting views. On one hand, a bearish sentiment from Daron Acemoglu stating that only 5% of tasks over the next decade would be impacted leading to a paltry 0.5% US productivity labor rate increase. On the other, the bullish sentiment from GS senior economist Joseph Briggs stating up to 25% of tasks can be automated leading to a 9% US labor productivity rate increase in the same time period.
What you and I do know: prediction is very difficult, especially if it's about the future. And especially if the best fit function turns out to be exponential.
Iâm personally irked by prognosticators that:
Havenât been practitioners in a meaningful sense.
Extrapolate linearly and point generalize based on historical trends â especially as it relates to past waves of digitization and workflow automation (e.g. process mining and robotic process automation).
Canât imagine shifts in existing paradigms that lead to consequential outcomes on âreal productivityâ with new and different incentives.
Said simply: the way knowledge work happens will dramatically change. And will continue to do so at increasing rates.
Natureâs job: to shift things elsewhere, to transform them, to pick them up and move them here and there. Constant alteration. But not to worry: thereâs nothing new here. Everything is familiar. Even the proportions are unchanged. âVIII. 6
Building rapid familiarity
The impending Cambrian explosion of non-farm labor productivity â what BLS computes â has much to do with our willingness, uptake and adoption of the capabilities already present and available to us for $20/month or less7.
And how our own domain expertise and knowledge is embedded, remixed and used to augment (and eventually replace) workflows that keep entering the domain of software.
Because what really matters are workflows8 â not independent tasks. Dealing with unstructured inputs, data and risks and making judgements on them.
But letâs snap back to the practical for a moment.
Even for those in the mix, itâs become increasing challenging to keep pace with how foundational models are being updated let alone the scaffolding around operationalizing them: extraction, retrieval, evaluation, multistep reasoning, etc.
On August 1st, Nicholas Carlini of Deepmind published what quickly became a viral and quite refreshing post titled âHow I use AIâ.
With clarity and depth it overviews 50 use cases with full prompt histories:
Building complete applications
As a tutor
Getting started with new programming languages
Simplifying code
Automating tasks (he asserts this is where the utility is higher for non-experts vs. experts)
As an API reference
Solving one-offs and already solved problems
Etc
The kicker? The use cases, by his estimate, represent only 2% of what heâs already leveraged LLMs for and has increased his productivity subjectively by 50%.
The takeaway: itâs up to our collective imagination and willingness to start to gain the benefits.
Create, donât tell
Inspired to go deeper than I have previously, I ventured into using Claude 3.5 Sonnet and its amazing artifacts functionality to scaffold and build a ânon-trivialâ application last night.
Not one that I think the world needs but to understand the current edges.
Early in the week, using Gemini 1.5, I built a pipeline to download, summarize and extract parts â with calls to ChatGPTs API â of 10Ks from an input list of stock tickers. Fun. But I know python.
Something different
At GitHub our team created a beloved internal IDE to query our warehouse named âdata dotâ.
With a spec for itâs UX burned into my brain, how fast could I get a prima facie âworking mockupâ of functionality built in a language Iâve never really used?
35 minutes.
đ You can play around with the Claude artifact here đ
Why was I impressed?
First, itâs built completely via ReactJS.
Second, I was able to have Claude implement a very naive âSQL lexer and parserâ9 in pure javascript that supports basic DQL despite Claudeâs initial unwillingness to provide anything more than mocked code for âconnecting to an actual database engineâ.
~350 lines of generated code described declaratively with a couple iterations allowed me to reminisce â if but briefly â halcyon days.
And serve, in a counterfactual world, as a much higher fidelity PRD than words or user stories ever could.
The only limits?
Claudeâs current context window length and message rates per hour. Ironically when he bonks just telling him to continue where he left off is the fix!
Further proof that nothing is difficult, only unfamiliar.
Your imagination10 is calling â go get started!
The premise and conclusion of Andreessenâs seminal âSoftware is eating the worldâ written 13 years ago.
Example: binary â> assembly â> high level languages â> open source â> GenAI (declarative and inquiry based programming vs. imperative).
Itâs original subtitle was: âWith Applications in Râ. For the Pythonistas, a few years ago a complementary text was produced.
Letâs call this November 30th, 2022 â ChatGPTs public debut.
For foundational models like ChatGPT, Claude and Gemini $20 seems to be the penetration price theyâve all anchored to â for now. You can llama 3.1:8B up and running locally on commodity hardware in a few minutes with Ollama.
Platforms that make agentic systems easy to compose, modify and evaluate are still very early. IMHO, these will have the most profound affect on workflows. Examples: anakin.ai, llama agents.
It really isnât implementing SQL at all â there is no query planning or execution involved. And the data tables âcustomers and ordersâ are stored as a complex JS object in memory. But it does work!
More Claude artifact inspiration has been catalogued here: https://github.com/NVO-2021/Awesome-Claude-Artifacts