Jeff Langr

Senior Consultant

Jeff Langr is a software development veteran with over a third century of experience. He has been helping teams improve their ability to deliver quality software, through consulting and training, since 2000. In order to stay current and relevant as a consultant, Jeff has intermittently embedded in software teams as a developer for extended durations. Jeff has written five books on software development (with three books focusing on test-driven development and three on Java) and over 100 articles.

Jeff currently resides in Colorado Springs, Colorado. He loves software development, but somehow manages to find time to bike and hike with his wife. He is also heavily interested in disc golf, guitar, music, and reading.

Jeff is wrapping up an engagement as a remote developer at Outpace Systems, an agile startup building offer management and analaytics tools. Some previous relevant contracts:

  • Grange Insurance in Columbus, OH. Helped a half-dozen teams cohere and streamline their delivery processes, with a focus on improving their story and acceptance test definition.
  • VirtualHold in Akron, OH. Helped a number of teams improve their ability to test-drive software, control their legacy codebase, and improve their "specification by example" testing.
  • Progressive in Cleveland, OH. Delivered numerous training classes on automating tests via Fitnesse.
  • Cisco in San Jose, CA. Delivered training on TDD and continuous design.

Jeff has worked in Java for perhaps ten years, C++ for several years, Clojure for over two years, C# for over two years, Smalltalk for three years, and C for three years. He also has bits of experience in Ruby, Python, Javascript, Coffeescript, and a number of other languages. He's worked with a number of database technologies, including postgres, ElasticSearch, Oracle, MySQL, MongoDB, Redis, and DB/2.

  • AgileDC 2012
  • Marion Correctional Institution Tech Conference, 2010. Keynote speaker
  • Agile2007
  • World Congress for Business Analysts, 2007
  • Agile Developers Conference, 2004
  • OOPSLA, 2001
  • SD East, 2001
  • numerous local user group meeting presentations
  • Pragmatic Unit Testing in Java 8 with JUnit (Pragmatic Bookshelf, 2015). A near-complete overhaul of Andy Hunt/Dave Thomas's 2003 entry-level book on unit testing.
  • Modern C++ Programming with Test-Driven Development (Pragmatic Bookshelf, 2013). A test-driven approach to C++ development.
  • Agile in a Flash (Pragmatic Bookshelf, 2011), with Tim Ottinger. A deck of agile "flash" cards that act as great aids for agile team members and coaches.
  • Clean Code (Prentice Hall PTR, 2008). Contributed two chapters (on clean classes and emergent design) to Uncle Bob's bestselling book on code design.
  • Agile Java (Prentice Hall PTR, 2005). Teaches Java programming, OO, and TDD, all in one fell swoop.
  • Essential Java Style (Prentice Hall PTR, 1999). A style guide for Java programming, patterned after Kent Beck's Smalltalk Best Practice Patterns.
  • Articles: See http://langrsoft.com/index.php/resources/published-articles for a list of 100+ articles. Most articles are published at sites or old-school print magazines that include PragPub, Software Development magazine, Developer.com, InformIT, and C/C++ Users Journal.
  • See also http://agileinaflash.blogspot.com/, http://langrsoft.com/jeff/, and http://langrsoft.com/blog/blog.shtml for numerous blog entries.

Experience

Jeff is wrapping up an engagement as a remote developer at Outpace Systems, an agile startup building offer management and analaytics tools. Some previous relevant contracts:

  • Grange Insurance in Columbus, OH. Helped a half-dozen teams cohere and streamline their delivery processes, with a focus on improving their story and acceptance test definition.
  • VirtualHold in Akron, OH. Helped a number of teams improve their ability to test-drive software, control their legacy codebase, and improve their "specification by example" testing.
  • Progressive in Cleveland, OH. Delivered numerous training classes on automating tests via Fitnesse.
  • Cisco in San Jose, CA. Delivered training on TDD and continuous design.

Jeff has worked in Java for perhaps ten years, C++ for several years, Clojure for over two years, C# for over two years, Smalltalk for three years, and C for three years. He also has bits of experience in Ruby, Python, Javascript, Coffeescript, and a number of other languages. He's worked with a number of database technologies, including postgres, ElasticSearch, Oracle, MySQL, MongoDB, Redis, and DB/2.

Speeches

  • AgileDC 2012
  • Marion Correctional Institution Tech Conference, 2010. Keynote speaker
  • Agile2007
  • World Congress for Business Analysts, 2007
  • Agile Developers Conference, 2004
  • OOPSLA, 2001
  • SD East, 2001
  • numerous local user group meeting presentations

Publications

  • Pragmatic Unit Testing in Java 8 with JUnit (Pragmatic Bookshelf, 2015). A near-complete overhaul of Andy Hunt/Dave Thomas's 2003 entry-level book on unit testing.
  • Modern C++ Programming with Test-Driven Development (Pragmatic Bookshelf, 2013). A test-driven approach to C++ development.
  • Agile in a Flash (Pragmatic Bookshelf, 2011), with Tim Ottinger. A deck of agile "flash" cards that act as great aids for agile team members and coaches.
  • Clean Code (Prentice Hall PTR, 2008). Contributed two chapters (on clean classes and emergent design) to Uncle Bob's bestselling book on code design.
  • Agile Java (Prentice Hall PTR, 2005). Teaches Java programming, OO, and TDD, all in one fell swoop.
  • Essential Java Style (Prentice Hall PTR, 1999). A style guide for Java programming, patterned after Kent Beck's Smalltalk Best Practice Patterns.
  • Articles: See http://langrsoft.com/index.php/resources/published-articles for a list of 100+ articles. Most articles are published at sites or old-school print magazines that include PragPub, Software Development magazine, Developer.com, InformIT, and C/C++ Users Journal.
  • See also http://agileinaflash.blogspot.com/, http://langrsoft.com/jeff/, and http://langrsoft.com/blog/blog.shtml for numerous blog entries.