At the writing of this blog, Dan Weatherford is at the ripe young age of 20 + 1 month. What makes him special is he’s currently the youngest full-time employee at Facebook.com. Though most of you don’t know him, he programmed the ability to sort your Facebook photos which was a highly celebrated addition released mid-march 07.
Dan is not alone in being young and fully employed by a .com company. So I contacted Dan to ask him some questions about this trend, life, and how he likes his coffee in the morning. Here’s our interview:
SK – Do you currently work for Facebook full time? Part time?
DW – Full time.SK – How did you get involved with Facebook?
DW – In my freshman year at college, I volunteered some time to a guy I met on a random internet forum to help him set up an internet TV station (Shoutcast streaming, but with custom applications to manage playlists and such) — I wrote most of the (original) database layer and the original Shoutcast/NSV sourcer. A couple months later, after we’d been in contact and working together on setting up the TV station, he wanted to work with me on another project — starting a business providing media streaming in a variety of formats as an easy-to-use hosted service. I wrote a bunch of code for that, we got a working model built, and then he got hired by Facebook. He later got me the job here (well, referred me).SK – Are you still in school? If so, why? If not, why?
DW – No. I completed one year of a Computer Science degree at the University of Idaho, at which point I was bored out of my mind with the simplicity of the classes for the degree program relative to the kind of research I was doing in my spare time (computer graphics stuff — I developed an efficient lighting and procedural geometry generation algorithm for rendering realistic hair and fur that scales from realtime applications to movie quality rendering.)SK – What would you say is the average age for employees at Facebook?
DW – About 25. The youngest person here is actually me, currently at 20 + 1 month (I beat the previous record by a few months); the oldest, around 55 (a fellow engineer). Half of the company is under the age of 30.SK – What would you consider your talents to be?
DW – In the course of my Computer Graphics research, I wrote a photorealistic batch renderer from the ground up (in C++ and a little inline x86 assembler) with an eye for squeezing every ounce of speed out of the (relatively anemic) commodity machines I could afford at the time. So, with that in mind: Distributed systems, large-scale data management, optimization (on the architectural, algorithmic, and bit-hacking levels), all of the esoteric features of C++ (especially wrt. the templating system), and x86 assembler are big ones.SK – What are you long term goals?
DW – Don’t get fired? I don’t tend to think about much more than medium term (a couple months out), since the technology I work with evolves so rapidly. Anything past the end of the current project is probably going to change by the time I actually get there, so I don’t waste too much time worrying about it.SK – Suggestion to a highschool/college student who wants to program for a site?
DW – Don’t make your first language a dynamic one like PHP, learn C++. Playing with pointers and managing the free store (new + delete) may not look fun, but understanding how things really work under the hood will be invaluable later.When you start writing your first site, take a few days to figure out what the ‘relational’ part of an RDBMS is really for — figure out what an INNER JOIN does in SQL and why you should normalize your data. Having to redesign your data model in the middle of a project is not nearly as fun as learning how to set it up properly in the first place.
Make good friends with a designer, because most engineers (myself included) are terrible visual artists, and a good user interface is a work of art. If you can’t find a designer, just look at how Apple does it and copy that.
If a good opportunity comes along, taking a leave of absence from education to follow it is probably a good idea. Your college will still be there when you come back.
Interview End.
———————-
Spoken like a true programmer. So much of what Dan says is true about the trends in education and employment. If you are in college now, there’s a good chance you’ll have a job you didn’t train for or doesn’t even exist yet.