Benjamin Northrop

Summary of Qualifications

10 years experience in designing and developing software applications on over 25 different engagements, focused primarily on enterprise-scale J2EE systems and components. Proficient with concepts and techniques of OOA, OOD, AOP, Design Patterns, and agile development processes like XP and Scrum. Interested in making software not just functional, but usable; administered and coordinated usability tests on 3 different engagements. Enjoys challenges, thrives in teams, hard worker, dedicated to quality work, excellent communicator, and strong writing skills.

Professional Experience

Summa

Jul 2007 - Apr 2009 Senior Technical Consultant Pittsburgh, PA
Financial Client Telecom Client

SDLC Partners

Feb 2005 - Jun 2007 Senior Consultant Pittsburgh, PA
Media Client Manufacturing Client

Carnegie Mellon University Apr 2004 - Jan 2005

Research Programmer Pittsburgh, PA

Straightline

Jun 2002 - Dec 2003 Java Developer Pittsburgh, PA

Ciber

Jun 2001 - May 2002 Consultant Pittsburgh, PA Internal Transtar

Adclip Corporation

Jan 2000 - May 2001 Programmer New York, NY

Education

Carnegie Mellon University Pittsburgh, PA Aug 1995 - May 1999 Bachelor of Science in Information and Decision Systems, , 3.67 QPA (4.00 scale) Carnegie Mellon University Pittsburgh, PA Aug 2004 - Apr 2009 Masters of Science in Philosophy (Logic and Computation), Intended Thesis: “Proofs, Pictures, and Euclid – a Theorem Prover for Euclidean Geometry”

Certifications

Sun certified Programmer for the Java 2 platform Sun certified Web Component Developer Brain Bench certified Object Oriented Concepts IBM Rational Unified Process 7.0

Side Projects

Open Source Contributions

Publications

Is it Irrational to Comment your Code?, Blog : We know we should comment code, but will we? Game Theory's Prisoner's Dilemma says, "probably not". 7 Strategies for Unit Testing DAOs and other Database Code, Blog : Creating repeatably passing unit tests for an enterprise application is hard work, mostly because of the reliance on volatile data. Here are 7 common approaches for testing database code.