6 min read
Unlocking new developers

I have always loved coding and yet learning to code has always felt daunting.

In my first year of college, I took an Intro to Programming class that made me fall in love with computer science. Much of it was thanks to the professor - he promoted learning alongside other students, had us writing down code so we could memorize it better, and was very accessible to his students. I could contact him via email or show up with dumb questions at his in-person office hours and he was always ready to help.

He made me feel that coding was accessible. Moreover, I felt like I could learn how to code.

Failed attempts and false starts

Over the next 15+ years, I struggled to recreate that same feeling. In both classroom and professional settings, I never felt like I could make real progress towards developing software.

  • I spent months and thousands of dollars on a Frontend coding bootcamp,
  • I took online courses on Udemy and Udacity to understand Machine Learning,
  • I even spent hours parsing Google’s internal developer documentation when I worked there.

All of it made me feel like I was just scratching at the surface. And that it would require a complete career shift to put code into production.

This all changed mid-2024 when I started using AI tools to save my startup. I had just painfully fired my co-founder, the primary technical lead for our small team. Soon after, I had a potential customer reach out asking for a prototype to their problem. I had an idea of what needed to be built, but little experience in actually building.

I started to brute force my way to a prototype. At first this looked like prompting Claude and ChatGPT with, “Here is my high level goal. I need you to help me do this thing. Please write this code in Python.” I would then literally copy & paste these outputs into a Jupyter notebook. If the code would not run or something in my analysis broke, I would copy and paste the error messages back into the LLMs and then repeat the process. I spent June & July 2024 doing this for about 10+ hours per day.

In my effort to get the prototype working, I started to feel something I had not felt before - that Claude & ChatGPT were great learning partners. In previous attempts to learn software engineering, I would get stuck on small problems for hours. I would search online, go to office hours, and even read textbooks to understand how to make my program function. It was rare that I could get guidance that was specific to my context.

In this iteration, I had a thought partner that could directly comment on my program. Similar to my college professor, it would not only point out bugs and help me fix code, but it would help me understand how the underlying system worked. Moreover, I could ask it very dumb questions (e.g. “What is a tuple?”) in a safe space and not have to face the judgment of teachers and other engineers. The AI tools matched my learning style. I now had an always-on tool that I could use to guide myself towards a working solution, at my own pace.

Why you should start today

The core point here is that it’s about unlocking other people. Others want to do the same thing, but they think that prompting towards a prototype is the way to go. This is partially true, but it’s not the entire story. The more important realization is 1 - understanding which frameworks to use and 2 - finding the right toolkit. If you can do that, it will 10x your progress.

Lately, I have had friends and colleagues who want to do the same thing. They have an idea they want to explore or a project they want to build at their company, but do not know how to get started. It may be easier than ever to get a prototype up and running, but that doesn’t mean that you can prompt your way into production level code.

There is still a learning curve to software development.

I have found that approaching software development from first principles and frameworks has really helped. Asking why, why, why to ChatGPT can actually unlock some learnings. And understanding why a repo is setup the way it is will reduce the cognitive load of understanding how it works. Once you understand how it works, you can make targeted prompts that will help make changes.

The but don’t know how to get started. And if they just started to understand the first principles, they could be building their own software.

Moreover, it’s to talk about the best tools and how to start using them. Becoming a big believer that finding your center of gravity and the tools that you feel most confident using can 10x your progress.

I’m sure there are better writers out there. And people that know software engineering 100x better than me. My goal isn’t to be the authoritative voice on this topic. Instead, it’s to be a friendly guide. Maybe an example of someone who is starting to do it themselves and wants to leave breadcrumbs for my friends and colleagues who are interested in building software, who believe they are capable of it, and just need some help getting started.

I actually do think some cognitive load here is good, especially if it’s being applied to figuring out how the system works. You don’t want ChatGPT to do everything for you.

Get new posts delivered to your inbox

Subscribe on Substack