ken

Hi, I’m Ken Mazaika and I’m the CTO & Co-founder of The Firehose Project.

In 1999, Smash Mouth was topping the charts. Me?  I was a 13-year old script kiddie.  If you’ve never heard the term script kiddie before, here’s the formal definition:

“A person who uses existing computer scripts or code to hack into computers, lacking the expertise to write their own.”

I, like many current developers, got into programming in the golden age of script kiddies. This is when becoming a power user of AOL Instant Messenger involved running some codes written by other developers.

AOL Message

I have no shame in announcing that my online alias, DropKickKenny, was an AOL Instant Messenger God.  Using basic HTML, I was able to put images in my profile.  Using other basic HTML, I was able to make text scroll across the screen in what was known as a marquee element. Using even more basic HTML, I was able to make text blink.

Whenever I used one of these advanced, undocumented features of AOL Instant Messenger, my friends would say something like:

“Woah, that’s really cool.  How can I do that too?”

And it felt really cool.  

I was the only one in my circle who had the ability to add images to my AOL Instant Messenger Profile.

I felt like I was on to something, so I began to take the next step in my coding journey, which involved crafting the perfect Angelfire website. At the time, Angelfire and GeoCities were the go-to hosting solutions for personal websites.

It was difficult to position elements on the page. But I eventually learned how to use HTML tables to position elements in the way that I wanted. But I wanted to push the boundaries even more, so I tried to learn the more complicated aspects of HTML. I scoured the net for the coolest animated gifs, “under-construction signs”, and everything else that you would expect from the website built by a 13 year-old kid.

My friends complimented my website. They loved my page that talked about why “Chumba Wumba is the Best Band Ever.”  And my dungeon master liked that my Dungeons and Dragon’s character’s info was on the site too.

And it felt really cool.

But my website had ads. And I felt that the ads that were being displayed on my Angelfire website were taking away from its legitimacy.  I was a 13 year-old kid without a credit card or a bank account, so paying for a premium hosting wasn’t an option. I had to get creative.

After doing some research, I found there were companies that would allow me to get my hosting for free without ads. The site itself was called envy.nu (sadly they seem to have taken the amazing service down). I migrated my site to envy.nu and updated my AIM profile for people who clicked the link.

I learned a bit about web hosting. And when my friends asked me:

Why don’t you use Angelfire, like me?

I had a solid response:

It’s important for me that my site doesn’t have any ads on it.”

And it felt really cool.

I lacked any sense of programming knowledge, but I jumped right into the fray and installed Visual Basic 6. I decided right then and there that I was going to write a computer program.  I had no idea how variables worked. But I worked around it by dragging label elements outside the visible screen to store information that could change over time. If you tried to write programs in VB6 without knowing how to program, you probably did the same thing.

I showed my Dad my program. He thought my program was “neat.”

And it felt really cool.

Programming and computers were a fun way for me to goof off. And I had a feeling of accomplishment when I figured stuff out.  

A few years later, I stole a book from my Dad’s office on Borland’s Turbo C. Not only did this book get into the conceptual thinking behind programming, it also included a bonus CD-ROM with the Borland Turbo C compiler. At the time, this was pretty cool.

CDROM

During this time, I was working a part-time job bagging groceries at a supermarket after school. Sometimes, during lunch breaks, other employees would play a gambling card game called 2 Card Guts, which is essentially a version of poker. Knowing that this was a very simple game in theory, I cautiously played in the first few games.

I soon realized that my new coding superpowers allowed me to simulate the hands in a game of Guts. Over the weekend, I wrote a pretty awesome program in C. It generated a table that gave the percentage chance of each hand to be the best hand in the game, given X number of opponents. It accomplished this by running hundreds of thousands of simulations.

I quickly realized that everyone in my supermarket card game was playing in a suboptimal way.

They were taking a far too conservative approach. In fact, they were playing in an egregiously conservative way, if my table was correct. I decided to put my analysis to use and test it out during our next card game.  

To provide full context, Guts poker is a high risk / high reward game. In games where the ante is $1 (like the game that I played), the winning hand could net $50. But if you lost, you might have to pay $50 to the pot.

Let’s remember, I was just a kid making 7 bucks-an-hour bagging groceries. $50 was a lot of money at this time.

So I memorized as much as possible about the tables from my computer program, particularly around the hands where there was a 50% chance of winning.

The next time we played Guts on our lunch break, I started playing the game in an optimal way. I prepared myself to be ok with a net loss of $100. At that price point, I could consider my effort a worthy experiment, but one not worth continuing.

Well, my bet paid off. That day, I made $350. I only lost one big hand (costing me about 70 bucks) but had far more wins. I gained the reputation of being a reckless and lucky player. Only I knew that I wasn’t being reckless or lucky…just calculated. Soon enough, my coworkers stopped playing Guts with me.

And it felt really cool.

As a 13-17 kid hacker, it was really easy to celebrate the small wins.  Every small victory made me feel incredibly accomplished.  

Blinking text in my AIM profile? Super cool. A cool personal website without ads that impressed my dungeon master? Also super cool. Programming was fun. I wasn’t setting out to be the best in the world. I just wanted to use technology to get a small edge over people who didn’t spend the time or energy to do it themselves.

Fast-forward a decade and a half, and I now have more context on technology and life in general. I’ve continued to program, work through more and more challenges, and build a ton of features and applications.  

I would never have arrived at where I’m at if I hadn’t started tinkering around with my AIM profile in the first place and celebrated the small wins. I’ve realized that learning to program is a long journey and one that is different for everyone. But if you start, continue to tinker and test things out, and appreciate the moments in which things work, you’ll find it a lot easier to keep pushing forward.

You might even become a programming all-star.

Smashmouth

And Then The Morning Comes, and you’ll look back at everything you’ve done and realize all the progress you’ve made along the way.  If you keep on pushing forward, soon enough you can become unstoppable at programming.

The problem that most people run into is this:

When you’re learning to code, it can sometimes feel like an endless marathon of thinking:

“I need to learn this stuff.”

Then you learn the stuff, and you realize that there’s more stuff to learn. This cycle can feel quite daunting.

Never forget to celebrate the small wins.

When you ship a new feature or write a complex algorithm, take a moment and give yourself a chance to feel good about what you’ve accomplished.

Often, appreciating the amazing things that you’re doing in the present is the best way to fuel your growth for the future.

Ready to start coding? We’re giving away the first 2 weeks our online software engineering program for free. Sign up here: free intro course.

Recommended For You

14 thoughts on “8 Minutes of Programming Advice From My 13-Year-Old Self

  1. I agree you have to start somewhere. I had my start playing around with the html for our schools website. Then I was able to take a virtual class through the school and build a robot. I remember using visual basic to program the robot to do towers of hanoi. I had no idea what I was doing but it seemed pretty easy since you were just dragging and dropping things in the application. I was able to put the robot together and get it to stack the towers on it’s own.

    The school administration was impressed and wanted to showcase me as a success of the virtual class program. It’s not like taking an online math or language class that’s not available in your school. With those there isn’t anything physical you can show off. But, mine was right there in front of you and stacked some blocks. As you said, that was pretty cool.

  2. What a great little write-up. It’s rare to come across a blogpost that touches on technological, life-advice and nostalgic (yay Smash Mouth!) aspects. Very refreshing 😊

  3. Nice article, I had some very similar experiences at a similar age.

    The visual basic part makes me laugh, I recall stumbling upon visual basic and being amazed that you can make your own programs. I just ending up making a bunch of dialog windows with buttons that do nothing as i had no idea how to make anything work.

    That along with tinkering with websites game hacking etc inspired me to continue…

  4. It’s indeed a great advice to “celibrate the small wins” !

    I wish I was born a few years later, so I could have ended up learning those formatting, scripting, and coding skills, at a younger age in stead of in my twenties and thirties. But then again, I probably wouldn’t have been able to juxtapose all the analogue technologies so well against their digital equivalents, and see the enormous Big Win of our digital age as a whole.

    The “Agile” development method is based on the same idea of “small wins”, setting partial efforts and achievements as a priority during each “sprint”. Too bad management often decides to ship software with these small increments as well, leaving genuine users in a constant state of disappointment and frustration…

  5. Reading this short article has reminded me that I don’t have to aim to be the best, nor do I have to give up when I constantly find that there is always more to learn. And, most definitely, I should celebrate the small wins =)

  6. I had a lot of programming classes a long time ago, and I found out that the compilers were not quite ready for prime time. One class had a compiler that took 8 minutes to get an output with one user, just me, at 7 am with no one else on an IBM 4361. With any more than a single user, it slowed down, 20 minutes or more.

    That was years after I took Fortran on a mainframe, with cards and a IBM key punch machine. If I was lucky, I could get through two runs during a 90 minute lab class.

    A Pascal compiler cost me more than one weekend of time and very much frustration before I found out about that it had bugs.

    Then I took BASIC on a HP minicomputer. Cool! I did some really neat things. But it had 32 terminals and the disk drive had as much storage as 3 floppy disks. Too many students, not enough computer.

    For C programming I had a part-time teacher that was so bad the students complained and he was never seen again.

    All in all, things back then were just too primitive for producing real programs. So I stuck to the hardware side of computers and data communication and I did well for 3 decades.

  7. Thanks for this story!! I won’t give up and I get so excited when I write even a simple code correctly. I’m still a noob but everyone has to start some where.

  8. So true. I couldn’t keep going if it wasn’t for the small wins. I’ve also discovered that just getting something working, no matter how bad the code, is very encouraging. I’m not sure if that’s bad practice, but it has definitely helped me to keep going.

  9. What a wonderful article! Brought me right back to the times when 11-year-old me was trying to sell simple html layouts for virtual money. The concept of a div tag was already too much for me to handle, but that didn’t stop me from making cool things that other kids were happy to buy from me.
    I think the perfectionists in ourselves have a lot to learn from this!

  10. Thank you for this. Appreciating the small wins is something that I don’t think we tell people enough. Things already seem so daunting and it does really help.

Leave a Reply

Your email address will not be published. Required fields are marked *