The Blog

How I taught myself to code at age 10 and sold my first startup at 14

“Well, you’re going to need a bank account” my mother said as she glanced at the stack of mail-order checks I’d accumulated.

It was the early 2000s and she was happy to continue to nurture the obsession that had kept me glued to the family PC for a few years. I’d created a website where kids my age could drag and drop outfits, hair styles, accessories and more to create tiny yet expressive avatars, then download and print them out to share with friends. The game generated about 100,000 unique users per month and I was 12 years old. I had taught myself what was considered full stack development then, including a mixture of JavaScript and PHP.

My journey into computer programming actually started at an earlier age. By the time I was 10 I had written my first lines of code after hacking the wildly popular “Petz” computer game from the late 90s. I learned how to modify my virtual pets into a rainbow of different colors and sizes. Fluffy neon kittens, and horse-sized poodles, all living on my Windows PC.

A few years later, while the sound of the dialup modem screeched throughout our house alerting everyone that the single phone line was now in use, I realized that an offline version of my drag and drop game would circumvent this uniquely 2000s problem in American households. And I might just be able to get away with charging for it if I shipped out physical CDs.

Off I went to Staples to begin printing labels after creating a branded design. I setup a single landing page advertising the price and address where children’s parents could send physical checks to purchase a copy of the game.

Despite this work, nothing prepared me for the utter thrill and even hints of confusion that someone was sending me $15 for a piece of plastic, graphics and some code I had developed. And not just someone; I ended up selling about 150 CDs before I received a curious email one afternoon about a year later.

The email read, “hey, you have a great website, can we buy it for $[a-sum-any-teenager-would-take].” I gave the offer 10 very serious minutes of thought before immediately saying yes.

I was 14 and had just sold my first startup.

Pictured: My sister (right) and I (left) on an early autumn afternoon.

Continue Reading

Ruthless prioritization & the unimportant

An ability to maintain laser focus, quickly realizing what’s important and what is not, is a super power for an entrepreneur. It requires rapid, ruthless prioritization of the objectives and precise resources needed to execute anything successfully.

Realizing what is unimportant is almost more crucial than realizing what’s essential. Sometimes what’s needed to ship a product, meet the needs of customers, or solve a large, blocking problem is incredibly obvious. But what’s not always so obvious are the tasks and obstacles your team is focusing too much time on and what is bogging them down. Removing this type of fluff is a crucial yet difficult skill to achieve.

Having led and worked with a variety of different engineering and technology teams over many years, I’ve found that those who are most successful and happy are those who are able to immediately eject non-objectives or requirements from the team’s purview. Teams who are less successful tend to agonize over unimportant details, driving motivation down, stress up, and execution sideways.

Time is the most valuable currency in the startup world. You cannot waste it. And more teams outside the world of technology startups would benefit from applying more ruthless prioritization, especially those attempting to achieve rapid growth.

Ruthless prioritization requires an ability to actually know what’s important. In software execution and product development, this requires extensive practice in:

  • Listening to customer or client needs
  • Trust in your team coupled with strong leadership
  • An ability to iterate quickly, learning from mistakes
  • Preparation that’s neither overly extensive nor particularly sparse (a fine balance of moving rapidly with the best knowledge available to you at any given moment)
  • Conviction in what you’re building
  • An ability to push back against groupthink and common thought (don’t move with the herd in identifying the best decision)

In future posts, I’ll dive further into my past experience building these skills.

I also try to use this type prioritization in my personal life. I focus on what is most important to me according to my values, and how I’d like to improve my life and the lives of those I care about as a result.

Continue Reading

The passing of time is good

The passing of time is an unambiguously good thing. There have been periods in my life where I wish time would stop so that I could capture a specific sense of joy or awe, but on the whole I have never felt afraid or sad about progressing through each year of my life.

Time heals painful parts of our past. Time provides the space for new experiences, new people, opportunities and relationships. It allows loss or shame to fall away gracefully and gives room to more fully herald new success. It allows for a myriad of types of experiences to fully set in and change your life. It affirms decisions you’ve made as the best path you could have possibly chosen to move forward or forces you to reckon with mistakes you can then use to learn more about yourself and grow from.

To me, the biggest tragedy in life would be to stay exactly where I am. And what better way to fight failure, setback or sadness than to use the passing of time to make our lives stronger, more beautiful and more full of life every single day.

Continue Reading

A bias towards action: don’t talk about the work, do the work

In startups and tech, the most successful people in the room have an incredible bias towards action and execution. Execution ability is the only way to delineate between those who will succeed and those who will never get out the door.

I’m often amused by friends and acquaintances who come to me with startup “ideas” and ask me not to “steal” them. I chuckle in my mind, and keep myself together because I very much like and want to keep my friends, but there’s no easy way to tell someone who’s never written a line of code in their life that there is essentially a very narrow, almost impossible path to executing on even the most profitable of B2B startup ideas.

A successful path to execution relies on a mixture of enormous luck in your existing network (university, engineers you work with and who trust you), connections to not only many different potential angels and venture capitalists through the lifecycle of your startup — but really good ones you can trust to not rip your company from underneath your feet unexpectedly and who can add real value — and excellent skills in recruiting, retaining, and nurturing strong teams.

People are extremely difficult to understand on average. This is why there are so many terrible managers in the world, and why so many hilarious office comedies exist. Startup management strategy also varies wildly as you scale. The team you hire from day 0-100 will look and act nothing like the team you have on day 500 or even on day 200.

Execution is many things, all at once. Can you not only create a product road map but actually build each feature efficiently and quickly? Are you meeting the needs of real customers in what you build or the whims of your engineering or product team? Can you ship code efficiently and quickly? Can you rely on and motivate every member of your team — including yourself — to take deep ownership of their part of the business? Can you move fast, iterate, learn and adapt quicker and better than competitors?

Sounds easy, doesn’t it?

Continue Reading