I am a research software engineer with over 20 years of experience developing complex programs primarily in computer, engineering, and science laboratories at all technology levels (hardware, applications, servers, and databases). I have written code in many types of languages, have designed and built many types of systems (e.g., language compilers, GUIs, intelligent tutoring systems, machine learning algorithms, new types of databases, and authoring tools), and have decades of experience writing solid object-oriented programs. I have introduced dozens of programmers to agile development (Extreme Programming) including practices like pair programming, test-driven development, and planning.