Programming is World Building
Examining the role AI plays in building the future of... everything.
My journey from Wall Street to Silicon Valley (and back again) might seem like a radical shift. Yet, the essence remains the same. Whether it was crafting complex financial models or today, building algorithms that predict revenue trends, the underlying truth is that I've always been a world builder.
Programming, much like world-building in literature, is about establishing foundations, outlining rules, and orchestrating interactions.
You're not just writing lines of code; you're defining the very fabric of a new reality, a microcosm governed by your own logic.
Functions: The Building Blocks
Let's start at the atomic level: functions.
In programming, a function is a cornerstone. Imagine it as a self-contained machine designed to do one thing, and hopefully do it exceptionally well.
Take a simple example, something any Wall Street quant would appreciate: a function to calculate the moving average of an asset price. It's a specific task. The moving average doesn't care about broader market trends or your investment strategy; its job is to take a series of prices and spit out a computed average.
This concept of modularity is where the magic starts. That moving average function is a tool you can now use within even more complex systems.
A Program as Interacting Functions
When I was back in banking working on data engineering problems, we weren't building models with a single function.
We'd weave together dozens, even hundreds. Each did its part: some cleaned data, others performed calculations, some handled charting... and still others took the outputs to make trading recommendations.
This is how most programs operate.
Individual functions – each with its own well-defined purpose – interlock into something grander. Inputs flow in, get churned, transformed, and passed along the chain. Finally, they emerge on the other side as an outcome: a prediction, a visualization, or perhaps even an automated action.
The elegance lies in how these little machines, these functions, influence each other. Sometimes it's a linear flow; sometimes functions get called repeatedly based on conditions met or events triggered. Each decision point, each loop you write, adds another dimension to the rules governing your digital world.
Think about designing a world even as basic as, say, a virtual pet game.
Sure, there's that core loop: Feed, play, rest.
But what happens if it gets sick? You need functions to monitor its health, to generate 'symptoms,' and perhaps trigger new options – 'Take to Vet' becomes available only under specific conditions.
Each function expands the possibility space.
And as you write your world's rules into code, the more complex and compelling those interactions can become. That's where programming starts to resemble, well, the real world... or, at least, the intricate simulations we're so obsessed with building.
Key Functions and How Computers Work
When I moved away from traditional finance into tech, one of the biggest adjustments was in how I had to think.
Financial modeling felt like it was about the real world – stock prices, interest rates, etc. But with coding, I had to wrap my head around the sheer level of abstraction and how layers upon layers were built.
Let's break down the fundamentals, with an eye towards those core functions that are universal to most computational systems:
Input/Output (I/O): Think of this as the way your digital world communicates with the outside. Input encompasses everything from keyboard commands to a stock ticker feed to images from a user's webcam. Output is what you put back out there: displayed text, sounds, generated reports, or actions like triggering a trade.
Data Manipulation: Between input and output lies the real magic. Data comes in, but it's rarely usable in its raw form. Think of data manipulation as all the ways you reshape information. It could be simple, like cleaning up text by removing extra spaces. It might mean calculating financial ratios, or, on the cutting edge, having an AI model analyze a satellite image and extract key features.
Logic & Control: This is where your built world gets its decision-making capability. Code is full of 'if', 'then', and 'else' statements. Conditions get checked, values compared...all to figure out the next step to take. A program might adjust a bid price based on market signals, or a self-driving car may decide to brake based on sensor data.
Understanding Computers
You are ready to go deeper into the Matrix now.
We talk about computers but those are physical things: boxes with blinking lights. The "minds" we create exist in the realm of software.
Hardware vs. Software: Hardware is the physical foundation – processors, memory chips, hard drives, etc. Software is the instructions we feed this hardware. Think of the hardware as the theater, and the software as the play being performed. The same hardware can run countless 'plays' (software), each with its own internal world and logic.
The Role of Processor, Memory, and Storage:
Processor (CPU): The tireless worker bee. It fetches your code, one instruction at a time, and does the actual execution – adds numbers, compares values, and so on.
Memory (RAM): The short-term workspace. This is where currently used data and bits of the program itself are held for quick access by the processor.
Storage (Hard Drive/SSD): Think of this as the massive library. It stores your programs, as well as data to be loaded when needed. It's slower to access than memory, but holds far more.
When you write a program and hit run it's this dance of the processor, memory, and storage that breathes life into your code.
Instructions are loaded from storage into memory, the processor interprets them, data gets manipulated, and results are either displayed (output) or tucked back away in storage for later.
It's a beautiful, intricate machine.
And I'll admit, sometimes my mind still drifts to how much money trades hands every second on the back of systems like this, systems built with the very same building blocks I use for my own projects nowadays.
The World Dissolving into Code
There's a scene in the original Matrix movie that's always stuck with me.
Neo starts seeing the world around him, not as solid objects, but as flowing green lines of code. Now, that's a bit of Hollywood exaggeration, but the underlying sentiment feels more and more relevant with each passing year.
Our world, or at least, huge chunks of it, really are dissolving into code.
Think about your morning routine. Your alarm goes off, probably triggered by a smartphone app. Coffee starts brewing because your smart appliance is on a schedule. You check the news, which is delivered and tailored to your tastes by complex algorithms.
Each of those interactions, whether you're conscious of it or not, is code at work. Lines written by someone, probably a whole team of someones, are subtly, and sometimes not-so-subtly, shaping how you experience the world.
Control Through Code
Growing up, the most powerful people seemed to be those who understood how to manipulate money and markets.
In this increasingly digital era, the leverage point is shifting.
Those who understand the flow of information, algorithms, and the code that powers them have enormous potential to shape their environment.
Let's be clear – I'm not talking about a 'programmers are the new overlords' scenario. Not everyone needs to be a hardcore software engineer. But, I believe a basic understanding of how code operates is the new essential literacy.
Here's why: when you grasp even the fundamentals of programming, your perspective flips. Those bits of tech seamlessly integrated into our lives stop feeling like immutable 'black boxes.' You begin to see them for what they are: systems with inputs, rules, and outputs... systems that can often be modified.
Maybe it starts small.
You get annoyed by a repetitive task at work and write a little script to automate it. Your smart bulb is too bright, and with some online searching you dig into its settings and tweak it just the way you like.
These are tiny victories, but the mindset shift is profound. You realize, it doesn't have to be this way. I can change the digital tools around me, not just consume them passively.
Programming = Power
That's where things get exciting, for me at least.
Code becomes your lever to not only make adjustments but to build entirely new systems.
A few years ago, I got obsessed with wanting a way to better visualize revenue flows in the companies I invest in. None of the existing tools quite fit the bill, so on nights and weekends, I learned enough basic Python and SQL to hack together my own.
This was the birth of RevSystems.
Was it the most elegant software? Absolutely not. Still isn’t, frankly.
But it worked, and more importantly, I'd proven to myself that I wasn't beholden to waiting for some big company to build the solution I wanted.
Think broader than this, far beyond my little side projects. Code is the medium through which movements are organized, wealth gets redistributed (think cryptocurrency), and the next generation of artists tell their stories (AI-generated art anyone?).
Whether it's tweaking your smart home, building a personal finance tool, or joining the open-source projects reshaping entire industries, the ability to control and create within this code-infused world puts agency squarely in your hands.
The more people gain fluency in this 'language', the more decentralized and, I hope, more equitable our digital future might become.
AI: Lowering the Barriers to Code
I'll be honest, when I first started looking into AI a while back, my knee-jerk reaction was fear.
Fear it would automate away the jobs of my fellow data engineers and maybe even invalidate some of the skills I'd painstakingly learned. Fear the ladder I had just climbed for nearly 17-years was turning into a slippery slide right before my eyes.
What I've realized since is that fear was misplaced. AI isn't the enemy; it's the tide that's going to lift all boats.
Let's talk about how AI is specifically transforming the world of programming. It's the concept of democratization that, from my perspective as an investor, is the most thrilling aspect of it all.
Democratizing Programming
The "classic" path into coding has always had a high barrier to entry.
You had to get your head around precise syntax, intricate data structures, algorithms... It takes a certain kind of brain, and a significant time commitment. AI is changing the calculus.
Here's how:
Simplifying the Process: New AI-powered coding tools can understand what you're trying to do, even if you don't express it in perfectly correct code. Much like search engines got much better at figuring out your messy queries, this means you can focus on the logic and leave some of the nitty-gritty syntax to the AI.
Natural Language to Code: Think of this as the ultimate translator. Imagine describing what you want your program to accomplish: "Find all of last month's sales above $500 and sort them by customer name." That is child’s play today.
These tools are still nascent, mind you.
But they're developing fast, and they open a radical possibility...
Lowering Technical Barriers
What if the biggest constraint on building complex systems wasn't your technical skill but the limits of your imagination?
How many wildly brilliant and creative minds have never considered contributing their gifts to the digital world because of a falsely perceived technical wall?
Think about the idea gap.
There are countless people right now with brilliant ideas in their heads – ways to improve their businesses, solutions to problems in their communities, or just fantastical digital worlds they want to see brought to life. Many of those ideas never escape their skulls because the jump to the actual code felt insurmountable.
AI bridges that gap.
It creates an avenue for those with the ideas, the vision, to direct the process of creation even if they never master the minutia of every programming language in existence.
I can't help but compare this to the early days of desktop publishing software. Suddenly, you didn't need a graphic design degree to make visually appealing documents. AI could do a similar thing for coding.
That doesn't spell doom for hard-core programmers, far from it! Imagine a world where more people understand enough about code to collaborate with AI tools. These "AI-powered world builders" will be the ones asking the interesting questions, spotting the opportunities, and finding ways to leverage AI-generated code as building blocks within complex, truly unique systems.
I see it happening already at some of the early-stage companies I back.
Founders who are non-technical use AI to hack together prototypes, enough to get investors interested and to secure funding to then hire proper engineering teams with deep expertise. It fundamentally changes the fundraising dynamics.
The potential here is staggering. A wider, more diverse pool of creators all armed with the ability to shape their realities via code... I'm all for that kind of future.
AI: Transforming the Programming Process
If you'd told me, even a few years ago, that AI would one day be my invaluable assistant, going over my own code and pointing out better ways of doing things... Well, I'm not sure if I'd have believed it or been insulted. But in the spirit of embracing change, I've come to see AI as an incredible force multiplier for programmers of all levels.
It transforms the way we work across multiple dimensions.
Examining Systems: Seeing Beyond Human Limits
Remember in the Matrix movies where those operators looked at the cascade of code and saw patterns no normal person could? AI is bringing us closer to that. Tools exist now that can analyze large codebases, visualizing the flow of data, spotting inefficiencies, and even identifying potential security bugs that humans might miss.
Think about legacy systems, especially at big companies. These sprawling code behemoths, built over decades, often become 'no touch' zones. No one dares edit them for fear of unintended consequences. AI can shine a light into these dark corners, mapping out the complex interactions and helping engineers figure out where safe and impactful changes might be made.
On a personal level, even my small projects get messy. It's easy to lose the thread after weeks of tinkering. AI pattern analysis helps me see functions I maybe haven't touched in a while, or spot similar chunks of code that could be consolidated into something more elegant.
Accelerated Experimentation: Your Iteration Engine
One of the most frustrating parts of programming, especially when you're learning, is the sheer amount of trial and error. You tweak something, run the code, get an error, tweak again...and so the cycle goes. AI acts as a rapid experimentation engine.
Imagine you're trying to optimize a bit of code that performs calculations: an AI assistant can not just suggest code variations but help you set up automated tests to try out hundreds of those variations in minutes. It analyzes the execution speed of each, providing you with hard data.
This changes the whole design dynamic. You're no longer coding semi-blind. You can iterate faster, with quick feedback loops, getting closer to the most efficient or creative solution.
Building More Complex Worlds: Tackling the Intricate
The systems I build now, the interactions I try to orchestrate within them, are far more ambitious than when I started coding. Part of that is gained experience, sure. But another huge part is that AI gives me the confidence to bite off more, to dream bigger.
Why?
Because the AI tooling helps manage the rising complexity.
You remember those interconnected systems we talked about? Imagine trying to keep all the interactions straight in your own head while making changes. Now imagine an AI assistant constantly monitoring your code, able to point out knock-on effects of your edits: "Hey, you modified this, which may break functionality over here."
It's like having a safety net when you're working at heights.
You become emboldened to go further because you know there are systems in place to help catch you if you stumble.
That opens the door to projects that might've otherwise been just too intimidating to even start — that is precisely how massive transformations start… with attempts at the seemingly impossible.
The exciting thing is that this is only the start. The ability of AI to analyze, modify, and test code will keep getting better. This translates directly into our capacity to build worlds, whether those are enterprise management software, games, or whatever forms of interactive digital experience we haven't dreamt up yet.
Programming is World Building
Being both an investor and a builder, I'm always trying to stay a few steps ahead of the curve.
With technology, sometimes that means failing spectacularly, but the times you guess right more than makeup for it. Looking at where programming is going, and how intertwined it's becoming with this concept of world-building, it's clear we're on the cusp of something huge.
AI's Continued Evolution
The first thing to acknowledge is: this AI revolution, it's far from over.
The tools I described in the previous sections, impressive as they are, are relatively early iterations. Just imagine what becomes possible when these systems can hold a more nuanced, contextual conversation with you about the code you're developing.
Systems that have your entire codebase memorized with perfect recall… atop millions of other open source databases… providing the perfect foundation for evolutionary leaps in performance across widening capability spaces.
Think less like a code generator and more like a pair programmer. An AI that grasps not just the technical details but your high-level intent. One able to explain its reasoning behind suggested modifications, and which can learn your individual coding style and preferences over time.
When that level of AI assistance becomes commonplace, the pace of creation will reach a velocity we can barely conceive of right now. It will profoundly shift where programmers spend their mental energy.
Less time on the mundane syntax, more time on the grand architecture of the worlds they're building.
The Metaverse and Spatial Computing
Love it or hate it, everyone's talking about the VR and the metaverse lately. I see the metaverse concept less about a specific, unified platform and more about an ongoing shift in how we interact with the digital realm. Spatial computing – overlaid digital experiences onto the real world, or wholly immersive VR – is a big part of that shift.
The programming challenge here is immense.
Think about the sheer complexity of a digital environment that needs to react realistically to physical movement, gestures, and interaction with real-world objects. This introduces layers entirely different from traditional coding. You're not just scripting behaviors, you're building systems that need an understanding of physics, light, even human psychology to be compelling.
It's precisely these complex, ambitious worlds that will propel the next evolution of coding tools. Necessity is the mother of invention. As people demand more sophisticated virtual experiences, the programming paradigms and AI assistants will be forced to adapt and improve alongside them.
As we successfully navigate this challenge spatial computing will open up entirely new surface area (literally) for worlds to be built.
The Power of Imagination
Ultimately, I think the true limit on how mind-blowing the virtual worlds we create become will be the limits of our own imaginations.
Code and the AI tools that shape it are powerful, but they remain tools.
The most impactful "world-builders" of the future won't just be technical wizards. They'll be the ones who come from a diversity of backgrounds: artists, designers, philosophers even, who have a deep understanding of what makes experiences compelling and how to evoke strong emotions through interactivity.
Think of the great shift brought about by game engines.
Suddenly, 3D world design became more accessible.
Now imagine an upcoming generation of AI-empowered tools that do a similar thing for complex behaviors, for emergent systems, for interactions that feel almost indistinguishable from reality. These tools will democratize the building of fantastical worlds that were once the exclusive domain of massive studios.
I think back to the early days of the web, when it was mostly text and some clunky images. Look at the richness and visual splendor of the web today. I believe we'll see a similar explosion of creativity and complexity when it comes to the interactive virtual worlds we build.
From the perspective of an investor, the opportunities that spring from this are dizzying. But even more so, as someone who finds joy in the act of creation itself, this future feels thrilling. To see what we can dream up, and to then have the tools to turn those dreams into realities we can share... well, that's about as close to real-world magic as I think we'll get.
The Future Belongs to the World Builders
We began this exploration by likening programming to world-building.
At first glance, it might seem like an abstract analogy. But with each passing year, the boundaries between our physical and code-infused realities blur further. The systems we write into existence govern more of our lives, shaping everything from financial flows to how we interact and experience the world around us.
Understanding how these systems work, and having the agency to control or even build new ones, is a critical skill for the 21st century. But thankfully, the barriers to entry are coming down. AI is opening doors, helping us translate ideas into code, analyze existing systems, and iterate with a speed that would have been unimaginable even a short time ago.
This democratization of programming means a more diverse set of voices will have a hand in shaping our digital future. World builders who bring perspectives far beyond just the traditional technical sphere – and that's a future I find incredibly exciting.
We're only beginning to grasp the possibilities that the metaverse and spatial computing represent. Building these immersive worlds will necessitate the next great leaps in both programming paradigms and the AI-assisted tools we use to bring them to life. The true test of our progress will be when the distinction between coder and creator begins to dissolve. When anyone with a grand vision has the tools to make that vision a shared reality.
Key Takeaways
Programming is Power: Understanding code gives you agency in a world increasingly governed by it.
AI as a Force Multiplier: AI will streamline the coding process, making it accessible to more people and accelerating development.
Complexity as Opportunity: As the worlds we build become more interconnected, new challenges will drive innovation in coding practices and AI assistance.
Imagination Remains Supreme: The ultimate limits of what we create will be bounded only by our collective imaginations and the power of the tools at our disposal.
Whether you're a seasoned engineer or someone who's never written a line of code before, I urge you to embrace curiosity.
Learn the basics, even if it's just at a conceptual level. Experiment with the AI tools that are freely available. See the world around you not just as it is, but for the potential it has to be reshaped, reimagined, or improved by systems yet to be built.
None of us can predict exactly what the future holds. But one thing is certain: those who build the worlds of tomorrow, be they physical or virtual, will be the ones writing the rules of the future.