This is the first in an on-going series about my experience learning to code, what I’m learning, why it’s important, and how I plan to utilise these new found skills.
I always wanted a super power as a kid. The closest I ever came was when I’d watch the Star Wars trilogy and play with Legos. It felt like there were infinite possibilities in my tub of plastic blocks.
The rules were simple (put blocks together so they stuck), and the problems obvious (make a spaceship that has a super ion canon with two cockpits facing in opposite directions, and a helicopter hidden inside the cargo bay that was flown by wizard), but the solutions weren’t. With nobody judging or criticising me, I was free to think and experiment with various solutions until I was satisfied.
I always loved playing with Legos. That freeform style of play allowed me to think creatively to solve problems, which has stuck with me throughout life. It wasn’t until 1993 or 1994 when my family got a computer that I found a more appropriate outlet for creative playing at my age.
I remember signing on to AOL for the first time with my neighbour. The sound of modem was weird, and I didn’t really understand what was happening, but when we entered Teen Chat 16… wow. I was hooked on the internet.
So many possibilities rushed in as I found myself literally connected from my living room in Sonoma to other people and ideas from around the world. I ended up teaching myself HTML in 1996 (I was in 6th grade…) after borrowing this book from my cousin.
I’d host my rickshaw sites on my members.aol.com domain, and for about two years I even ran a baseball and basketball card business off it via eBay. I’d list my inventory and the cards I wanted on my site, and then list cards for sale on eBay. The site would play the Jock Jams “Get Ready For This” song automatically by loading a .wav file over 33.6k, and things were organised in a variety of ways using frames for just about everything.
It was an excellent user experience.
I’ve played around with HTML/CSS for years, taking all the Codecademy programs, dabbling with editing Tumblr and WordPress themes, and doing various low-impact projects that required only a cursory knowledge of programming to accomplish. In reality, all one had to do was consider what the code was trying to do (what’s the problem I’m trying to solve) and to fiddle with it until it broke (learning the rules as you go along), or got an inch closer to the intended outcome (solution).
My background is in publishing/media, and I’ve spent the majority of my career as a product manager. I had enough interest in the technical side to understand at a high-level what was going on, or why some feature or new product would be relatively difficult or easy. But I had no formal technical background, and there were many gaps in my understanding, which led to many frustrating situations where projects fell behind, ran over, or never came to fruition.
For the past two-years, I considered joining the Flatiron School in NYC. I could never justify the opportunity cost of doing that, though. The cost of the program (cost plus interest), plus the cost of not being employed (lost wages), plus the cost of living in NYC didn’t add up. It’d simply take too many years to crawl out of the hole I would have dug for a three-month immersive programming school. And, in all honesty, I just wanted to learn a new skill, and feel like I had a super power instead of becoming a full-time web developer, anyway. It wasn’t until January when I moved to Seattle with my girlfriend that this equation balanced out.
Seattle is roughly 30% cheaper relative to NYC, and my girlfriend’s new job afforded me the opportunity to take a few months off from earning a full-time salary. The timing also helped. General Assembly, a school for professional development, was accepting applications for their spring web development immersive program (WDI). I applied, went through the application process, interviews, prework, and took out a student loan via Earnest, which offers merit-based loans at low interest rates.
At this point, I had to transfer from my full-time remote role at Business Insider into a part-time one focused on a few specific projects, like improving our ad yields and user experience across desktop and mobile. The GA WDI program runs 9-5pm, Monday-Friday, for 12 weeks. There is about 3-4 hours of homework nightly, and I’ll tack on another 90 minutes both before and after school each day for BI work. It makes for an exceedingly full day.
Back to having a super power… this program teaches us the MEAN stack (Mongo, Express, Angular, Node), and Ruby on Rails, but it also primarily teaches us the fundamentals of thinking like a programmer. It’s extremely difficult to think abstractly about how to solve a functional problem when you’re unfamiliar with the rules. There’s a healthy, constant tension between linear and non-linear thinking in programming, with every problem solvable in numerous ways, each more efficient and elegant than the last. This is why the learning curve is steep: there is never one way to do anything, which means it’s not enough to memorise the answer, but to learn how to think by leveraging the entirety of your knowledge.
That’s what being a proficient full-stack developer is like for me. It’s like having a super power where you can create the future. There are no wrong answers, and no criticism. It’s like living in a perpetual experiment where the failings are learnings, which are applied to new experiments, which yield new learnings. Each time through the cycle it propels you closer to some universal truth you’re slowly uncovering.
For me, having a proficient and functional understanding of the language of code is like having a super power. It empowers you to build something that hasn’t previously existed in the world. I want to be able to push the ideas from inside my head to Github, and share them with others. I want people to share in the excitement I have for my ideas, and find delight in the things I make for them.
That’s why I want a super power and I want to make things that matter. That’s why this n00b is learning to code.
More from Matt Kiser:
- This n00b Learns to Code: What it Means to Have a Super Power
- Umair Haque on Apple.
- Learning to code cheat sheet
- How to Start a Startup in Seattle: 10 Step Guide to Working Smarter
- How to Start a Startup in Seattle: Get a place to work