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 Sebastien Lambla, consultant, blogger, teacher and open-source developer.
Who are you?
I’m Sebastien Lambla, I’ve been a Londoner for 8 years and I’m an independent consultant, working with various clients in London to improve their architecture and development methodologies.
What do you do?
I can’t talk about specific projects, but we did a few cool things lately. One project was a composite development framework to bring tab-browsing with process isolation to WPF developers, together with a deployment platform based on OpenWrap. Lately we’ve been working on mapping components to display those lovely maps and associated graphics to Silverlight using OpenRasta.
My main two open-source projects are OpenWrap, an alternative package manager that has been in the .NET sphere for two years-ish, and OpenRasta, the most widely used alternative web framework on .NET. All this is MIT licensed and free as in beer.
What is your development environment?
I do my dev at all on a MacBook Pro with as much memory as it can take, a 256GB SSD drive and a 30" Apple Cinema Display (which is, sadly, a discontinued format, but one am in love with). It all runs Windows 7 (I’m not a big fan of OS X).
My dev server is a quad-Xeon machine with 8 hard drives and lots and lots of VMs that I use to run my environments, Active Directory and a few other niceties.
Moving forward, I’m mostly interested in the idea of portable templates: how do you model the binding between HTML views and templates transparently between server and client, cross-platform?
Moving forward a bit, WinRT and the new C++ that comes with it on Windows 8 is on my list of things to study and work on.
What is your coding pet peeve?
My pet peeve is people that have pet peeves :-)
For my own projects, I tend to have a very terse coding style – things that are the default I tend to remove.
I also don’t enjoy much the amount of white space people leave horizontally, mostly due to my 30" screen. I always have three coding windows side-by-side, and a 120 character limit helps a lot keeping things sane.
The only thing that annoys me is people leaving code commented out. I tend to aggressively remove stuff that ought to not be there. That is, after all, why we have source control.
But to be frank, how the text is written is rarely the main problem. I have a lot more pet peeves in object-oriented design, TDD, architecture and code quality than I do in the actual formatting of code.
How did you get started programming?
The first computer I owned was an Atari 1024 ST with BASIC on it, when I was 7. I tried and failed at coding on it. I was much more interested in games, watching the telly and going to the beach with my friends.
Offline communities have changed my coding style, architectural understandings and opinions on the software industry massively. Nothing can replace the talks you attend or give, the interactions with other developers and the constant feedback you get from attending those events. I was always opiniated, but the interaction with other developers gave me a completely different perspective on what software development ought to be.
I am, of course, on Twitter, which I resisted for a long time, due mainly to laziness. You can find me at @serialseb, usually in discussions about ReST archtiectures, .NET and OSS development. I have a few projects on github where I spend most of my available time committing code.
All my OSS projects have also moved their support to StackOverflow, so that’s where I spend what time I have left.
What advice would you offer to an up-and-coming programmer?
Find a Jedi Master to teach you and hang around as long as you can, learn as much as you can. Code, code and when you’re done, code some more. It’s only once you’ve been through a couple of complex projects with the guidance of others that you’ll really become proficient. And never forget that at every step of your career, you’ll always have new Jedi Masters to hang out with, so embrace all opportunities.
Like everything else in life, learn to be critical of the world around you. Your vendor is there to sell you their products, not to make you better developers. Embrace the fact and don’t let yourself become a slave to marketing. It’s the same in all industries but it’s an important part of being a great developer.