Misko Hevery
Who is Misko Hevery?
… works as an Agile Coach at Google where he is responsible for coaching Googlers to maintain the high level of automated testing culture. Previously he worked at Adobe, Sun Microsystems, Intel, and Xerox (to name a few), where he became an expert in building web applications in web related technologies such as Java, JavaScript, Flex and ActionScript. He is very involved in Open Source community and and currently working on the angular project to make it easier for people to build AJAX style web-apps.
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.
About Angular?
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.
I started doing Java a while back, so it is by far the language I have written the most code in. I used to be very much into strong typing and I just could not understand those people (ruby mainly) writing apps without type system. Sure you have tests, but you need to have the help of the compiler. Angular is my first JavaScript applications, and it has changed the way I look at JavaScript and on the need or the lack of typing. Typing as the name suggests, is just that, a whole lot of typing. I find JavaScript amazing because it is such a simple language, yet it is so powerful. Yes, I know there are lots of dumb things in JavaScript too, but I can explain JavaScript to you in few hours, where as I need days for Ruby, Java or Python.
My favorite JS framework is angular (if you can call it a framework.) Hey, its my baby, and so I am partial, but jQuery would be the runner up, if angular would be disqualified. But what I am super excited about lately is not a framework at all, but node.js. Node.js is amazing. It changes the way servers are written, and not because it is in JavaScript, but because it is done in non-blocking way, (which JavaScript and the browser popularized). I think Node.js and with it JavaScript will be the next Java.
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?
I am a passive observer on Twitter, and I tend to follow a lot of people which tweet about technical things, mainly web. It is inspiring too see hove the web, with JavaScript, HTML5 is taking off. So much has happened in just few short years. We went from IE6 being the de-facto standard, to being almost irrelevant, and all thanks to hard work of folks like Mozila FireFox, Apple Safari, and Google Chrome. It is almost like peer pressure. Look what the other kids are doing, we better catch up, and IE9 seems to be turning into a decent browser. In the end consumer wins, as web-applications are become more of what the name suggests, application on the web. The area where this is most interesting is Palm Pre, it is basically a phone, where all apps are web-pages. What a clever and inspiring idea.
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.






Hi there! I could have sworn I’ve been to this blog before but after checking through some of the post I realized it’s
new to me. Anyways, I’m definitely glad I found it and I’ll be bookmarking and checking back frequently!