Future of programming with AI

The most important thing about programming is about forming
the programming model. The programming syntax is relatively easy to pick up. The
difficult part is to understand how CUDA works with hardware. This requires
forming an understanding of CUDA from the hardware level. And this part is
very hard to be automated away by AI.

I expect even in the future, having versus not having this understanding will
cause leverage for human programmers to be more productive and creative. But
once understanding the programming model of a language, the rest of the work
can be easily done by AI much more efficiently.

This lowers the bar for learning programming down to understanding the
programming model. 

A roadmap of how to start a startup

First, the goal for starting a startup is to create value for people at scale. The
value is the number of people the startup helps times the delta of value
provided by the current solution versus the new solution. Value is often
generated through technology innovation.

Based on this axiom, the following things follow: First, learn technicals every
day. Learning technicals helps me recruit future technical talents, think about
technology direction, and gives me an unfair advantage over non-technical
companies. This is very predictable, and everyday progress can be measured
clearly. I also found that staying humble is very important for learning to happen
continuously.

Second, meet and talk with talented people. This is critical; it helps with future
recruiting and also inspires great ideas. Surrounding myself with optimistic
people with passion is the greatest help over the long term.

Lastly, learn to sell and interact with users. The single most important thing for a
startup in the early phase is finding PMF, i.e., an important problem that users
really care about. But this part is very unpredictable, and good ideas need time
and come naturally when time comes.

Don't fear competition

If a problem is valuable enough to users, and you believe you have a truly great
vision for the product, then don't be afraid of competition. It's much better to
compete for something you know is valuable than escape competition and build
something not valuable. Have faith in competition if you believe in your product.

Visualize vision

I previously had this realization and recently read again from 稲盛和夫 that
visualizing vision is the best way to actually achieve it. The more vivid the
visualization, and clarity of detailed path to vision, the more likely the vision will
come true.

Why Understanding Hardware-Level is Valuable

LLM essentially raises the bar for being technical. Currently, relatively
beginner-level technologies like full-stack programming could be done by LLMs
quite well. These technologies are also easier to understand.

So the question becomes: is it worthwhile to understand deep hardware
technologies like CUDA? Jensen Huang previously shared that future
opportunities come from cross-layer thinking. Understanding different stacks of
technology is becoming increasingly important. Essentially, the most productive
programmer now needs to understand not only the backend and algorithms but
also hardware.

Why is that? Is it actually worth the time to dig deep into the technology stack?
Over the long term, I believe the answer is yes, especially with the rise of open-
source contributions and frontier labs (Deepseek) sharing the most advanced
technologies and techniques. The problem is that much of this knowledge is so
cutting-edge that an ordinary full-stack programmer might not fully grasp it.

The issue here is that without understanding these advanced technologies, one
cannot fully leverage them in the long run. Imagine a future where the most
frontier technology is openly shared—the key question then becomes whether
one is technically savvy enough to understand and apply it to build the best
products.

Therefore, understanding cross-layer technology is more important than ever.
Most technological innovations happen deeper in the stack. Zhang Yiming once
said: "Often, to judge a technology firm, it's sufficient to look at how deep the
stack goes." Typically, this depth enables a firm to build a long-term moat and
develop better products.

Only focus on problems that matter

The biggest mistake I made for the last couple of startup ideas was that I
worked on ideas that were not important or valuable enough to users. I did this
because I wanted to focus on niche use cases and small markets to avoid
competition. But I mistakenly thought unimportant use cases were attractive
markets. The biggest problem with an unimportant use case is that it doesn't
matter to users. So no matter how great the product, users don't care.

Now I realize user demand should be the number one factor to consider when
deciding whether to pursue an idea. I think it's more important to pursue
important use cases and serve a niche group of people who truly care about it.
Notice that I am still focusing on a niche group of people, but for this niche
group, the problem has to be really important to them.

The worst-case scenario is not losing in a competition but building something
that is not important or that people don't have a strong need for. Zhang Yiming
said: "看似一片红海的行业,我却觉得是一片蓝海" (An industry that seems like a
red ocean, i.e. full of competitors, I see it as a blue ocean, i.e. full of rewards).

Take Douyin's Soda Music product— the music app market has lots of
competition, and Douyin is certainly not the only player in it. But music is such
an important area that users have a strong demand for it. Douyin focuses on a
relatively niche section of the large market: music for young people.

Be effective rather than popular

Today I found that I actually care a lot about others' perception of my actions.
And a lot of times, this leads to me being less effective.

I used to think I care more about what's effective than popular. But when I go to
the gym, I noticed that I would only start doing a certain action after I see someone
else doing it. Otherwise, I seem to be afraid of doing it wrong. This is evidence of
me caring more about what's popular than what is effective.

This is bad because almost all the time, I overestimate others' attention on me.
The scientific term for this is the spotlight effect. 99% of the time, others don't
care about my actions at all. So it's far more important for me to think about
what's effective and focus on that rather than what I believe will result in less
judgment from others.

Long Term Commitment

When I look at today's most valuable companies' stocks, I noticed that
throughout most of their history, the value is in fact not recognized by the
market. And at some point, the market clicks and its value goes up in a very
concentrated period of time. It took more than 20 years for the market to realize
how valuable NVIDIA is. And in the year 2022, NVIDIA stock went up
exponentially.

This is pretty inspiring to me because a lot of things we do today might not be
deemed valuable by the external world even two years down the way. But if
what we did truly was valuable, at some point in the future it will come back.
One advice I heard from Aravind, CEO of Perplexity, about starting a company
was that before diving into entrepreneurship, one should ask themselves: "Is
this something I want to work on for the next 10 years?"

Because this rules out starting a company purely based on a short-term project,
even if it's very tempting. Once we rush to build a company based on a short-
term project, our expectation for it to succeed goes up very quickly. And if
there's no immediate indication of success, we start to question why we are
doing this. This recently led me to ask this question more often: what are some
invariants of my long-term passion? Previously, I focused my time on small
projects that I believed could impress other people. But more often, I tend to
focus my small projects on my long-term passions. What I found is that even if
some of these small projects fail, it doesn't stop me from continuing on a track
forward with my passion. I am even more hopeful to do another project surrounding
my passion.

Open-minded

One thing I discovered about myself and many others is that: truth is often just
in front of us; we just need to not try so hard to avoid seeing it.

I found that our prejudice, aka prior, is often our greatest enemy to making
progress. I found myself used to believing something so false yet so firmly. And
progress happened at times when I held my beliefs slightly loosely and asked
myself: "What if the alternative is true?" Then I tried to act based on that
alternative premise for a while and found out that it's actually much more
effective.

This is why I think being open-minded is far more important than being
knowledgeable or being an expert. Most of what we know is false to a degree;
it's just a matter of how long it takes for us to realize and be willing to accept
that.

Paradigm shifts in the scientific realm happen in similar ways. A person points
out a completely new framework to understand the world based on some
anomaly that the current theory cannot explain. Most times, people's reaction to
anomalies is to ignore or deny them. In fact, people would rather creatively
reinterpret data to fit existing beliefs than adopt new paradigms.

Being open-minded is also what Dario Amodei said that drove the LLM
breakthrough: "I was seeing the same data others were seeing. I don't think I
was a better programmer or better at coming up with research ideas than
any of the hundreds of people that I worked with. In some ways, I was worse.
This open-mindedness and this willingness to see with new eyes... that is the
most important thing."

This is increasingly how I value a great engineer: not only by their current
expertise but also by how likely they would change their mind, sometimes just
for the sake of trying. The best engineers I have met are those willing to accept
they were wrong when seeing the evidence.

An Exciting Product

When we upgrade to a new iPhone, we get a sense of excitement while unboxing.
And recently, when OpenAI launches a new model, a new feature, it makes us
feel excited and look forward to the next thing.

It would be great if the world can have more such great products appearing in
people's lives to make us excited about future.