David is currently available for full-time or contract work in New Zealand.
PROFESSIONAL SKILLS:
Experience in all aspects of the SDLC
Project management / agile development
Fluent in English, Spanish and Portuguese
Deep understanding of networks and security
Database design and technology (once a DBA)
Expert in Java and C++ (used to teach them both)
Many years of software engineering in diverse settings
Highly tuned UML modeling and business-analysis skills
Authored a university course in practical object-oriented design
Excellent communication skills across the entire business spectrum
Software design since 1980, from BASIC to enterprise architecture
Considerable training and mentoring experience in diverse technologies
This too: Math, AI, SOA, EAI, Ajax, Web2, CORBA, Spring, EJB3, Linux, VMware
WORK EXPERIENCE:
Software
Federation, Inc. ( SFI )
/ Boulder, Colorado
Co-Founder, Senior Partner & (previously) Treasurer
: 1997 - Present (currently inactive)
Consultant for numerous clients in the USA, described below as SFI Client.
Jade Software Corporation Ltd. / Christchurch, New Zealand
Delivery Manager New Zealand : 8/2008 - 9/2009
Managed numerous project teams.
Introduced Scrum (agile development) as certified Scrum-master.
Member of the project board (ala Prince2) for Methodware's Enterprise Risk Assessor (Web2, SOA, Microsoft .NET).
Java architect in a part-time consulting role for Arc Innovations (owned by Meridian Energy) on the Advanced Metering Infrastructure programme (Spring, ESB, Tomcat, IBM MQ). David taught Java, conducted design / code reviews, did some OO design, and helped coordinate the efforts of multiple Scrum teams.
Sabbatical - World Tour / International Holidays
SFI
Client: Xilinx, Inc. / Longmont, Colorado
Consultant :
11/2006 - 2/2007
Successfully introduced VMware virtualization technology to Xilinx's Computer Farm Services group (network and system administration with Solaris).
Latis
Networks, Inc. (StillSecure) / Superior, Colorado
Director
of Product Engineering : 5/2006 - 11/2006
Led the engineering and project management for the Cobia Unified Network Platform, a modular Web2 application designed to integrate open-source network and security services (router, firewall, DNS, DHCP, with more modules planned). David brainstormed requirements with project stakeholders, recruited team members, designed the system architecture, and coded the core infrastructure. This was a technologically rich project (Java EE 5, Hibernate, JBoss, JSF, Linux, Ajax, VMware, PostgresSQL, Eclipse, SVN, Apache Ant, Python).
SFI
Client: National Center for Atmospheric Research (NCAR / UCAR)
/ Boulder, Colorado
Consultant : 2/1997 - 7/2003
Recipient of NCAR / UCAR's Outstanding Accomplishment Award for Scientific & Technical Advancement - for the very successful 4DWX project:
(2001 - 2003) Software Development Engineering Lead for the Four Dimensional Weather Engineering Group (4DWX); we built a comprehensive suite of state-of-the-art tools for meteorologists. David was responsible for the redesign of this large and important system, to make it both scalable and modular. This included turning a data-service API into a bona-fide data server on its own hardware node, refactoring several applications to incorporate new design patterns (eXtreme Programming), and giving high-profile client presentations. Lots of mentoring! David also reused his own Custom Query Tool (Java Swing) to make it easy to interrogate the MySQL database.
(1998) Primary consultant for an enterprise-wide business process re-engineering effort, creating UML analysis models that were used to identify operational inefficiencies.
(1997 - 2001) Designed, developed and delivered courses in Object-Oriented Design & Java.
(1997) Invited lecturer on Commercial Middleware for a Workshop on IT Strategy.
University
of Colorado (CU) / Boulder, Colorado
Department
of Computer Science - Faculty - Lecturer : 1999 - 2002
Course author for CSCI 4448: Object-Oriented Programming & Design.
Topics include: OO analysis & design, UML modeling, design patterns, Java & C++, databases, XML, distributed architectures, EJB3, and (agile) project management.
Click HERE to view the Course Materials as PDF files. Why buy a textbook?
Click HERE to see how students rated the course (green is good :-).
Guest lectures for ECEN 5053: Software Engineering of Distributed Systems.
Here's a fun example: create your own Fractal Art.
SFI
Client: Interactive Gaming & Wagering N. V.
/ Willemstad, Curacao, N. A.
Consultant
: 1999 - 2000
Designed Java applets (as well as the corresponding server-side infrastructure) that played casino games for real money (Java, SQL Server, Windows NT). David implemented the direct-manipulation graphical user interfaces in Java 1.02 for browser compatibility.
SFI
Client: Level (3) Communications, Inc. / Broomfield,
Colorado
Consultant : 1998 - 1999
Developed a 'universal inventory database' (Java, CORBA, Oracle, Vitria, UNIX).
SFI
Client: Avitek Inc. (acquired by BEA Systems) /
Boulder, Colorado
Consultant :
1998
Development of middleware for a 3-tier call-center application (Java, WebLogic, TOPLink, Oracle).
SFI
Client: Janus International Holding Company / Denver,
Colorado
Consultant : 1998
Responsible for training & mentoring Janus' staff in Object Technology & Project Management by teaching classes & working on several projects (Java, C++).
SFI
Client: Lucent Technologies (Microelectronics Group) /
Boulder, Colorado
Consultant :
1997 - 1998
Redesigned & implemented the manual router for Lucent's Field Programmable Gate Array CAD editor (C++, UNIX).
SFI
Client: DirecTouch, Inc. / Broomfield, Colorado
Consultant : 1997
Analyzed and designed the start-up company's product (Java, Gemstone/J).
Planned staffing & scheduling with the company's CEO.
Storage
Technology Corp. (StorageTek) / Louisville, Colorado
Consultant : 1997
Implemented the user interface for a marketing tool (C++, XVT, Windows, Macintosh).
University
of Colorado (CU) / Boulder, Colorado
Division
of Continuing Education - Instructor : 1997 - 1998
Instructor for the Intermediate & Advanced C++ Programming courses.
Instructor for the Object-Oriented Design Patterns course.
Bolder
Heuristics, Inc. ( BHI )
/ Boulder, Colorado
Senior
Engineer : 1993 - 1996
Worked on various projects, described below.
Helped design internal software engineering processes.
BHI Client: Storage Technology Corp. (StorageTek) : 1996
Architecture consultant for a large strategic software project.
Taught classes in object-orientation & relational-database design.
BHI Client: Health Decisions LLC. (7 x 24 hr. Health Care Call Center) : 1995 - 1996
Responsible for all aspects of database development, including: determining the business requirements, system architecture, designing the object-oriented software, object & data modeling, implementation, documentation, deployment, database administration (as the DBA), performance tuning, & writing SQL stored procedures (SYBASE, Windows NT).
Managed the Data Layer and Data Load sub-projects (Visual C++).
Taught nurses how to query the data warehouse with SQL.
BHI Client: USWest (Knowledge-Base Group) : 1994 - 1995
Played a major role in a business process re-engineering effort.
Responsible for the interface between the Knowledge-Base & Corporate Database Groups, including C++ mentoring & the supervision of two other contractors (C++, Prolog, UNIX).
BHI Client: MIS, Inc. (Financial Portfolio Management Software Company) : 1994
As Data Layer Team Lead, designed a framework including Bob, the crucial component that managed object lifecycles and controlled transactions (C++, Windows). This was David's first project implemented with rigorous unit testing.
BHI Client: Itron, Inc. (Utility Metering Technology Company) : 1993 - 1994
Designed and implemented an application framework (C++, XVT, UNIX).
NeoCAD,
Inc. (now Xilinx) / Boulder, Colorado
Consultant : 1992
Used fuzzy logic for optimization of the Field Programmable Gate Array CAD partitioner (C++, UNIX).
Carnegie
Mellon University (CLARIT project) / Pittsburgh,
Pennsylvania
Software Engineer (part time, as
CMU graduate student) : 1990 - 1992
Wrote Lisp for doing linguistic analysis of text to determine the concepts expressed within.
Japan
Marketing Data Systems, Inc. / Tokyo, Japan
Consultant : 1990
Wrote C utilities to convert between various Japanese multi-byte character formats.
Daisy/Cadnetix,
Inc. / Boulder, Colorado
Software
Engineer : 1987 - 1989
Developed the printed circuit board CAD router (C, Pascal, UNIX, microcode).
Gould
Electronix, Inc. / Cleveland, Ohio
Engineering
Co-op (as Cornell undergraduate) : Summers of 1985, 1986
Various small projects (FORTRAN, UNIX, Mentor Graphics CAE circuit simulations).
Fabri-Centers
of America, Inc. / Cleveland, Ohio
Consultant (as Cornell freshman during holidays) :
December 1983, Summer 1984
David began his career by designing and implementing a system to automate a warehouse shipping and receiving office (a successful solo effort in DBASE II and DOS on an IBM PC).
EDUCATION:
M.S.
in Computational Linguistics, Carnegie Mellon University
Pittsburgh, Pennsylvania : May 1992
Artificial Intelligence & Linguistics, applied to machine understanding of natural languages (Lisp & Prolog).
B.S.
in Electrical Engineering, Cornell University"With Distinction"
Ithaca, New York
: May 1987
Graduate-level work in computer hardware architectures and semiconductor (quantum) physics.
The Mercersburg Academy (High School "Cum Laude" and "High Honors"
Began programming in TRS-80 BASIC in 1980.
Won prizes in Mathematics and Spanish.
SYBASE - David sat 3 five-day courses in database administration in 1994.
NATURAL LANGUAGES:
English - Native.
Portuguese - Fluent (Brazilian wife plus extensive travel, with translation experience).
Spanish - Fluent (extensive studies plus extensive travel).
French - Conversational (some classes plus some travel).
Japanese - Basics (studies and travel but a long time ago).
Alaska, Argentina, Austria, Belize, Bolivia, Brazil, Cambodia, Canada, Chile, China, Colombia, Costa Rica, Curacao, Czech Republic, Denmark, Ecuador, Egypt, El Salvador, England, Ethiopia, Fiji, France, Germany, Guatemala, Hawaii, Holland, Honduras, Hong Kong, India, Indonesia, Israel, Italy, Jamaica, Japan, Jordan, Laos, Lesotho, Macao, Malawi, Malaysia, Mexico, Mozambique, Morocco, Nepal, New Zealand, Nicaragua, Palestine, Panama, Peru, Philippines, Portugal, Puerto Rico, Russia, Rwanda, South Africa, Spain, Swaziland, Switzerland, Tanzania, Thailand, Trinidad and Tobago, USA, Vatican City, Venezuela, Vietnam, Yukon, Zanzibar.