| Skills |
|
30 years of software development in scientific, robotic, and web services applications, with an emphasis on "whole systems" design.
- Extensive experience in building web services, from "build it all yourself in C" (1995) through modern J2EE web application servers.
- Agile developer proficient in TDD.
- Unix expert, all flavors.
- Experienced small group team leader, in entrepreneur and "intrapreneur" roles.
- Long history of leading "best practices" culture change in organizations.
- Excellent writer, with a passion for context -- the missing ingredient in most technical documentation.
(See thedance.net/writing.)
- Extensive mathematical background and education.
- Familiar with intellectual property and contract law.
|
| Tools |
|
Java 6, J2EE, Struts, JSP, ZK,
JBoss, Eclipse, JUnit, EasyMock.
C, Python, unix shell, PHP.
MySQL, Oracle, PL/SQL. Ajax, DHTML, Javascript, HTML/xhtml, CSS. |
| |
| Professional Experience |
| 6/09 - present |
|
Agile Developer, Gale Research, Farmington Hills, MI
- Developer on "Career Transitions" project, a complete
national job-and-career search web application, as part of an Agile team.
Key technologies include Java 5, Spring, Tomcat, Liferay, jQuery, JUnit, Selenium.
- Developer on "Editorial Interface" project, a one-stop-shop
for editing all of Gale's online content.
Became an expert on the ZK UI-building framework.
Individually designed & developed "Argus",
a client-server configuration testing tool.
|
| 11/06 - 06/09 |
|
Senior Software Developer and System Manager
Q2Learning LLC, Falls Church, VA. (Telecommute)
- Secondary developer of J2EE /JBoss "eCampus" online corporate training / tracking / collaboration tool.
- "Best practices" manager, moved all development into subversion and Eclipse, enforced DRY principles & refactoring.
- Developed and implemented subversion-based customer software delivery tool.
- Developed SAML-based single-signon mechanism for the eCampus.
- Architect and sysadmin of SaaS network of Q2Learning servers, built failover and automatic monitoring and alert systems.
- Wrote all of Q2Learning's technical documentation, and MySqlDoc, a javadoc-like tool for MySQL.
|
| 6/06 - 11/06 |
|
Senior Software Developer MSC Software, Ann Arbor, MI
- Significantly extended Java layer of open-source "Jameleon" automated testing tool, to support AJAX and other dynamic Javascript.
- Wrote a variety of small Java apps to extend MSC's "SimManager" simulation manager web portal.
- Heavily customized SimManager portal pages (using Velocity, DVSL, Ant)
- Implemented internal "best practices & knowledge capture" portal, using TWiki.
|
| 11/03 - 6/06 |
|
Senior Software Developer and System Manager
Q2Learning LLC, Falls Church, VA. (Telecommute)
- Rebuilt and extended Q2's Caucus-based "eCampus" corporate training and teaming tool. Assisted with construction of Python/Zope and Java (JBoss) versions of same tool.
- Lead systems manager for Linux and Windows 2003 servers.
|
| 8/01 - 12/03 |
|
Senior Software Developer
Credit Acceptance Corp (CAC), Southfield MI
- Completely redesigned, rebuilt, and fully documented mission-critical tool to pull credit applicants' credit history from the major credit bureaus. Designed and built a web-based diagnostic monitor to graphically report on bureau "pulls" and system outages.
- Ongoing development of CAC's "CAPS" web portal, using PL/SQL, Java, DHTML, Oracle database and Oracle Portal services.
- Taught DHTML, unix shell-scripting, and security/encryption fundamentals to staff members.
|
| 8/01 - 6/06 |
|
Founder and Owner
Caucus.com, Ann Arbor MI
- Continued sales, support, and development of "Caucus" as an open-source, web-based forum & "eLearning" product, now as a sole proprietorship.
- Redesigned Caucus to use MySQL for data storage.
|
| 10/00 - 8/01 |
|
Senior Software Developer
Interactive Business Systems, Livonia MI
- Lead implementor of a complete B2B e-commerce website, including pricing, ordering, & order status, using IBM WebSphere (Net.Data and Java/JSP), Perl, and DB2, on Solaris.
(See www.danly.com.)
Designed and added additional tables to WebSphere database schema, built DHTML pages from embedded SQL queries, and otherwise heavily customized WebSphere. Acted as system manager for Solaris server.
- Implemented dynamic pages for a B2B information / catalog / calculation website for NSK, using DHTML and complex Javascript to write interactive pages on the fly from data produced by ASP/Jscript pages.
|
| 5/94 - 7/00 |
|
Project Leader, flagship "Caucus" product
Caucus Systems Inc, Arlington VA and Ann Arbor MI
- Led design and implementation of Caucus web-based computer collaboration product
(see www.caucus.com).
Designed web-scripting and database language "CML" that produces dynamic HTML and Javascript via persistent CGI.
- Ported Caucus and CML to Solaris, Linux, DEC Unix, HP-UX, AIX and other Unix flavors, and Windows NT, using C, gcc, Microsoft Visual C/C++, MKS, NutCracker, Adobe Photoshop, and InstallShield.
- Mastered HTML and Javascript compatibility across multiple versions of Internet Explorer and Netscape. Registered IE beta-tester.
- Built Java applets to extend Caucus user interface functionality.
- Wrote XML filters and DTD to publish data from Caucus events.
- Installed and administered multiple Linux and Windows/NT systems, along with Apache, IIS, Netscape, and other Web servers.
|
| Formal Education |
| 9/80 - 5/82 |
|
Work towards M.S. in Computer Science (21 of 32 credits, 3.8 GPA)
Wayne State University, Detroit MI.
|
| 9/73 - 5/77 |
|
B.S. in Computer Science, minors in mathematics and psychology, GPA ~ 3.2
Rensselaer Polytechnic Institute, Troy NY
Bachelor's Thesis project: fully functional chess program, USCF rating ~1000
|
| |
| Continuing Education |
| 5/06 |
|
Extreme Programming & Agile Development
Menlo Innovations, Ann Arbor MI (3 weeks) |
| 9/83 - 12/83 |
|
Fourier Analysis, University of Michigan |
| 1/79 - 5/79 |
|
Computer Hardware Design, Rensselaer Polytechnic Institute |
| |
Presentations and Publications
"Fundamentals of On-line Collaboration Tools", Linux "Geek Cruise",
thedance.net/olc, 2003
"Cross-browser CSS frame simulation",
thedance.net/FH, 2004
"How I learned to stop worrying and love the fork",
thedance.net/techblog, 2008
|
| |
Personal Interests
Parenting! Teach, call, and dance English Country and Contra- dancing; folk music; community theatre (acting, improv, set construction); kayaking; Society of Friends ("Quakers").
|
| |
Resume Formats
This resume is also available as a
stand-alone web page,
or an MS Word
document.
|