How I Used Hacker News as a Virtual Mentor to Learn How to Code

August 24, 2018

Hello! What is your name, and what do you do?

Hi! My name is Austin Pocus, and I’m a Software Developer. I’ve co-founded two startups, one of which, YesInsights, was acquired by Design Pickle in 2017. Since then, I’ve been hacking on a couple of side projects, and working at eFlex Systems.

What were you doing before you knew how to code? How long ago was this?

I started learning to code 14 years ago, when I was 13, so before that I was playing a lot of video games. However, I was discouraged by the lackluster resources I had (i.e. “Teach Yourself in 24 Hours”-style books), and even more so, the sheer difficulty of creating a modern game alone, so I floundered for quite a while. I only began to learn in earnest when I was 18 (9 years ago). Before that point, my plan was to become a writer, perhaps a journalist, or a science fiction writer.

What motivated you to get serious about software development?

I started learning to code when I was 13 because I wanted to make my own video games. Inspired by Steven Levy’s Hackers, I wanted to hack on my own systems. When the rubber hit the road, though, I didn’t really get anywhere. I made the grave mistake of trying to learn C++ as my first language, and I had no idea what I could actually do with the thing. At the time, from the “teach yourself” books I bought, I had no idea what a library even was, or that anything besides the Win32 API was available (yuck).

Now, when I was 18 and went into college, everything changed: I learned Perl. Here was a practical language for getting things done! Finally, I could hack on the Linux systems I had been putting together since I was 13. I could use CPAN and effortlessly integrate libraries, tools that made my code soar. I could finally hack the systems I dreamed of since reading Hackers. That’s when I knew I wanted to hack for a living

What did your friends or family think about you starting to learn to code?

They thought I was just goofing off on the computer. I actually had a friend tell me, on my first visit home after moving to Silicon Valley, “I never thought you’d actually get a job doing that stuff!” The joke’s on him — it doesn’t even feel like work. Now that I’ve established my career, they’re proud of me of course, but they still ask for tech support…

What was your first step in learning software development?

My first step, after reading David Kushner’s Masters of Doom, was to pick up a copy of Steven Levy’s Hackers — I wanted to be just like John Carmack. From there, I just knew I had to create games, so I picked up a couple of those “Teach Yourself X in Y Hours” books on C++ and game development. I would have been better off perusing the internet for resources. Really, I would’ve been better off asking strangers for information, given those “teach yourself” books.

Upon my “rebirth” as a coder at 18, my first step after learning Perl was to hack, hack, and hack some more. I built whatever I could, and learned whatever I could. There’s no better way to learn than by doing. I built a script to automate configuration on Linux. I learned Python and hacked the sound waves from my guitar. I learned Rails and built web apps. Everything I could get my hands on was fair game.

How did you get your first job offers and/or clients?

About 8 years ago, when I was 19, Rails was the hot new framework, as popular as React and Node.js are today. I had dropped out of college (not recommended), I had to get a job, and I couldn’t bear going back to retail. So, seeing that a bunch of companies on Hacker News were hiring for Rails, I hacked out a few simple CRUD apps with horrid designs and, I’m sure if I looked at them now, even more horrific code. With demos in hand, I applied to every company that sounded interesting and matched my skill set, and was eventually hired by Saygent, working on a subjective analysis engine that could detect jealousy, sarcasm, humor, etc. It was a dream come true.

Did you think that you were going to get paid more as software developer? What if you would be paid less, would you still have learned to code?

Honestly, I didn’t know what to expect, and when I got my first job offer in Silicon Valley, I was shocked and elated at the salary offer — of course, I was also shocked by the rent in the area. If the standards were different, if my salary expectations were cut in half, I would still have learned to code, and I would probably still have pursued it as a career. I love what I do, and hey, with all due respect to the writers out there, it has to be easier than writing for a living.

What are the biggest challenges you ran into while learning to code?

At first, the biggest challenge was that my dreams were so out of sync with my skills that I felt incredibly discouraged. Sometimes I still feel that. Now, it’s a lot easier, with Stack Overflow and Code School, among many, many others, to teach you the basics. Not having a mentor, or people I could talk to about coding, was a huge impediment as well — Hacker News was great, but it felt like everyone there was so much smarter than me that it felt unapproachable to post there. I still lurk for the most part.

Funny story: aside from those challenges, my family was pretty much broke by the time I started learning to code at 13, so when our PC died, I was without tools — what was I to do? Well, my dad and brother would take the truck and go on scrap metal runs, collecting scrap set beside the cans on garbage day in each neighborhood. Sometimes people would throw away computers that were usually just infected with malware, and my dad and brother would bring them back for me.

Of course, thanks to Eric S. Raymond, I was a Linux fanatic, so I installed Linux and half the time, the computers happily came alive again. The other half of the time, I was swapping out parts between computers, trying to get the best build I could — at one point I had 12+ computers in my closet, including a server. It taught me how to get Linux running on underpowered machines, and how to use Linux, if not like a guru, then like a dedicated disciple.

What are your goals for the future?

A few goals come to mind: I want to start another company, one that bootstraps itself into massive profitability, or at least modest livability. I want to start a company that works on creative ventures, and cryptographic applications — not cryptocurrency, mind you, but communication apps, for the most part. I want to do R&D, professionally. I want to have a team I trust and respect and enjoy working with, and I want them to feel the same about me (not saying I don’t have that now, but it’s a must!).

If I were to move to another company, owned by someone else, it would have to be a company like NCC Group, Signal, or Valve Software — it would have to be a company that aligns with my goals in my own startup.

What resources helped you the most?

Hacker News was my guide and my virtual mentor for years (and still is!), showing me cool hacks and things I should learn. Stack Overflow was another big one — many questions I’ve had have been answered on there, in depth, by experts, for free, and that’s incredible. Really, I can’t say that one resource has helped me more than the myriad resources I’ve found scattered across the internet, giving me a piece of knowledge here, and a piece there.

Above all else, I owe a great debt to Dane Lyons and Dale Fay. They mentored me patiently and with a level of skill I can only hope to reach.

What’s your advice for people learning to code?

  1. Don’t let discouragement stop you when you start. Please, push on. There will be a magic moment when you get something working and the rush is like nothing else.
  2. Build as much as you can. Start with a dream, an idea. Then figure out the first step, and search “how to [do your thing]”. If you don’t understand that, break it down into steps and repeat. I promise, it works, and if nothing else you’ll learn a ton.
  3. For those in university: real world coding is not like computer science taught in school. You’ll do things in practice, professionally, that would make your CS professors recoil in horror. Do them anyway, most of the time — you’ll learn where the line is as you go on. Which brings me to my next bit of advice:
  4. Find a mentor, someone who’s willing to answer all your questions, no matter how stupid you think they seem. Trust me, they’re out there, even if it’s over the internet. Ask them all your stupidest questions then ask some more.
  5. You have to enjoy coding to do it professionally or it will drain you mentally and physically. Do what you love.

Where can we learn more about you?

I’m on Twitter and Github as ajpocus (my usual username), I’m on AngelList and LinkedIn, and I blog occasionally at Crypto Padawan, writing about cryptography (not cryptocurrency), privacy and free speech online, and the future of the internet.

Thanks for reading!