Who is Misko Hevery?
Where and when did you start programming?
I started programing when I was about 8 years old. That was around 1984, and back then in Slovakia it was a big deal. I lived in a very small town with about 200 people, and we were the only ones who had a computer. It was Sinclair ZX Spectrum 64K. I first learned BASIC, but then quickly moved on to Pascal and assembler for the Z80. I kept up with the programing languages until I moved to the US, where it became more of a formal education in HighSchool. We had a very good Advanced Placement program, and great teachers which gave us challenging problems to solve. I then attended Rochester Institute of Technology where I got BS/MS in computer engineer, which is actually the hardware side of the computers. But somehow I moved from designing chips to programing firmware, to software and now I do mostly web-applications.
Angular is an Open-Source project which I started with my good friend Adam Abrons. The goal was to enable web-designers (non-programmers) to build simple app like websites, but it quickly became more then that, as it evolved to a web-framework, (but I hesitate to call it a framework, since a better way to think about it is a better browser.) Angular extends the HTML vocabulary with additional elements and attributes which gives you the ability to project your application data in a declarative way to HTML for the user. I like to say that angular is what a browser would have been if it was designed for web apps. Angular really changes the way you think about building web-applications. Main difference is that your application has no DOM manipulation code. All the description of how DOM should be manipulated is specified declarative in HTML. But it is more then that. angular allows you to write your own markup so you can build up vocabulary which makes sense for your application, kind of a DSL. Over time we added depency-injection, resource management, deep-linking, and lots of other things which are useful when building web-applications. One place where angular is unique is that it has an amazing testability story. A lot of technical decisions have been made to make sure that it will be easy to tests an app built with angular.
Your favorite IDE. Language. JS Framework?
I am an eclipse guy. I have tried to change several times, to InteliJ, but I just can’t get over the key-bindings, rusty SWING UI, and the lack of good way to rearrange the editors in the window. But that is a religious debate, no need to go there.
What does your typical day look like?
I wake up early, usually before 6am. Not my hour, but my 8 month old son, is up and he wants to play. He is so excited to see me at that hour, so I can’t say no. I then car-pool with my wife to work, fortunate for both of us, she works just down street from Google. Google likes Angular so much, that it is my full time job, along with another Googler Igor Minar. Together we try to make angular even better. At lunch I usually go for a couple of mile run. I used to dislike running, but after reading “Born to run” and getting a pair of Five-Fingers, running is actually fun. In the afternoon, is more of angular, and then we head back home where our son is excited to see us.
What do you do in your free time?
Free time is hard to come by, but I enjoy biking and rock-climbing. My wife has a great imagination, so she always comes up with a project around the house. Whether it is installing picket-fence, building an arbor, or digging holes for her garden, she keeps me busy. Turns out some physical work does wonders for your mind. I get some of the best ides when working around the house.
Current favorite apps?
Node.js, Pandora, Groveshark
What OS do you prefer?
Mac OS X: Power of unix with a sexy interface. What more can you ask for.
Small picture for your Workplace?
My workplace is quite simple. Just a desk with monitor, keyboard and mouse, and a place to dock my notebook. I don’t have clutter, as I think fewer things one has the easier it is. Moving is always simple for me. :-)
Name something that has inspired you recently?
What do you prefer (and why)? Freelance work or full time employment?
They both have their advantages. Currently I am quite happy with Google, and so I am enjoying the fact that Google is letting me work on my angular project. It is unlikely that angular could gain so much popularity and I would have enough time to get it to the point which it is today. In the past I have done a lot of freelance work, and there is something exciting about doing work for yourself, but it is a lot of work.
What are your personal projects and goals for 2011?
The goal for 2011 is to spend most of my free time with my son as to give him a good start. He just started crawling so it is quite hard to keep up with him but it is quite exciting. It also turns out that he never turns down Cheerios and blueberry and is motivated enough to crawl through the whole room to get it when he sees it. Turns out that you can use such a reward to get all kinds of interesting data on how he thinks. For example until recently he was very motivated to eat the mirror when he saw Cheerios in it, he knows way better now. He can now take apart two plastic cups to get to his treat in the middle, and he knows that when I point, there must be a treat under it someplace.