Connecting the dots

At the end of my senior year while working at web.unc.edu, I sat down with a developer on my team determined to learn how to build a plugin.

“Do you know what a boolean is?”

I froze. No.

“Do you know what an array is?”

“Do you know what a function is?”

“Do you know what a variable is?”

The questions went on and on. I was stumped but determined. That was my first introduction into real programming. Since then, my approach has always been haphazard and during moments of pure fascination. Learning some programming language has always been on the perpetual “to do” list. This was May 2014. I graduated & moved to San Francisco soon after.

In September that year, I joined Automattic. I was never formerly taught CSS or HTML but have mastered these concepts simply through tinkering and time. Learning how to use Inspect Element my junior year of college greatly accelerated that. I took apart and altered my favorite pages daily (I still do). It’s always been fun and it was accessible to me. I understood it and it gave me a platform from which I could learn new tools.

Programming has never felt accessible. It has always felt out of reach and just over my head. It’s not a part of my day to day job most of the time so I never made a concerted effort to study it. When I was thrown on VaultPress, I quickly realized it would be of good use to dive in and learn the basics. I could solve problems faster, better explain issues to users, and write more thorough bug reports. This quickly earned me read access to the files that make up VaultPress. I didn’t realize it at the time but this was the first step in making programming more accessible. I now had a codebase of a product that I was intimately familiar with and could watch before my eyes how it worked (or didn’t work). I could review commits by developers, write my own patches, and just generally check out what was already there. I could make local changes and see what happened – do I get the white screen of death? Where did I make a mistake?

Without fully understanding PHP, I was able to see it in action. I see this as almost like trying to learn a language through immersion. I realized recently though that I don’t even have the basics in place and, with Automattic heading towards a JS future, it would serve me well if I started connecting some of these dots that I had started learning.

Enter Treehouse. I first signed up over the summer when I got into a discussion with my brother about learning how to code. I didn’t want him to go to one of these coding bootcamps without first trying to learn on his own (he never went btw). I had used Lynda previously but it never really stuck and I found it assumed I knew a lot of things I might not know. It also was very simply focused on video – no quizzes, no challenges, no breaks – just hours of video. One of my coworkers mentioned Treehouse to me previously so I decided to take it for a spin to see if my brother might find it useful. The slick dashboard and interactive nature immediately impressed me. The next day I purchased a subscription which Automattic covered thanks to the awesome professional development perks we have. After starting and stopping multiple languages, I landed on Javascript. I’m currently taking a 33 hour course and couldn’t be more excited.

Treehouse has made Javascript accessible. It’s made learning Javascript feel achievable. When I first told one of my friends that I was learning how to build websites my freshmen year in college, he said “Aren’t you bad at math though?”. I’ve always seen myself as he described me: someone who is bad at math and bad at languages. I struggled through physics. I struggled through calculus. I fought hard to do well in Latin (I did end up doing well through sheer grit). I saw Computer Science in the same light. Here’s the trick: find the tool that works for you to learn the best way you learn. I’m an interactive learner. I ask questions. a lot of questions. I want to be quizzed. I need to apply things when I learn them. I don’t do well just hearing someone talk – I need to see it. Treehouse is this tool for me. Find the tool for you.

Personally, it’s been exciting to connect these dots and begin to cross off this item on my to do list. More than anything, I’m realizing the more skills and ideas you learn, the more solutions you can come up with and the more you can help. Whether it’s learning a programming language or reading a new book about an idea you’ve never heard of, everything connects in some way. I am a firm believer that whatever you are learning today to give it 100% because it will be useful in some capacity later. While learning Javascript has a very easy to see use case long term, it doesn’t mean it’s more valuable than something that’s not as easy to see (like the skills learned in leading a team or project).