Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we talk to Jesse Liberty, a well-known developer, author, instructor, podcaster and currently a Developer Evangelist for Telerik.
Who are you?
I am Jesse Liberty, XAML Technical Evangelist for Telerik.
We make tools for agile project management,
collaboration, development and testing. I live in the suburbs of Boston, and have the great pleasure of working from my home. Prior to working at Telerik I spent 5 years at Microsoft. Before that I was independent for 15 years, and before that I had stints as a D.S.E. at AT&T and a VP at Citibank.
What do you do?
Early in my career I worked on Learning Link for PBS. For Citibank I worked on a number of projects having to do with home banking, and for AT&T I worked on Interchange, a publishing platform that was superseded by the web.
As an independent I had the opportunity to work on dozens of projects, the last of which was creating front and back-end systems for an organization that offers parents the opportunity to hire screened and supervised babysitters.
For Microsoft I worked as a Silverlight and then a Windows Phone 7 evangelist, created my blog and my podcast and spoke at numerous conferences.
What is your development environment?
Currently my desktop environment is a quad-core Mac Pro with 16 GB of RAM and twin SSDs running Windows 7, though lately I've been switching over to a Lenovo 520 with SSDs and 16GB of RAM so that I can bring it with me on the road. Both setups have dual monitors.
I've also just invested in a Samsung tablet and 24" screen to go with it so that I can explore Windows 8.
My development IDE of choice is Visual Studio, either 2010 or 2011. My favorite language, by far, is C#. Having cut my teeth on C, then C++, C# was an easy and welcome evolution.
What new tools, languages or frameworks interest you?
I am deep into exploring Widows 8 and hope to have a lot more to say about it in the near future.
What is your coding pet peeve?
My favorite coding pet peeve is case sensitivity. For all the coolness of having private members with lower case, and public properties with upper case, I think case sensitivity causes far more harm than good — and I'd love to see a switch in Visual Studio that turns it off. Or, more accurately, a feature that fixes case mistakes so that if I declare foo, then write Foo, it just makes the upper case F into a lower case f.
I'm not much of a Hungarian user — honestly never was a fanatic and once I moved to object oriented programming Hungarian became silly. I don't care which indentation style you use as long as its mine.
How did you get started programming?
My first computer experience was in High School on a Monrobot, in 1970 (punch tape). I also played some with Fortran IV (punch cards) on a terminal to an IBM 360.
After that, I took a hiatus from programming for a few years until I started playing with CPM, and then on to DOS.
My commercial experience began in 1980 with dBase II, and I quickly moved on to C and assembler, then on to C++ and finally, in 2000 I was given the early bits for C# and never looked back.
How has the developer community influenced your coding?
The developer community has dramatically influenced my programming; making me aware of new trends, exposing me to best practices and programming idioms and helping me figure out which end is up. I actively used news groups in their day and now am active on Twitter and various other social and professional sites.
What advice would you offer to an up-and-coming programmer?
Examine carefully the choices and go with what you enjoy, not what you think will be commercial in 5 years. In all the time I've been in the business, I and everyone I know have guessed wrong about what will be hot in the coming years; so focus on what you enjoy. Besides, at a certain point, programming is programming and which language you do it in becomes much less interesting than the problems you're solving.