About Me
I am a software developer who is passionate about building and helping others build great software. I’m a practitioner of Extreme Programming and Agile development methodologies, and am especially interested in Test Driven Development and design. Most of my language experience is with Java and Ruby, though recently I’m particularly interested in Scala. I’ve also written a fair amount about testing Google Web Toolkit applications.
I am the Director of Technology at Cyrus Innovation in New York, where I’ve developed software and instructed teams in agile development practices. I’ve written articles about the software development process for Better Software magazine and blogged for about a year at StickyMinds.com. My project experience has included products in education, finance, telecommunications, and manufacturing industries.
For a brief period of my life, I worked as an audio engineer recording audio books in New York. I’m a music enthusiast and play the guitar for fun.
Writing
Publications
- "Alternative JVM Languages for Java Projects" in the September/October 2011 issue of Better Software Magazine.
- "An Introduction to Scala" in the November/December 2009 issue of Better Software magazine.
- “What to Expect When You’re Automating Testing” in the May/June 2009 issue of Better Software magazine
- “Google Web Toolkit: Writing Ajax Applications Test-First” in the November 2008 issue of Better Software magazine. This article was adapted by the GWT team and included in the project's resources page.
- “Google Web Toolkit: Your Shortcut to Ajax Web Applications” in the October 2008 issue of Better Software magazine
Blogs
I keep a blog about software development practices and technologies. I wrote regularly for around a year about software development topics on the StickyMinds.com blogs. Here are some of the more popular entries:
- "Real Life Tron on an Apple IIgs”, which was #1 on programming.reddit.com for a day
- More thoughts on Scala's Option class
- "Writing Rails Integration Tests with Webrat" (This article covers out out-of-date version of Webrat)
- "Mocking GWT Widgets with GWTMockUtilities"
- "Don't Debug Selenium Test Failures Blindly" from the Sticky Minds Blogs, which was featured in InfoQ
Code
I am the author of Bane, a test harness used to test your application's interaction with other servers. It is based upon the material from Michael Nygard's "Release It!" book as described in the "Test Harness" chapter.
Speaking
I speak to teams about software development issues with an emphasis on the technical practices and tools. Some of the topics include Test-Driven Development, Refactoring, Object-Oriented Design, Mock Objects, GWT, and Ruby on Rails. I have given these talks to developers at organizations such as Charles Schwab, Kaplan, and Skarven Enterprises, a Boeing company.
Agile 2009 Presentation
I co-presented "Agile AJAX: The Google Web Toolkit Experience" at the Agile 2009 conference with Paul Infield-Harm. This session introduced GWT and how it could be used in a team following agile development practices. Attendee feedback was very positive, with consistent scores of four or five (out of a maximum of five) on the feedback form.
The session description, slides, sample code, and additional notes are available online.