Eric Dobbs

eric@dobbse.net

Boulder, Colorado

PDF version

Objective

Excited to join or lead a team revolutionizing education through technology. Particularly interested in challenging lead software development work, 3D geometry, agile programming, open source, lisp, perl, python, LAPP, LAMP, BAPP, or BAMP.

Summary of Strengths

Consultant

bivio Software, Inc.

January 2004 to May 2010

Impact

Changed the company culture: Testing became a core value. Extended internal unit testing framework to simplify testing core business logic. Number of test files grew from 85 to 585 or 20% to 60% coverage.

Drove successful adoption of XHTML and CSS for something, and wikis and blogs for content mangagement, both internally and for bivio's customers.

Learning

In order to Build a python interface to a C++ scientific visualization toolkit, learned on demand the toolkit's API, C++, Qt, PyQt, OpenGL, PyOpenGL, NumPy, python distuitls, SIP, and GNU autotools.

Kept pace with bOP, an extremely complex and abstract web framework under continual evolution: The framework grew from 390 classes to 900+ through 720 releases with a median days-between-release of 1.

Teaching

Trained programmers with wildly diverse levels of experience from high-school student interns with no previous programming experience to veteran C++ and Java developers with decades of experience.

Trained customer support staff in investment club accounting software, managing customer expectations, and in the use of CRM systems. Most of the training was by teleconference or online via WebEx or GoToMeeting.

Lead a three-day bOP training course for a client's entire development team whose programming skills ranged from systems administrators to senior embeded systems programmers. Also created the overall training plan and most of the supporting documentation. Received strong positive feedback from all participants.

Client Impact

Saved face for the company when the president forgot a meeting with the biggest client. Took his place offering valuable contributions around complex design and security issues. Client was seriously impressed with my ability to step in unprepared and to turn a potential train wreck into a productive meeting.

Complexity

Maintained and extended applications in diverse and complex domains including a state-wide insurance accounting system, a non-profit grant application system, a formal balloting system for industry standards, an alumni association membership system, and an investment club tax accounting system.

Aikido Instructor

University of Colorado Recreation Center

August 2005 to Present

Impact

Three students gave direct feedback that my teaching changed their lives.

Increased typical class enrollment by 50%. Inspired many students to join Boulder Aikikai.

Independent Contractor

Microcomputer Training Specialists

March 2003 to December 2003

Impact

Coached the developers of the City and County of Denver's Wastewater Management Division building an internal J2EE web application. Previous failures to replace or repair the legacy system made the project particularly high-risk. Delivered a replacement system to production in nine months.

Methodology

Demonstrated agile development values (communication, simplicity, feedback, and courage) and practices (small releases, simple design, test-driven code, refactoring, collective ownership, coding standards).

Developed automated acceptance tests in close communication with the users. 75% of internal code was written test-first.

Senior Software Engineer

PlanetCAD Inc.

July 2000 to September 2002

Impact

Delivered three major releases precisely on schedule. Customers were very impressed by the features added in each release.

Designed extensible workflow engine to manage automated processing of complex transformations of engineering data.

Leadership

Promoted to Lead Developer after only four months. Acting Development Manager for eight months. Cultivated a very cohesive development team despite strikingly different personalities and significant turnover among executives and management.

Worked with company officers to influence PlanetCAD's technical direction. Conducted formal and informal presentations and meetings. Gave detailed benefit and risk analyses of three Java web application frameworks.

Led design meetings. Negotiated product requirements and development schedule. Summarized key differences of opinion. Resolved disagreements. Built consensus. Balanced maintenance of existing features with new development under tight deadlines.

Learning

Learned PHP, Java and Python on demand. Ported an online CAD translation service from PHP to Java.

Proactively extended Java and OOD skills. Independently studied design patterns, refactoring, unit testing, development processes, open source projects, UML, Java security, JMS, and object-relational modeling.

Methodology

Championed the adoption of Agile development practices including XP's Planning Game for scope-centered scheduling, automated unit testing, acceptance testing, refactoring, short release cycles, and collective ownership.

Applied design patterns including Composite, Facade, Factory, Flyweight, Model-View-Controller, Singleton, and State.

Coaching

Introduced colleagues to the use of version control in web development, UML, use-case based analysis, JSP tag libraries, and design patterns.

PathFinder Architect

VisionLink, Inc.

July 1997 to March 2000

Impact

Developed and managed VisionLink's flagship product and all client support. Carried PathFinder into the de facto standard in school-to-career data systems.

Development

Released five versions of PathFinder; each version involved a six month cycle and included all phases of development from feature request to release and ongoing support.

Engineered and implemented the transition from remotely managed installations to an application service provider (ASP) model which has thrived despite the .COM crash.

Communication

Mediated interactions between clients and their ISPs. Facilitated discussions to solicit new features from clients. Led seminars on network security. Delivered presentations to audiences of up to 90 people. Provided technical support by phone.

InterAct Manager

Clark County Public Education Foundation

August 1994 to July 1997

Impact

Transformed InterAct from a pilot project BBS with seven desktop modems into a production ISP for the school district with seven T1 lines.

Leadership

Supervised an office of two full-time technicians and three student interns. Mentored staff in their professional development. Delegated responsibility with authority, conducted interviews, addressed disciplinary issues as necessary, and accepted direction from and reported progress to supervisors.

Competed with the District Information Systems Division in the deployment of wide area network sites; with only two field technicians we matched the number of remote sites and surpassed the support for those schools we connected.

Network design

Collaborated in the design of a wide-area network encompassing the entire Las Vegas valley and beyond. As of July 2000, that design was still in use connecting 250 sites across 7,910 square miles, including 234 schools, supporting 217,000 students, and more than 15,000 educators.

Customer support

Supported a complex mix of customers including teachers, students, principals, parents, administrators, school board members, existing and potential donors to the foundation, and the superintendent.

Research Assistant

University of Toronto, University of Siena

August 1990 to May 1991 and January 1992 to June 1992

Illustration and animation

Created unique visual aids for education and research. Illustrated fundamental concepts and created original animated analyses of pivotal diagrams of Renaissance perspective by Alberti, Leonardo da Vinci, Piero della Francesca and others.

Second Degree Black Belt

Aikido Schools of Ueshiba

November 2005

Bachelor's Degree of Environmental Design with emphasis on computer methods in design

College of Architecture and Planning, University of Colorado at Boulder

May 1994

Technical Skills

(aka. buzzword compliance ;-)

Languages
  • Perl
  • Python
  • JavaScript
  • Java
  • C++
  • SQL
  • AutoLISP
  • AppleScript
  • PHP
  • bash
  • DOS batch files
  • a little Common Lisp
Markup
  • XHTML
  • HTML
  • DHTML
  • XML
  • CSS
Web frameworks
  • bOP
  • Struts
  • Turbine
  • a little Django
  • CGI (the simplest framework that can possibly work ;-)
Databases
  • PostgreSQL
  • Oracle
  • MySQL
  • Access
  • FileMaker Pro
Practices
  • Test-driven development
  • Don't repeat yourself
  • OOA/OOD
  • Design patterns
  • Stories
  • Planning game
  • Small releases
  • Simple design
  • Refactoring
  • Collective ownership
  • Frequent integration
  • Coding standards
Operating Systems
  • MacOS X
  • Linux
  • Windows XP, 2000, NT, 98, 95, 3.x
  • MacOS 6-9
Networking
  • TCP/IP routing, addressing, subnetting
  • NAT
  • DNS
  • firewalls
  • proxy servers
  • routers
  • ethernet hubs and switches
  • modem banks
  • file and print servers
  • network printers
  • cabling
Graphic design
  • image scanning
  • digital photography
  • image processing
  • illustration
  • page layout
  • 3D modeling
  • rendering
  • animation