Things I Learned 2010 Edition
It's that time of the year again — where I bore you with a lengthy retrospective that only a diary could love. In theory, I’ll have a new magazine-style blog post here every month or so. Although in practice, you'll probably still be reading this post in November. Anyway, without further ado, here we go. The top ten things I learned in 2010:
HTML5 is Awesome
If you showed me this blog post five years ago and told me the rounded corners, drop shadows and special fonts weren’t images, I would have laughed. Yet, that’s now the case. HTML5 (using the liberal, Google-style definition) has matured to a point where we can start to really take advantage of it. With Firefox 4 almost ready to wow us, IE9 shaping up nicely and Chrome surely preparing something to unleash, I can't wait to see where we are a year from now. After all, a year ago? I was here.
I Miss College
Don’t it always seem to go that you don’t know what you've got till it’s gone? Pretty much how I feel about college. I really enjoyed it while I was there, and I love where I am now. However, looking back, it really was an incredible place. Fifteen thousand students, all approximately my age, all within a few hundred yards of me, all there for the same reason. I miss working in the computer labs, meeting new students, having professors who cared, being a Resident Advisor and seeing all my friends. It took me a few years to really start enjoying RIT — and by that time, it was over.
However, I Do Not Miss Snow
I took these pictures within a month of each other.
VIM and OSX Aren’t Half Bad
On the amo team at Mozilla, using OSX and VIM isn’t required, but I figured I would trade in Windows and try them out. New job programming in a new language — I might as well go for broke. OSX and I still have our differences, however it’s great for development. VIM took me a bit to get used to, however I constantly catch myself trying to "gg", "/hey" and "d2d" random textareas. It’s amazing how fast you can manipulate text — in fact, it’s made me practically allergic to touching my mouse. I owe Jeff and Dave a great deal of thanks for putting up with my stupid vim and terminal questions for so long.
Paying for Stuff
Up until this year, I never really paid for stuff online. I don't mean piracy — more often than not, I just went without. This year, however, I realized good software and services are worth every penny. I have subscriptions to awesome services like Pandora, Rdio, Typekit, Github, Grooveshark and Netflix. I buy a ton of apps for my Droid and iPad. I purchase any OSX software that I think will make my workflow easier. I even felt bad enough for Jimmy Wales that I threw a donation his way. So far, I haven’t regretted a single purchase. My life is easier and more enjoyable, and these people can continue to develop awesome products and services. People need to eat, and I think that’s something our culture of everything online should be free! has unfortunately overlooked.
I Love Git (and Python)
If you're still using SVN, learn Git. Really. I can’t believe how phenomenal Git is, and I don’t understand why anyone still uses SVN or CVS. There’s a bit of a learning curve, which always held me back in the past. However, it has made up for its difficulty in raw usefulness. And while Git is great, Github really takes it to the next level. I’m not sure how I managed before I had them. Coming from PHP, Python is has left me with a similar feeling of bliss. It no longer feels like I am fighting with the tools I use, which is a really nice way to work.
Movie Star Hopes: Dashed
So, I won’t be a movie star anytime soon. I can’t even play myself. Luckily I have a programming gig to fall back on.
Academics are too… Academic
Don’t get me wrong, I was lucky enough to have a ton of great teachers at RIT. However, after working at Mozilla, I cannot believe how many basic skills were completely ignored. Version control, coding standards, debugging, writing tests and peer reviews were lucky if they got a single class dedicated to them. These are skills students should be required to practice every homework assignment. Students should have to check their code (and tests!) into a repository, and every assignment should be peer reviewed by a student or two before the teacher touches it. Additionally, I wish I had more experience with large group programming projects— I never had an assignment that involved more than two people or took more than a week.
I Love Mozilla
I had two requirements when looking for a job — I wanted a company big enough that my parents would have heard of it, while still being relatively small. I didn't even think of Mozilla — however, hiding behind their awesome browser is an even more awesome company. It’s a non-profit that is obsessed with making the world a better place. I am surrounded by brilliant people at a job I love. I really am lucky, and appreciate the people at Mozilla who gave me this opportunity.
I Have A Ton More To Learn
Being surrounded by so many brilliant people at Mozilla has been a truly sobering experience. I had slowly become complacent over the past few years. While I programmed daily, I never really pushed myself to learn new languages and techniques. Being at Mozilla has invigorated my passion for learning— and when I have questions, it certainly helps that I work with the most gifted programmers on the planet.