Steven McDougall

Electrical Engineer - 30+ years in hardware, software and algorithm development

swmcd@theworld.com
https://theworld.com/~swmcd/steven

198 Worcester Rd
Hollis, NH 03049
(978) 758-7053


EDUCATION

Stanford University, MS, 1983
Electrical Engineering

Princeton University, BS, 1982
Electrical Engineering and Computer Science
Engineering-Physics Program

EXPERIENCE

Grant Street Group, Pittsburgh PA
Senior Software Engineer   2/14-present
Wrote tax collection and billing software
Perl, MySQL, JavaScript, HTML, CSS, bash, git, Linux, NiFi Sonus Networks, Westford MA
Principal Software Engineer   7/09-1/14
Wrote diagnostic and monitoring software for telephone switches
Perl, C, MySQL, bash, Linux, SVN, RPM, RRD, PHP, Kohana, SNMP SiCortex, Maynard MA
Senior Software Engineer   3/07-5/09
Wrote software for a 6000-core Linux cluster computer
Linux, Python, Perl, bash, SVN, Portage, RPM, SLURM, Syslog, NTP, LDAP, Nagios, RRD Incipient, Waltham MA
Software Architect   3/04-2/07
Wrote software for managing big storage systems
Win32, C++, Perl, SQL WebEvent, Andover MA
Senior Software Engineer/Technical Lead   2/03-2/04
Wrote software for a web-based calendar application
Linux, Perl, JavaScript, HTML, XML, MySQL Avid Technology, Tewksbury MA
Principal Software Engineer   7/00-1/03
Wrote software for distributed storage systems
Linux, WindowsNT, Mac OSX, C/C++, Perl Senior Software Engineer   8/97-6/00
Wrote software for video editing systems
WindowsNT, MSVC++ Oscient Pharmaceuticals Corporation, Waltham MA
Senior Software Engineer   9/95-7/97
Wrote software for DNA sequencing operations
VAX/VMS, Solaris, C++, Perl Senior Scientific Programmer   10/93-8/95
Developed software and algorithms for DNA sequencing
VAX/VMS, Solaris, C++, Perl Sepracor, Marlborough MA
Senior Software Engineer   4/92-9/93
Developed instrument control software
DOS, Microsoft C/C++ Varityper, Billerica MA
Senior Software Engineer   10/90-4/92
Developed software for networked printing systems
Mac OS, DOS, C/C++ Osteo-Technology, Framingham MA
R&D Engineer   3/87-8/90
Developed hardware, software and algorithms for medical ultrasound equipment
DOS, Microsoft C GCC Technologies, Bedford MA
Manufacturing Engineer   4/85-2/87
Developed OEM disk-drive manufacturing process
Mac OS, Lightspeed C Design Engineer   6/83-3/85
Mac OS, C, various assemblers XEROX PARC, Palo Alto CA
Engineer   1/83-5/83 (part time)
VAX/VMS, Pascal IBM, Poughkeepsie NY
Engineer   6/82-9/82 (summer) Princeton University
Research Assistant   4/81-6/82 (part time)
HP-1000, C CIBA-GEIGY, Ardsley NY
Programmer   6/80-9/80 (summer)
IBM System 370, PL/I

SKILLS

OS
Linux, Win32, Mac OSX, MS DOS, VAX/VMS
Languages
C/C++, Perl, Python, PHP, bash, Java, JavaScript, SQL, FORTRAN, Pascal, PL/I, LISP, APL, BASIC
Databases
MySQL, MS SQL server, Oracle, Sybase, Filemaker Pro
Markup
HTML, CSS, XML, SVG
Protocols
TCP/UDP/IP, HTTP, SNMP, SCSI, AppleTalk
Development environments
Unix/vi/make/gcc/gdb, Windows/MSVC++, Macintosh Project Builder
Version Control
git, Subversion, ClearCase, Perforce, CVS, SCCS, RCS
System Management
Slurm, Syslog, Nagios, LDAP, NTP
Graphics
GD, GD::Graph, Perl/Tk, X/Motif, Macintosh, MetaWINDOW
Hardware
PC, Macintosh, Sun Sparc, DEC Alpha, DEC VAX
Assemblers
8086, 68000, 6502, 8051, PIC
CAD
NiFi, Orcad

FREEWARE

Convert::yEnc
yEnc decoder, with database of file parts
Game::Stones
Play the game of Stones - an exercise in dynamic programming
News::Newsrc
Manage newsrc files
Pod::Tree
Parse a POD into a static tree. Includes Pod::Tree::HTML for translating PODs to HTML.
Set::IntSpan
Manage sets of integers, newsrc style: 1-7, 15, 23-28
Set::Window
Manage an interval on the integer line
A heap
malloc() and free(), with diagnostics and integrity checks

Tech notes

PerlMonth articles

Perl documentation

Object-oriented programming in Perl
It's all done with mirrors
Module Mechanics
How to build a perl module
Module Anatomy
A skeleton for a Perl module
Module PODs
How to document a perl module
Program Anatomy
A skeleton for a Perl program
Program PODs
How to document a perl program

Steven McDougall / swmcd@theworld.com / 2021 Jul 19