Resume

NOTE: This Resume is now over a decade out of date. It’s here mainly to fill in historical details. I expect never to need an updated resume again. 🙂 My career page is likely somewhat more up-to-date.

Leo A. Notenboom

February 14, 2005

Puget Sound Software LLC, 2003-present

Ask Leo!, a free technical support site with several hundred questions and their answers, with more being added daily. Innovations include the use of short video clips, audio clips and RSS. Ask Leo! content is also syndicated to other sites and publications including Aunty Spam, Business Know-How,Lockergnome and others.

Additional clients and projects of particular interest:

Ask The Builder: Implemented an automated RSS feed to accompany Ask The Builder’s website, leveraging the existing content management system in use. Assisted in the creation of a premium site by writing scripts to transform content previously not in the management system, and provided a simple form-based front-end and accompanying script for ongoing additions.

Discovery Computing: Replaced an email based weekly PDF distribution with a semi-secure and auditable web based solution for premium publications WordTips and ExcelTips. Includes a rudimentary publication scheduler via an administrative web page, and fully templated notification and reminder subscriber emails as well as templated point of delivery web pages.

Lockergnome: provided a series of weekly video tips promoted in Lockergnome’s Windows Fanatics newsletter, and published on their website.

This is True: Generated fully automated RSS feeds and on-line archive technology for bothThis is True and The True Stella Awards, a sister publication. Created syndication technology to allow True-A-Day, a daily This is True content piece to be syndicated to other web sites. Created a content database, editing and display technologies for related sites This is True Story Archives, Honorary Unsubscribe and Bonzer Sites.

The David Lawrence Show and Online Tonight: implemented assorted aides to ease managing the show’s website including automated generation of “hot topics” pages, and modifications to the shopping cart software used in the related 10 Quick Steps site.

International Society of Online Entrepreneurs: Developed membership database, including embedded “blogroll”, Adsense alternate ad block, contact list and user self-administration abilities.

Wrote and published 10 Quick Steps to Interviewing for Tech Jobs and 10 Quick Steps to Interviewing the Tech Jobseeker.

Wrote and published tmail.pl, a Perl based replacement for the popular “cgiemail” CGI program when a back-door spam vulnerability was discovered in the later. Made tmail.plavailable for free.

Wrote and published redir.pl, a Perl based equivalent to services such as tinyurl.com which allows site owners to maintain lists of redirection links and track site exit traffic. Redir.pl is available free, while a more powerful “redirdb.pl” which uses a SQL back end and includes a web based editing interface, is available to clients and used heavily here on Ask Leo!.

See also the ongoing work for Dolls and Friends below.

Excell Corporation, 2002

Microsoft MSN Build: 2002

Contract Software Engineer: Contributed to the development of tools & technologies to unify the process of building MSN server and client components from formerly disparate processes.

Microsoft Corporation, 1983-2001

Technical Interviewer & Hiring Manager: during most of my tenure at Microsoft I frequently interviewed job applicants for software engineer and related positions. In recent years my role expanded to that of “hiring manager”, having final say on whether or not a job offer would be extended to applicants on completion of the interview process. This role also involved several overseas trips with other hiring managers to interview candidates and make on-the-spot hire/no-hire decisions.

Developer Division: 1998-2001

Author: Wrote MSDN Magazine’s Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET.

Staff Engineer: July 2000 through November 2001 worked in a part-time capacity on independent projects, including data mining the bug tracking and source code control databases for information on developer productivity, building tools to aid in that effort, as well as ongoing consulting to the build organization.

Release Development Manager: Until July 2000, lead a team averaging 20 in size, of builders and developers.

The build team’s responsibilities included daily builds and validation tests of Visual Studio .NET and related products, including service packs, QFE’s and component builds for other teams. Major accomplishments here include representing the team and significantly improving the perception of the lab throughout the division, while also establishing a much healthier and happier work environment for the builders themselves.

The development team owned both the tools and scripts used to execute the build, but also the fundamental tools and processes used to generate VS7’s setup using the Microsoft Installer. While managing and growing this team, I also acted as one of the primary architects of the new processes used in the lab to build VS7.

Microsoft Expedia: 1995-1998

Software Design Engineer (SDE): April 1997 through June 1998, developed a new interface layer for the corporate version of Expedia to an additional Computerized Reservations System (CRS). Work included basic infrastructure, the majority of air-related functionality, a session management and sockets based interface, and a terminal emulator with access to extensive service instrumentation.

Technical Operations Lead: From March 1996 through January of 1997, handled nearly all technical operations responsibilities for the development and launch of Expedia, Microsoft’s Internet-based travel product. This included:

  • site design, provisioning, deployment and technical liaison with the hosting MSN production and staging datacenters
  • design and deployment of telecommunications and support infrastructure for customer service facility in Atlanta.
  • design, implementation and execution of the product propagation scripts and actual propagation of Expedia
  • development lab, ranging from procurement to a major upgrade to the lab’s network, power and HVAC capacity
  • 7�24 real-time problem resolution

SDE: Nov 1995 – 1996: Extensive modifications to the X.25 communications code interfacing Expedia to the CRS. Included support for multiple virtual circuits, performance counters, a sockets-based proxy, and queuing for CRS capacity limits.

Expedia was Windows NT 4.0 based, making extensive use of custom written NT services, such as the interface code above, and Internet Information Services. All code written in C++.

Telephony Development: 1994-1995

Development Lead: Led a team of eight developers working on a Windows 95 TAPI-based telephone and answering machine. Accomplishments included harnessing the dev process; and with two peers acting in place of our Dev Manager on medical leave.

SDE: Took part in the creation of the Digital Signal Processing Resource Manager Interface (DSPRMI), enabling device independence in DSP-based add in cards. Implementation was a set of 32bit, ring zero, simple COM objects in C++, residing in a VxD under Windows 95, and including a 16 bit ring 3 interface. A patent (5,748,468) was awarded for management of over commitment of the DSP in multi-tasking environments.

Microsoft Money: 1992-1994

Development Lead: Lead a team growing from 5 to 16, from start to ship on Money 3.0. Accomplishments include establishing a healthy working environment across groups; hiring and managing the growth of the team; managing a feature relying heavily on an outside service provider; and jumping in to help implement features in a technically complex code base.

WinHelp / MultiMedia Viewer: 1990-1992

SDE: Implemented features in WinHelp 3.1 including “User Defined Help”, and “Secondary Windows”. I also implemented several minor features, and as proof of concept, partial support for character mode Advisor help files.

Development Lead: Supervised the “Core Help Team” of 4 to 6 engineers. Released several versions, including WinHelp 3.1 for Windows 3.1, and a version used as the base for Cinemania 1.0. As “acting program manager” I handled the specification and client communication. Implemented the “Help On Top” feature, performance improvements, and helped on a platform-independent file format. When WinHelp and Viewer merged, I became lead for Viewer 2.0, used as the base technology for Encarta 1.0. I facilitated the project’s reaching code complete and eventual release.

Languages Utilities: 1987-1990

  • Microsoft Advisor Help Engine: Designed and implemented the help engine used in many of Microsoft’s DOS based applications. Techniques implemented to compress and quickly decompress help text were awarded two U.S. Patents (4,955,066 and 5,109,433).
  • M Editor: I added various features to the M editor (aka “Z” and “SDKED”) for (canceled) Microsoft C version 5.2.
  • Programmer’s WorkBench: SDE and development lead for a team of 2 to 5 developers. PWB was a text editor and pseudo-Integrated Development Environment, that shipped with Microsoft C 6.0, for both OS/2 and DOS.

BASIC/Business Languages: 1984-1987

SDE responsible for a new BASIC front end to the Microsoft C compiler, I was made lead for 4 to 7 developers on:

  • IBM BASICA 3.2: 4 engineers added support for the EGA and PC-NET. I also owned the IBM technical relationship.
  • CDB: Bug tracker written for use during BASICA 3.2. Went on to wide usage in languages until a successor arrived.
  • BASCOM 2.0: Supervised 2 engineers and brought a somewhat out-of- control project to a successful delivery to IBM.
  • QuickBasic 3.0: I implemented debugger features and IEEE math support.
  • Common Runtime: 5 engineers re-architected BASCOM 2.0 code for use by both BASCOM 3.0 and QuickBasic 4.0.
  • BASCOM 3.0: 2 engineers brought the compiler to parity with BASICA 3.2. Released by IBM as BASCOM/2.
  • Miscellaneous: GW-Basic releases; Communications Device Driver for Windows 1.x; recovery/disassembly of the IBM Basic ROM source code; OEM support; XENIX BASCOM releases; Hand-held Basic.

Microsoft Cobol: 1983-1984

Maintained assembly language 8080 and 8086 1.x versions. Technical support contact for IBM, who repackaged it. Participant in the version 2 C rewrite and the port from Xenix to MS-DOS. Primary contact for government certification of version 2.

HeroicStories, 2001-2004

Volunteer webmaster & technical resource for HeroicStories, an internet publication. Efforts included:

  • Re-organization of site pages to utilize Server Side Includes (SSI)
  • Creation of automated “six most recent stories” archive and RSS feed.
  • Periodic and on-request site updates as issues warrant.

Dolls and Friends, 1994-present

My wife’s retail collectible doll and teddy bear shop. My roles include:

  • A complete point-of-sale and inventory management solution used in the shop in real time every day. Written in Microsoft Visual Basic. Extensive data collection and reporting to also support bookkeeping and other administration.
  • Bookkeeper. Responsible for all books, payroll and government tax reports and submissions.
  • Occasional clerk, handyman and everything else that comes with owning your own small retail business.
  • Webmaster. Responsible for all aspects of website. Website now runs as PHP scripts accessing a mySql database which is updated in real time from the shop’s point-of-sale system.

Puget Sound Software, 1982-1985

In 1982 PSS was my own consulting firm with one customer specializing in custom devices for which I was the sole provider of software.

  • Z-80 based printer buffer. This device had 256k of RAM, multiple serial and parallel inputs and outputs, status lights and toggle switches. The Z-80 assembly software supported multiple data streams and data redirection.
  • 8048 based display light controllers. A series of controllers used in displays to fade lights in preprogrammed sequences. To keep hardware costs down, the burden of the fading operation was placed on the software.
  • Z-80 based telephone emulators. A set of tone generators and decoders, and interconnect logic controlling up to 8 telephones, emulated add-on features. Written in C, including a “test harness” which ran under CP/M independent of hardware.

International Entry Systems Incorporated, 1979-1983

IESI built data-entry terminals for data processing bureaus, and a CP/M based small business computer. My work included:

  • complete implementation of a BIOS for the Z-80 based CP/M system.
  • complete software for an 8048 based disk controller.
  • maintenance of several data communications emulators.
  • maintenance of a cassette based Microsoft BASIC interpreter, disk and cassette based diagnostics & utilities.
  • writing the users and reference manuals, as well as product support for all of the above.
  • writing, editing, layout and publication of a monthly customer newsletter.

University of Washington, 1979

Coursework: software for an 8080 based point of sale terminal; system software for a microprocessor controlled train set.
Employment: device drivers, support and consultation for the train set; teaching aid for an introductory FORTRAN course.

Education: B.S. in Electrical Engineering, University of Washington, 1979