I'd like you to think of a large lake, let's say Lake Michigan. Now, imagine there's a single lily pad on Lake Michigan. This lily pad replicates by doubling each day. On the first day, there's just one lily pad. On the second day, there are two lily pads, and so on. After 50 days of doubling, the lily pads will cover the entire surface of Lake Michigan.
Now, here's a question for you. How many days will it take the lily pads to cover half of the lake?
Take a brief moment to pause to think about the solution.
Hover for answer
It takes 49 days for the lily pads to cover half the lake!
What's even more surprising is that between days 1 and 42, the lily pads cover only 1% of the lake. And it's only until the last 8 days that the lily pads suddenly grow the cover the remaining 99% of the lake! The point I'm trying to make is that it's very hard to intuitively understand exponential trends.
Language models are growing exponentially
Given the rate of improvement for large language models like OpenAI's GPT-3, there's a 3.4-month doubling time for model size and performance, or a 100x increase every 2 years. Comparing a growth rate of 100x every 2 years to Moore's law, language models are now growing 7x faster than CPUs were getting faster for most of computing history!
And while Moore's law was still pretty obvious in the 60's, we still had no idea what computers would be used for. Similarly, I believe we're vastly underestimating the kinds of ideas that become possible with a growth rate of 100x every 2 years.
Generating software is impossible. Until it's not.
At the start of 2020, it was foolish to believe an AI system would be capable of generating functional code. Many experts thought it would be at least a decade or more away. Those predictions turned out to be wrong, as it took all but 6 months for OpenAI to release GPT-3. Shortly after, GitHub released Copilot which can now generate full functions in nearly every programming language from a single comment.
Knowing exponential growth is hard to predict, what might the language models two years from now be capable of? How do we even begin to think about the capabilities of models 100x larger?
Tools for progress
Throughout computing's history, we occasionally discover tools that transform the way billions of people think, create, and work. As Alan Kay said, "if the personal computer is a truly new medium then the very use of it would actually change the thought patterns of an entire civilization." And while the spreadsheet and Macintosh are powerful tools that have augmented an entire civilization's ability to compute and create, why are such tools so infrequently discovered? Why is it that over nearly half a century, the best tools are still the ones we've discovered decades ago?
Is there anything preventing us from discovering more powerful tools capable of augmenting our intellect and creativity? Is there any way we can speed up the process of tool discovery and invention?
Drug discovery for software
For nearly all of human history, valuable drugs such as penicillin were discovered purely by chance. We lacked a structured approach for finding drugs to treat a specific disease, and serendipitous drug discovery was our best hope for finding a cure.
However, after sequencing the human genome, most drugs today are discovered through a process called high throughput screening. This involves the automated testing of millions of compounds against biological targets. Once a promising molecule, known as "hit", is discovered, it's further tested in cells and animals.
Dan Bricklin, the inventor of the spreadsheet, came up with the idea for a better calculator while in business school – "I would daydream. Imagine if my calculator had a ball in its back, like a mouse..." What if Bricklin had decided to study English instead of business and never invented the spreadsheet? We take the spreadsheet for granted, but if we never got Bricklin's VisiCalc, we never would have gotten Lotus 1-2-3, Excel, or Google Sheets.
Now, imagine a software tool far more useful than a spreadsheet. A tool that truly augments our cognitive capabilities beyond what we might even consider to be possible.
What can we do to speed up the process of inventing such a tool?
Modern biotech labs take an automated and structured approach towards developing new drugs by testing millions of molecules, and searching for "hits".
Imagine taking the same approach for discovering new software tools. Anyone could generate 10 million tools aimed at solving a specific problem they're facing. Once the tools have been generated, the system could show the person the top 10 tools for them to try out themselves. The generation process would take seconds and cost pennies.
At Debuild, our mission is to build an autonomous system that can create software at the level of the world's most skilled engineers. By giving every person the ability to instantly create any software tool they need, we can radically alter the trajectory of human progress.
We're a tight-knit team of optimistic builders hoping to make computers programmable by everyone. The kinds of problems we face in building an autonomous system capable of creating software at a human level are far from well-defined, so we love working in environments with uncertainty, complexity, and enjoy taking irrational amounts of ownership over problems that lack an obvious solution.
Darwin wrote in his autobiography that he found it necessary to write down every piece of evidence which contradicted his beliefs, otherwise he would forget them. At Debuild, we care deeply about the level of rigor and clarity of thought surrounding our work. We frequently question first principles and try our hardest to ensure we have a fundamental understanding of the problems we're solving.
What we're building is fundamentally new and there's no playbook, so everyone should feel comfortable saying "I don't know" and "I don't understand." We run experiments, build prototypes, and tend to be insatiably curious about how things work.
Get in touch
We're searching for talented software engineers and researchers who enjoy diving deep into new domains, being mostly self-directed, and love crafting elegant solutions for challenging technical problems. If that sounds appealing to you, then you'll likely also enjoy working with us at Debuild.
To get in touch, send an email to firstname.lastname@example.org with pointers to things you've shipped in the past to help us get a better idea of the type of work you do.