About Me

I’ve been programming since 1980, my junior year in high school, and professionally since 1982 (I worked at the University of Maryland while pursuing my BS in computer science). I transitioned from programmer to consultant in 2000, when I had the joy of working for Bob Martin and occasionally alongside some great folks at Object Mentor.

I started Langr Software Solutions in 2003 to provide consulting and training solutions related to Agile software development. Much of my work is either pairing with developers doing TDD or teaching it. I insist on alternating between consulting/training and being a “real” programmer on a real development team so that I stay up-to-date and relevant. Since 2002, I have been a full-time programmer in four different companies for significant durations.

I love writing about software development. It’s part of how I learn things in depth, but I also enjoy helping others come up to speed on building quality code. This is my fourth book. I wrote Essential Java Style: Patterns for Implementation [Lan99] and Agile Java: Crafting Code With Test-Driven Development [Lan05], and I co-wrote Agile in a Flash [OL11] with Tim Ottinger. I also contributed a couple chapters to Uncle Bob’s Clean Code: A Handbook of Agile Software Craftsmanship [Mar08]. I’ve written more than a hundred articles published at sites other than mine. I write regularly for my own blog (at http://langrsoft.com/jeff) and have written or contributed to more than a hundred blog entries for the Agile in a Flash project at http://agileinaflash.com.

In addition to C++, I’ve programmed in several other languages extensively: Java, Smalltalk, C, C#, and Pascal, plus one other that shall remain unmentioned. I’m currently learning Erlang and can code enough Python and Ruby to survive. I’ve played with at least another dozen or so languages to see what they were like (or to support some short-lived effort).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.163.62