Joseph L. Mabel: Resume
jmabel@joemabel.com
Available only for short-term consulting
As of December 2020, I am semi-retired and available only for short-term consulting, mainly
in the areas listed immediately below as my skills/strengths.
I also remain available for a half-day or full day of "pair programming"
as a means of coaching a developer. I retain strong connections with IT and development
teams in Seattle and Bucharest.
I also remain an administrator and active participant on the English-language Wikipedia and on Wikimedia Commons (the
media repository related to Wikipedia)which may be relevant for some clients. I'm also on Wikidata, but not an admin there.
Skills/Strengths:
40 years in the software development industry,
both as a hands-on contributor and in management, both contract and
permanent.
Technical Personnel Management: Consensus-building,
team-building,
training and management of technical personnel up to and including
managers. Coordination between technical and
non-technical personnel.
Software Development: Specification, design,
programming,
debugging. Emphasis on data structures, object-oriented design, efficient
algorithms, flexible configuration, graphics, and user-friendly interface.
Extensive experience in numerous computer languages, notably JavaScript/jQuery and PHP
(full stack developer through the 2010s) and C++ (more than once taught advanced C++ classes
to the developers at a company where I was employed).
Pretty solid in web technologies, though those change fast.
Expertise in internationalization, CAD,
web-centric and database-centric development.
Project/Program Management: Scheduling and
estimation, requirements gathering, functional specification, risk
identification and management. Expert in turning around troubled
projects.
Vendor/Client relationships: Estimating/bidding
projects, managing relationships. Experience on both sides of the
vendor/client interface, both domestically and internationally.
Communications: Strong written and oral communicator.
Documentation experience includes technical and process standards,
specifications, API documentation, user documentation,
and preparing software systems for source licensing.
Very big on code review, see separate article. Multilingual. Worked as a freelance
writer prior to my involvement in computing.
Problem-solving and flexibility: A broad range of
experience
including both regular and contract employment in a variety of environments.
Feasibility studies, overall systems design, database and data structures
work, close work with people from a variety of cultures and a variety of
professional
backgrounds.
User experience: this doesn't easily fit a resume
format; see this related article I've written about user experience.
Recent:
Front-end and back-end development, plus project management, for graphics-intensive web-based applications for the construction industry.
Designed and implemented Fastbid 3, a web-based measurement/takeoff tool (basically a stripped-down CAD system for the construction industry).
Fastbid 3 allows builders and subcontractors to view and mark up plans and specs, take measurements, share takeoff markup,
and make useful calculations during the bidding process. This graphics-intensive program is a full, far more portable, browser-based
replacement for a compiled C++ application, Fastbid 2. In its basic configuration it provides a near-perfect emulation of that
application and matches or exceeds the performance of that compiled application; I've also implemented extensive new members-only features,
including realtime data-sharing; by now, the added features constitute the majority of the system.
Since October 2012, Fastbid 3 has been BXWA's default system for new users, and they have steadily migrated their legacy users;
I continued to add advanced features until 2018, which
are slipstreamed into the live site. Customer perception has been very positive, and BXWA memberships have been steadily on the rise.
I architected, designed and implemented both the front and back ends of this complex graphical web application, mostly jQuery/JavaScript/HTML5 and PHP/PostgreSQL,
including highly interactive HTML5 Canvas graphics that work effectively on both PCs and Apple iOS devices. Through expedient use of JavaScript and HTML5 Canvas, the application can achieve better graphics downsampling
than the browsers' default.
My role has also included about half of the project management and a good deal of
research, as well as reverse-engineering some previously undocumented binary file formats. Further work for BXWA has included stripped-down SaaS version of FastBid
for other plan centers, as well as numerous internal tools ranging from administrative dashboards to tools (graphical and otherwise) to
import construction drawings from a variety of formats for use in FastBid.
Sound Structural Solutions 🔗, contract
Software Contractor
(November 2017-January 2021; still consulting)
Consulting, project management, and hands-on development to bring a database-intensive internal web-based systems to a greater maturity level
and to implement new features.
Because this is an internal system that encodes their business methods, details of this work are confidential,
but as long as you are in no way their competitor, after we sign a mutual non-disclosure I can discuss far more than I can write here.
Prior experience:
Accretive Technology Group in Seattle,
Washington.
Software Development Manager (January
2008-February 2009)
Managed an e-commerce intensive,
Internet-centric software
development group. Combined people management, project/program
management, and occasional hands-on tech work to bring a software
department successfully out of perpetual "maintenance mode" and
evolve it into a group capable of taking on major new projects.
Turned a system that was essentially undocumented when I joined
into something that new, mid-level hires could understand.
Vastly improved specification processes, bug tracking processes, etc.
Drove internationalization of company's
online products. Led an evolution from focus on individual features
to a greater focus on capabilities and configurability.
Contracting/Consulting 2001-2007
From 2001 through 2007 I
was contracting and consulting. Major projects included:
- Lux Group, November 2007 - December 2007: Wrote
the
requirements, compliance checklist, etc. for the online version of the
Washington State Health Insurance Pool (WSHIP) Standard Health
Questionnaire (SHQ).
- Active Voice, LLC (AVLLC, later absorbed into NEC 🔗) , January-December 2006: wrote
functional and technical specifications (and
designed GUI and telephone
user interfaces) for the company's next several major product
releases. These specifications drove AVLLC's features for roughly
the next two years.
[More…]
- AVLLC was a subsidiary of NEC, now absorbed into the parent company.
AVLLC specialized in voice technology and was eventually
absorbed into NEC's Infrontia group.
- Working with a team distributed between Seattle and Bucharest,
specified voice mail features such as:
- Highly flexible conversations
- Hospitality (hotel/motel) package
- Schedule- and caller-ID-based call handling.
- SMS (Short Message Service) integration: use SMS to notify
about voice messages, etc.
- Led a research effort on networked, multi-client, multi-PBX
systems.
- Also wrote post facto technical specifications for
several features where internal documentation was lacking.
- Microsoft 🔗 / Sakson &
Taylor (now Aquent 🔗), March-December 2005: wrote or
rewrote most of the Microsoft SDK's
conceptual documents and API
references (Win32 PSDK for C++ and .NET Framework) on
internationalization and typography.
[More…]
- Covered
such diverse topics as developing software in ways that make it easy to
change UI language resources; Microsoft's concept of locale; formatting
dates, times, numbers, and currencies internationally; typography and
scripts; and text encodings.
- Included
both the Win32 PSDK for C++ developers and .NET Framework.
- This work is now "live" on MSDN. I did
major additions and rewrites to the material on National
Language Support 🔗, Unicode
and Character Sets 🔗, Uniscribe 🔗,
and
Multilingual
User Interface 🔗.
- I'm particularly proud of
adding pages such as the
Uniscribe
glossary 🔗 (though I see as of February 2022 that they have lost the intro
and duplicated the first entry) and of completely reworking pages like Language
Identifier Constants and Strings 🔗, the previous version of which
was almost unusable.
- Tableau Software 🔗, July-August 2004: Internationalized Tableau's
flagship product, Visual Spreadsheet, functioning as both project
manager and developer. This was successfully achieved
within a very tight 8-week schedule.
[More…]
- Developed overall strategy for internationalization of this
Microsoft® Windows Desktop application.
- Re-instrumented to use Unicode internally rather than ANSI;
identified and isolated
string resources.
- Internationalized
presentation and validation of dates, floating point numbers,
etc. at the user interface and in communicating with a variety of
DBMSs.
- Internationalized the approach to sorting order and other string
operations.
- Internationalized the approach to recognizing a column in a
database table as containing day-of-week or month-of-year data.
- Identified international UI layout issues; helped established
policies that will
allow
maintenance of internationalized software.
- Lux Group, June 2003 - March 2004: Acting Director of
Development.
[More…]
- Estimated, bid, and pitched a broad range of software, consulting,
and documentation projects for current and prospective clients.
Clients included major national software firms, an insurance
company, a hospital, and several e-commerce companies.
- Managed software development group.
- Managed technical projects.
- Participated directly in projects as a consultant, software
developer, and programmer/writer.
- Active Voice, LLC (AVLLC), November 2001 - May 2002 (Bucharest), July
- December 2002 (Seattle): Represented executive management of AVLLC at
Unidec , an offshore R&D center in Bucharest. Also functioned
as a
technical consultant to Unidec.
Tremendously improved mutual working relationship. Also
researched future products and wrote functional specifications for
future features for several of AVLLC's existing products.
[More…]
- Functioned as a consultant to Unidec on technical matters, managerial
approaches, and American business practices; successfully integrated them
into AVLLC's development process.
- Provided liaison between Seattle-based marketing
and Bucharest-based
technical groups. Tremendously improved mutual working relationship.
- Taught voice mail technology and other messaging technology to a team
of Romanian software developers.
- Supported several different teams within a 50-person software
development group.
- Helped establish software development standards for the
Romanian team.
- Authored numerous functional specifications and guided these through
AVLLC's consensus process for new features.
- Designed an integration between email and voice mail based on
IMAP4.
- Mastered and documented a large, previously undocumented body of third
party C++ code.
- Researched future products and wrote
functional specifications for future
features for several of AVLLC's existing products, notably the
KinesisTM
unified (voice and text) messaging
product.
- Saltmine, June-October 2001 (Manchester and London, UK): As
a member of a Microsoft Consulting Services
team, helped the "Manchester
2002" team design a web-based system to integrate with the Central
Results System and serve 100 million objects per day during the 2002
Commonwealth Games
. Also, QA Lead for Microsoft UK online
events
calendar. Devised development standards and policies for Saltmine's
London office. [More…]
- Manchester (Manchester 2002 Commonwealth Games):
- Authored recommendations documents that proposed a range of alternatives
for design, testing, and implementation of systems to deliver
live results to the web with minimal latency, and which
explained tradeoffs among these approaches.
- Strategized stress and
performance testing. Wrote high-level test plan. Specified several utility
and component programs as part of the site and the test harness.
Worked with Manchester 2002 personnel to implement these
successfully.
- Devised strategy to reconcile clashing systems of
identifiers, so that web sites may appropriately link information from
different third-party sources applying to a particular athlete, country,
etc.
- Worked successfully to improve communications between Microsoft and
Manchester 2002 personnel.
- London (Microsoft UK and Saltmine UK):
- QA Lead for an online events calendar for
Microsoft UK, which provides such features as workflow for submission
and review of event content, integration with Microsoft's HR systems,
content personalization, and
email subscription services for both users and Event Administrators.
- Devised development standards and policies for
Saltmine's London office.
Saltmine (1997-2001)
Director of (Software) Development
Managed and advised on software development projects, both web-centric
and otherwise; handled client contact with several
key
clients; cooperated with Business Development personnel in client pitches;
estimated and bid projects; hired, supervised and
trained
technical managers, developers
(chiefly C++
developers), software QA personnel, project managers;
helped set company and
departmental standards in technically-related areas; also served as a
development lead
directly involved in the specification, design, and development of
software,
especially three-tier web-centric applications, ISAPI DLLs and
GUI-intensive Win32 development.
Major projects included:
- PM and Dev Lead through four release
cycles of a
troubleshooting tool for Microsoft
utilizing
Bayesian logic and embracing such technologies as ISAPI and XML. This included
development of workflow and content management tools. All content fully
globalized, handling even Near Eastern and Far Eastern languages.
-
Dev Lead for a CD-ROM-based game, the first playable online version of
Magic the Gathering for Wizards of the Coast (now part of
Hasbro). Game
incorporated a complex database, uses a broad range of Microsoft
technologies, and involves Internet play.
While Director of Development, also served as Acting
Director of Software QA (Jan-June 2000) and managed the IT department
through a management transition (Aug-Sept 2000). Conceived, developed,
and conducted a series of training sessions for
working
developers; topics included
advanced C++, internationalization and
localization, and (for QA)
fundamentals of database modeling and programming.
Orca Medical Systems (1996-1997)
Program Manager
Chief author of database and GUI specifications for a Windows- and
SQL
Server-based medical records system, later a product of Spacelabs,
Inc.
- Through rapid iterations of prototypes and
mini-specs,
developed a consensus from half a dozen initially very divergent
visions of Orca's product. To this end, worked with in-house
domain experts (nurses and physicians), client clinicians, and hospital
CIOs to develop a UI that could handle hundreds of
distinct scenarios by
which data may become part of the medical record. Successfully
communicated these to a team of software engineers.
- Developed a "GUI vocabulary"
of about 15
screen controls that covered cases which, in an earlier release of the
product, had used approximately 50 distinct controls.
- Overhauled medical records database
schema. Introduced a full
journalizing capability while actually reducing disk storage requirements
and speeding access for common operations.
Active Voice Corporation
(1991-1996)
Software Architect, Project Lead
Software Architect for ReparteeTM, the
flagship product of the world's
then-leading
manufacturer of PC-based voice mail. This
highly
multi-tasking voice mail system integrates with third-party
e-mail and various proprietary LAN-based applications.
Functioned simultaneously as both Project Manager and Development Lead
for Repartee 7.4. Over the course of 18 months,
led and motivated my team to successfully deliver what was, at the time,
the largest project in the history of the company.
- Directly supervised 7 Software Engineers plus QA Lead, Technical
Publications Lead, and Field Test Coordinator. Coordinated with
Marketing,
Training, Technical Support, and Production departments, as well as Platform,
Desktop Applications, and Software Components groups within
Development.
- Set schedules and tracked progress of project. Negotiated with engineering
management for resources and delegated work responsibilities within the
team.
- Authored approximately one third of requirement, functional
specification, and
technical specification documents, and reviewed the other two-thirds of
these documents.
- Programmed several of the more difficult portions of the system
and coordinated and supervised code reviews.
Repartee 7.4
provided an architectural foundation for Active Voice and NEC products into the early 2010s.
Among the key features of the project were: merged three separate code
bases, each offering significant unique
features; converted from 16-bit code and non-preemptive multi-tasking to
32-bit code and preemptive multi-tasking; expanded from 36 to 60 simultaneous
voice conversations, while improving performance; added features in
support of fault tolerance; improved system configurability; improved
modularity of code; allowed on-line backup; improved granularity in the
locking scheme to remove limitations on certain operations occurring
simultaneously; improved APIs to maximize forward compatibility; allowed
analog networking of multiple voice mail systems.
Other achievements at Active Voice:
- Managed several other projects, including
integration of fax and voice mail.
- Instituted much-improved coding discipline throughout the enterprise,
including the introduction of
code reviews.
- Developed server support for ViewCall, a breakthrough system which allows
clients to control incoming phone calls from their desktop computer.
- Made major improvements in the design of the Repartee database and major
extensions to the voice interface.
HealthWare Corporation (1989-1991)
Senior Software Engineer
- Liaison to Marketing for 3-person software team.
- Designed and implemented MS Windows Custom Controls to edit structured
nursing notes and
other structured medical records. Performed extensive database work to
support this design.
- Redesigned report generator, resulting in
order-of-magnitude
speed improvement.
Portable Cellular Communications (1988-89, contract)
Transformed software specific to a single
cellular phone rental company
into
a production system which formed the basis of Cellular
Technical Services,
a joint venture with Nynex.
- Extensively interviewed PCC programming staff to produce a document which
resolved Nynex's issues about the flexibility of the software and
applicability beyond one company.
- Wrote in-line documentation of code, created system diagrams, wrote
functional and technical descriptions of programs, files, and interprocess
communication. Organized source and object libraries and created
"make" files.
- Completely redesigned and rewrote point-of-sale software to create a
single configurable program.
- Designed simulation/testing environment and developed a strategy for
fault tolerance.
- For CTS, wrote programs for data verification, telephone switch
interfaces, long-distance telephone billing, serial and TCP/IP
communications.
Energy International (1987, contract)
- Designed and implemented a graphical user interface, which added
interactive grid design, profiles, vector plots, and contour graphs to an
existing fluid dynamics system.
- Established administrative procedures for Apollo network. Greatly
improved relations with Apollo and other vendors.
MegaCADD (1983-1988)
Co-founder, Senior Software Engineer
Led team that developed the first effective
PC-based three-dimensional modeling tool for architects.
- Designed and implemented three-dimensional graphics capabilities,
including efficient automatic hidden line removal, walkthrough animations,
DXF (AutoCad) interchange, and highly interactive creation of models and
components, including manipulation of curves by handle points.
- Supervised 3-person project team. Set design priorities. Reviewed all
technical specifications. Set coding, documentation, and testing standards.
Scheduled and monitored all project work, ranging from user documentation to
device interfaces.
- With this team, developed four major releases of Design Board Professional
(later MegaModel from Design
Futures Incorporated), the pioneering three-dimensional CAD
application on PCs.
Architecture Magazine (February 1987) called this product,
which
produces perspective renderings and other drawings, "splendid...the only
good, inexpensive 3D program."
Azurdata (1983 contract; no relation to the present-day
company of the same name)
Key member of a team that designed and implemented software for a
a pioneering
handheld inventory-gathering device.
Telematic Products (1982 contract)
Key member of a team that designed and implemented a
fault-tolerant table-driven system to gather telephone billing
information and relay this to a central billing computer.
Education:
M.S. in Computer Science, University
of Washington 🔗 (Seattle, WA 1981). Master's thesis describes my design
of
the interactive symbolic debugger included as part of DEC's Pascal-36.
Other major projects while in graduate school included a LISP interpreter and
a preprocessor to translate
concurrency specifications into C code to manage semaphores.
B.A. Cum Laude in Mathematics, Wesleyan
University 🔗 (Middletown, CT 1977).
Languages (human):
English: | Native. |
Spanish: | Proficient written language skills,
moderate-to-strong spoken language skills. |
Romanian: | Proficient reader, moderate writer, moderate
spoken language skills. Have worked professionally in Romania. |
German: | Moderate written and spoken language
skills. |
Samples of translations from all of these languages (and several
others) available on request.
Also moderate ability to read other Romance languages (e.g. French,
Italian, Catalan, Portuguese).
Languages (computer):
JavaScript/jQuery: | Expert. |
PHP: | Expert. |
SQL: | Solid,
approaching expert. |
C/C++: | "Native" but haven't kept up with post-2010 libraries, standards changes, etc. |
Java: | In a pinch, but it's been a long time. |
Pascal, FORTRAN: | Expert,
but of course not recent. |
Also have successfully implemented commercial software in several other
computer languages, including
PERL and various dialects of BASIC.
Last modified: 23 February 2021
My e-mail address is jmabel@joemabel.com. Normally, I
check this at least every 48 hours, more often during the working week.