Coding Is Thinking

Coding Is Thinking

Programming, to me, has always been more about thinking than writing code. It’s not the hours spent writing lines of code that define the work—it’s the deep dive into problem-solving, the relentless questioning of assumptions, and the stripping away of unnecessary complexity until clarity emerges. If I’m coding for eight hours, seven of those are spent staring at the ceiling, wrestling with the problem, and just one is actually spent writing code.

But here’s where things are getting interesting. With advances in AI, that last hour of coding can now be reduced to just 30 seconds. This evolution aligns with something I mentioned a few years ago about how tools are making entrepreneurs' lives easier, as discussed in this post. The modern stack for creators and developers looks something like this:

These tools are speeding up the programming and creation process by automating various tasks, from generating code and graphics to editing videos and composing music. They allow you to focus on the hard parts—thinking through the problem and designing a solution—while handling the repetitive aspects of the work (and increasingly, the hard parts also). The time-consuming task of translating thought-out solutions into working code or content is becoming near-instantaneous. It’s a game-changer. I can now take a product spec that I wrote 10 years ago, paste it into Claude and the skeleton code for the app is written for me. Insane.

However, I still believe those initial seven hours of thinking are irreplaceable. The essence of good programming lies in finding the simplest, most elegant solution. But now, the transition from a fully thought-through system to actual code is almost frictionless. This new speed will lead to an explosion of niche apps—something I predicted would happen with brands a few years ago. Developers will soon be able to push out a portfolio of apps that each serve a very specific purpose, tailored to the unique needs of users.

This shift is empowering. It’s no longer about whether you have a 10x engineer on your team or a massive development staff. Anyone with the ability to think through problems well and create intuitive user experiences can compete. The future isn’t just about coding prowess; it’s about understanding the human side of technology.

That’s why I applied for Carnegie Mellon’s HCI master’s program. HCI, or Human-Computer Interaction, is the study of how people interact with technology. It focuses on designing systems that are not only functional but also user-friendly and accessible. My intro to HCI was my favorite undergraduate class as it taught me how to think about interfaces and usability. Now, the technology has far surpassed what most of us can realistically grasp, so the next frontier is what has always been important: creating applications that are intuitive and solve real problems for users.

While I didn’t get into the program, I still believe in the importance of this field and its relevance to the future of programming. Below is the application letter I submitted—my thoughts on why HCI is crucial in this AI-driven era.

As AI continues to revolutionize coding, the key to success will be simple: the ability to think clearly and design for humans. The tools may change, but the fundamentals remain the same.