After attending Cloudflare’s Lisbon Engineering Meetup on using the Rust programming language with Cloudflare Workers, I felt a familiar sense of FOMO. Once again, I was reminded that I knew nothing about Rust, even though I incentivised a few junior developers to explore the technology. After all, Mr Linus Torvalds is optimistic about the technology. But, as before, I relegated it to the back burner for “another time.”
Yesterday, I finally decided to invest a couple of hours exploring Rust — its typical toolchains, conventions, and quirks. A few years ago, my approach would have been more or less like the following description: I’d dive into Google search results, pick a random tutorial (or sometimes a book), and follow its steps. Along the way, I’d be opening countless tabs to decode syntax nuances, understand idiomatic expectations, or troubleshoot installation issues. After two hours, my “knowledge” would be a disjointed mess scattered across browser tabs, incomplete notes, and perhaps a poorly structured application that did little more than confuse me. If I were following a book, I’d have long abandoned any ambitious goals and resigned myself to completing a simple “Hello, World” CLI.
But the world has changed.
This time, I started by selecting a Rust-specialized GPT from ChatGPT’s library. Within minutes, it provided installation instructions and helped me create a basic stock-tracking application. Not long after, I ran the application — only to encounter a classic Rust moment: a thread ‘main’ panicked error. Switching to Cursor AI for debugging, I had the issue fixed in 15 minutes and was already plotting Apple’s stock closing prices and a moving average in a PNG file.
I went back to ChatGPT with follow-up questions. I asked it to explain the language constructs, the libraries I was using, and how to set up a debugging workflow. When I requested a LinkedList implementation, the code compiled correctly on the first attempt. In the process, I started grasping Rust’s memory model, how Box and Option work, memory allocation and deallocation, and how to better organize my code. Every step of the way, I could adjust the direction of my learning with tailored questions, building both understanding and momentum.
Instead of following a rigid, pre-defined path—like a YouTube tutorial or a developer blog—I designed my own learning experience. In just two hours, I reached a level of competence where I felt comfortable improving my application’s feature set. What’s more, I can continue exploring Rust on my own terms simply by directing these “tutors” toward the next set of questions I want to tackle. The sense of accomplishment was immense.
So, what does this mean? This workflow — excluding Cursor AI — has been my norm for over a year now, especially with languages outside my usual orbit, like Swift and Go. A decade ago, I thought access to information had already peaked. Back then, the idea of “better learning tools” simply meant more tutorials or courses.
Now, it’s clear that the game has changed. We’re no longer constrained to pre-packaged learning paths. Instead, we can customize our tutors, define our goals, and create meaningful outputs—all while aligning the process to our personal needs and interests.
The world has changed significantly. And I don’t think most of us are prepared for what that means.