The Era Beyond Code: Insights from Cursor CEO Michael Truell

Explore the transformative vision of software development in the post-code era as discussed by Cursor CEO Michael Truell.

The Era Beyond Code

In today’s rapidly advancing field of artificial intelligence, software development is undergoing a profound transformation. The CEO of Cursor introduced the concept of the “post-code era” in a recent interview, suggesting that future software development will no longer rely on traditional programming languages. Instead, it will achieve automatic programming through natural language descriptions of intent. This idea not only challenges existing development models but also opens up new possibilities for software creation.

Image 1

Since the second half of last year, AI programming has surged in popularity. Anysphere is considered one of the most successful companies in this field, with its flagship product, Cursor, achieving remarkable milestones—reaching a $100 million ARR in just 20 months and $300 million ARR (approximately 2.1 billion RMB) in two years.

On May 1, Lenny’s Podcast interviewed Michael Truell, co-founder and CEO of Anysphere. In this conversation, Michael shared his vision for the future, lessons learned, and advice for preparing for the rapidly approaching AI future. Here are the key insights and viewpoints from the interview:

  1. What is the post-code era?

  2. In the post-code era, taste is paramount.

  3. The origin story of Cursor.

  4. Why choose to build an IDE?

  5. Everyone must become an engineering manager.

  6. Rapid iteration is the secret to Cursor’s success.

  7. Tips for using Cursor.

  8. Recruiting and building a strong team.

01 What is the Post-Code Era?

Our goal in creating Cursor was to develop a new way of building software. You can automatically generate programming by simply describing your intent to the computer in natural language.

Some believe that future software development will be similar to the present, still requiring formal programming languages like TypeScript, Go, C, and Rust. Others think that simply inputting commands for robots to write corresponding code will suffice. However, both of these views have their shortcomings.

The belief that nothing will change is incorrect because technology will evolve and improve. The problem with chatbots is that they lack precision; you need to constantly prompt them for adjustments instead of vaguely saying, “help me modify this application.”

The future will present a more unique perspective than these two approaches. In this future, people will be able to edit and control details from a higher level, making it easier to understand and modify. It transcends traditional code, resembling pseudocode, where the expression of software logic is more akin to natural language. We are working to evolve complex symbols and coding structures into forms that are easier for humans to read and edit.

02 In the Post-Code Era, Taste is Paramount

We believe that ultimately, we will reach a stage where this development path requires the participation and promotion of existing professional engineers. It appears to evolve from code. However, it is undoubtedly a process led by humans. People will not relinquish control over all aspects of software.

In the post-code era, taste will become increasingly valuable. Typically, taste is thought to refer to visual effects such as smoothness, color, UI, and other aspects of visual design. However, I believe that the other half of defining software lies in its logic and operation.

This will define the intent of product design, i.e., how you expect the software to function. This way of thinking will lead more people to see themselves as logic engineers rather than mere software developers. It elevates thinking to the abstract “what is it” rather than lingering on “how to do it.” However, we still have a long way to go.

The internet is filled with examples of software developed due to over-reliance on AI that exhibit significant flaws and issues. Despite this, in the future, people may not need to be so cautious and can focus more on taste. This is somewhat akin to Vibe Coding.

However, the creation of Vibe Coding has its problems. We create but never understand. In this state, you can produce a large amount of code without comprehending the details, which can lead to many issues. If you do not understand the underlying details, you will quickly find that what you create becomes too large and difficult to modify.

So, how can those who do not understand code control all the details? This is what interests us and is closely related to current professional developers. Moreover, I believe we currently lack the ability to let “taste” truly dominate software construction.

“Taste” can be understood as having a clear and correct conception of what should be built and turning that into reality. This requires a clear understanding of software operation logic, effects, and how to achieve them. Unlike now, where after having an idea, one must go through a cumbersome process to translate it into a format executable by a computer. Or taste can also be said to be having a correct understanding of “what should be built” to create good things.

03 The Origin Story of Cursor

As one of the fastest-growing products in world history, Cursor not only changed the software used for software development but also transformed the entire industry. So how did Cursor, which changed everything, begin?

The starting point for Cursor came from our thoughts on how artificial intelligence would develop over the next ten years. There were two decisive moments: one was the success of the Code Pilot beta, which allowed us to first encounter truly useful AI products. The other was a series of model scaling papers released by teams like OpenAI, confirming that simple scaling could enhance AI performance.

From late 2021 to early 2022, we were very optimistic about the development of artificial intelligence. At that time, we felt that many people were discussing model creation, but no one was truly delving into a knowledge work domain to explore how it would change after being AI-ified. This led us down the path of exploration. We wanted to know how these knowledge work domains would change as this technology matured and how to improve models to support these changes. Once scaling and initial training were exhausted, how would we continue to drive the development of technological capabilities?

To this end, we decided to develop Cursor. Of course, in the early stages, we made a mistake. We decided to study a relatively uncompetitive and dull knowledge domain—automating mechanical engineering and product creation. However, neither my co-founder nor I were mechanical engineers, and we were very unfamiliar with this field. It was somewhat like blind men touching an elephant.

For us, starting from scratch required a lot of tricky work. For example, developing models requires data, but there was very little 3D model data regarding parts and tools, and sourcing it was problematic. Ultimately, we realized that mechanical engineering was not our passion and not worth our time.

Looking around, we found that the programming field had seen little change over the years and had not kept pace with future development trends. They seemed to lack sufficient ambition and urgency regarding the future direction of software development and how AI would reshape everything. This led us down the path of creating Cursor.

The lesson we learned is that even if a field seems overcrowded, if you find that the ambition of existing solutions is not large enough or there are significant shortcomings compared to your vision, there are still enormous opportunities hidden within. To seize opportunities, you first need to have space for significant leaps. You need to find areas where you can make a substantial impact. AI has provided us with vast space to operate. I believe the ceiling in this field is very high. Even now, with the best tools, there is still a massive amount of work to be done in the coming years, with tremendous room for improvement.

04 Why Choose to Build an IDE?

When we decided to pursue programming, there were several paths we could take. One was to create an IDE (Integrated Development Environment) for engineers and incorporate AI into it; another was to build a complete AI agent development product; and a third was to create a model that excels at coding and focus on developing the best coding model.

Cursor’s focus on building an IDE stems from the desire for decision-making authority. We care about allowing humans to control all decisions in the final tools they are building. In contrast, those who initially focused only on models or end-to-end automated programming are trying to construct an AI-dominated future. Our philosophy regarding AI decision-making is fundamentally different.

We have always approached current technology with a realistic attitude. However, I initially built the product using the software I developed (dogfooding), and we are the end users. This undoubtedly led us to believe that we need humans to maintain control; AI cannot handle everything.

Additionally, the scalability of existing coding environments is very limited. To cope with changes in programming forms, one must have control over the entire application. We believe that IDEs will evolve more broadly than existing coding environments. We can control them and build a brand new environment. Of course, the form of the IDE will also change and evolve over time. However, for now, we primarily view the IDE as a place to build software.

Cursor can allow AI to operate independently, as well as facilitate collaboration between humans and AI, before letting it work independently.

05 Everyone Must Become an Engineering Manager

When using AI agents, many undesirable outcomes still arise. It is like humans being engineering managers while agents are those less intelligent subordinates. As managers, we need to spend a lot of time reviewing, approving, and standardizing.

Thus, we observed that the most successful customers using AI are still very cautious. They heavily rely on “next-step programming predictions” to ensure that AI can predict the next operation results they desire.

Overall, there are two ways to operate. One is to spend a lot of time editing operational instructions, throw them all to AI, and then review their work. The other is to break down the instructions. Specify some, let the AI work, then review; specify some more, let the AI work, and then review again. This back-and-forth continues until a reasonable range is achieved. Often, those successful customers adopt the second approach.

06 Rapid Iteration is the Secret to Cursor’s Success

When we began building Cursor, we were quite obsessive about it being something entirely new. Now, we develop software based on VS Code, just as many browsers use Chromium as a foundation.

Initially, we did not do this but started from scratch to build the Cursor prototype, which required a lot of work. We rapidly built various components at an incredible pace, starting from zero to create our own editor, and then built the AI components.

About five weeks later, we began using our editor entirely. When we found it to be basically useful, we immediately let others use it and had a very short testing period. In about three months, we launched Cursor. Our strategy was to release as quickly as possible and modify versions based on feedback. The initial user feedback was invaluable; it prompted us to abandon the zero-based version and shift to developing based on VS Code.

Since then, we have iterated our product based on user feedback.

07 Tips for Using Cursor

The success of using Cursor largely depends on having a certain understanding of the model’s capabilities. This includes the complexity of tasks it can handle, quality, gaps, what it can and cannot do. Currently, we have not effectively educated people on this aspect within the product.

To cultivate this intuition, I have two suggestions. First, as previously mentioned, do not lean towards telling the model all your instructions at once and then waiting for results. Instead, break things down into different parts. You can spend roughly the same amount of time specifying the overall task but do so in a more granular way.

This way, you only need to specify a little bit to accomplish a little bit of work, ultimately leading to a finished product.

At the same time, I encourage current professional developers to discover the limits of what these models can achieve through experimentation. Many times, we do not give AI a fair chance and underestimate its capabilities. Tools like Cursor can provide significant benefits for both junior and senior engineers.

We have observed that junior engineers tend to rely too much on AI, while senior engineers often underestimate AI’s assistance and tend to stick to existing workflows. For senior engineers, the promotion and adoption of such tools are driven by the company’s internal developer experience (DevEx) teams.

08 Recruiting and Building a Strong Team

For us, having a team of world-class engineers and researchers developing Cursor together is extremely important, both for personal reasons and for the company’s strategy. Our goal is to find individuals with curiosity and a spirit of experimentation because we need to build many new things.

At the same time, it is crucial to maintain a clear mindset. Besides creating products, recruiting the right candidates is also a focus for us. We only concentrate on finding what we consider to be world-class talent, sometimes spending years to recruit them.

However, I believe we were not good at this method initially. We have learned valuable lessons in several areas:

  • Who is the right candidate?
  • Who has practical significance for the team?
  • What does excellence look like?
  • How to attract those not actively seeking jobs?

In the early stages, we leaned too much toward finding candidates that fit the prototype of prestigious schools, who performed exceptionally well in school. We placed too much emphasis on qualifications, interests, and experience.

While this provided us with a wealth of outstanding talent, they sometimes appeared different from the typical candidates we initially pursued. Another lesson is the issue with the interview process.

A core aspect of our interview strategy is to have candidates come to the company and complete a two-day project with us. This serves both as a test and an interaction. The advantage is that it allows candidates to complete a real end-to-end project. You can see the actual output within two days without taking up much time from the team, helping you assess whether you would want to work with this person, as you would be collaborating for two days.

Attracting candidates is also crucial, especially in the early stages of the company when the product is not yet mature.

Was this helpful?

Likes and saves are stored in your browser on this device only (local storage) and are not uploaded to our servers.

Comments

Discussion is powered by Giscus (GitHub Discussions). Add repo, repoID, category, and categoryID under [params.comments.giscus] in hugo.toml using the values from the Giscus setup tool.