Who are you?
I am Lynn Langit, I live in Orange County, CA. I work all over the world — about 50% from home and 50% on site. I've been doing quite a bit of work in Europe this year.
After 4 years as a Developer Evangelist for Microsoft, I recently left to get back into contract production development work and technical education. My first contract is with DevelopMentor. I am writing the SQL Server courseware and teaching for them. At the moment I am writing a course based on my second book, "Smart Business Intelligence Solutions with Microsoft SQL Server 2008". I will soon be working on courseware for SQL Server 2012.
I am quite interested in the shift in data towards the cloud, NoSQL and open source. Specifically, I am learning to work with Hadoop using Hive and MapReduce. I plan to take production work in this space in 2012.
I am also the co-founder of a new non-profit called Teaching Kids Programming. My volunteer group has been teaching kids, ages 10 and up, to program in 15 US states and 10 foreign countries for the past 3 years. We've published our courseware, teaching methods (which are based on Agile practices) and teacher-training videos. All materials are FREE. Our idea is to get developers and school teachers to collaborate.
What projects have you worked on?
While at Microsoft for that past 18 months I worked closely with the SQL Azure team. I spoke on SQL Azure over 50 times all over the world in 2010 and in 2011. I got a very good sense of cloud computing in general from this work. I wrote demo samples for TechEd, TechReady (internal Microsoft conference), SQL Pass Summit and more. One example is published on Codeplex. Prior to working at Microsoft I ran my own development shop for many years.
I also worked on the Teaching Kids Programming project described earlier. My co-founder, Llewellyn Falco, and I wrote extensions to the Microsoft Small Basic language in C#, and that's also published on Codeplex. Our courseware depends on these extensions. They include creating new objects, renaming current objects, referencing existing .NET objects and adding kid-friendly object documentation. Our idea was to make the language fun for kids. Also, we used Agile methods to write this code, these included pair programming, TDD and more.
I have also been volunteering on the SmartCare Electronic Medical Records project in Lusaka, Zambia for 5 years. I generally go to Zambia once per year (taking vacation time). While there I provide technical training to the developer, DBA or analyst teams as well as pair with team members on current coding projects for the application. For example, I taught the dev team how to use DotNetNuke two years ago and they put up the external SmartCare site after that.
What is your development environment?
My laptop is a MacBook Air running both the Mac OS and Windows 7 using Bootcamp. I love it! Because I no longer work for Microsoft, I'll probably switch to using VMs via VMWare to run Windows instances the Mac OS.
My ‘second' laptop is an Amazon EC2 instance. I really love using an on-demand instance for projects, recently I used the AWS community instance with Denali (SQL Server 2012) on it, great stuff. Of course I have SQL Server 2008 R2 with all of it's components, such as SSAS, SSIS, SSRS. The latest thing I've installed is a local instance of Hadoop and the connector for Excel to Hadoop.
Coming out of Microsoft, I still tend to use Visual Studio 2010 and C# as my primary development environment. I am a big fan of Productivity Power Tools. I also really like the Entity Framework Power Tools. The latest tools I've added are the AWS Toolkit for Visual Studio. I do like hardcore tools as well, such as ILDasm.
I have also gained a decent amount of fluency in Java due to my cloud work in the non-Microsoft community over the past year, and we did a port of the Teaching Kids Programming stuff to Java. I use Eclipse for Java development. I also use the open source library Approval Tests when writing new code because it makes implementing TDD much easier.
On the other hand, Bart de Smet has been doing very interesting work over the past few years. In fact, Llewellyn and I collaborated with him to produce a kind of code-based tutorial for his Rx (Reactive) Extensions Library. We published this as Rx Koans on CodePlex.
What is your coding pet peeve?
My coding pet peeve is cleverness. Complexity for complexity's sake is a big problem in the coding world.
I know you asked for one thing, but I am going to give you another one: being silo'ed. What I mean by this is that I see all the time that developers are stuck in their particular language and toolset. If every developer would learn ONE new language, the world would be a better place. By the way, these languages could include data access or manipulation languages such as T-SQL, PL-SQL, HQL, R, etc. ...
How did you get started programming?
The first programmable device I had was a Psion, then a Dell laptop (which was huge). I also had one of the original Motorola flip phones. I've always been a gadget geek.
On Twitter #SQLHelp is wonderful. In general, the SQL Server community is fantastic — both in person and in social media, particularly on Twitter.
It is interesting to note that I feel most welcome as a woman coder in the SQL and in the Agile communities. Not surprisingly, there are also usually other women in those communities. Unfortunately, I am sometimes the only women in the room in C#, Java and similar technical gatherings. We seem to have a particular challenge in the US and in Europe with a perception problem about technical women. This is one of the reasons I started Teaching Kids Programming. I have a woman developer friend from Turkey who I met at a US user group. She told me that 50% of the developers in Turkey are women.
For on-line community I use (in order of use), Twitter, Facebook, Google+, GoogleReader, YouTube, SlideShare, and LinkedIn. It is also my personal goal to travel to and work in every continent on earth within the next 3-4 years. On my list to go to next are India and China.
What advice would you offer to an up-and-coming programmer?
Be curious AND fearless — try things out and ask questions.