David Lindes
+1-206-599-6041
resume-response@daveltd.com
(Note: Appending "-2025" to the end of
the before-the-at-sign side of the above e-mail address will
get a much better chance of a speedy response.)
SUMMARY:
UNIX Systems administrator turned software developer and
(/turned) instructor/mentor. Tools and automation focus.
OBJECTIVE:
Not actively seeking work. Open to considering opportunities using
Common Lisp, Clojure, Scheme, or Haskel; to remote-friendly contracts or
employment in other areas of my past experience; to junior-level
management in software development and/or operations groups; and
most importantly, to opportunities (including as a volunteer)
helping under-represented folks (women, BIPOC, trans folk, etc.)
learn the sorts of skills I've had the privilege of learning.
AREAS OF EXPERIENCE:
Languages:
Common Lisp;
Ruby;
C;
C++ (including STL);
Python;
Perl;
Mason;
SQL;
XML;
XSLT;
SGML;
HTML;
PostScript;
sh;
ksh;
csh;
sed;
awk;
LPC;
PHP.
Operating Systems:
MacOS (6 through 9, MacOS X);
GNU/Linux (Ubuntu and others);
IRIX;
Solaris;
SunOS.
Programming:
AWS EC2 and related automation;
database-driven web apps;
data visualization;
data mining (from databases, log files, etc.);
Custom interfaces to Remedy;
back-end "filter" utilities for Remedy;
Python module for Remedy (using C API);
utilities for use from a UNIX shell;
small applications for PalmOS devices;
systems administration-related automation scripts;
CGI web pages;
a UPS status monitoring daemon.
Applications and Tools:
Ansible;
Puppet;
Chef;
git;
SSH;
rsync;
Ruby on Rails;
make;
jam;
gcc/g++;
Subversion (svn);
CVS;
RCS;
DNS (BIND);
Remedy;
Sybase;
Oracle;
snoop;
tcpdump;
tripwire;
PGP/GPG;
par;
truss;
strace;
Legato Networker;
FrameMaker;
Showcase;
Apache;
NCSA httpd;
Sendmail;
Netscape Messaging, Directory, and Enterprise Servers;
Netscape Communicator;
Lynx;
Mutt;
MediaMail;
CodeWarrior;
Wingz.
PREVIOUS EMPLOYMENT:
-
Independent (November, 2022 through the present):
Technical Mentor
- Built up new mentorship relationships with multiple
people, helping them learn new programming languages (Python,
Ruby, C, and more), new skills (web development, low-level
network programming, electronics with CircuitPython, etc.),
practicing for job readiness, and generally providing guidance
in people's technical learning process. Aiming to work with
folks who face systemic barriers, including women, people of
color, and formerly-incarcerated folks. Mostly have worked 1:1
with folks, though also joined up with other like-minded folks
to provide group "office hours" to help people get questions
answered.
-
Techtonica (July, 2018 through May, 2020):
Volunteer Mentor
- Provided 1:1 and sometimes group mentoring with current
Techtonica participants, initially coming in to the offices
where the program was being hosted, and later via video calls
(when Covid lockdowns began). Helped folks navigate the twists
and turns of their path to completing their projects, taught
about concepts underlying what they were doing, and generally
answered technical questions and helped out.
-
Hackbright Academy (February, 2018 through July, 2018):
Instructor (part time)
- Part of the instruction team for Hackbright's Prep
course. Presented lectures, answered questions during lectures
and lab time, made curriculum improvements, and general
administrative tasks (taking attendance, etc.).
-
Hackbright Academy (January, 2016 through July, 2018):
Volunteer Mentor
- Provided 1:1 mentoring with current Hackbright students
throughout this time, answering questions they had about the
material, about life in industry, about how different pieces fit
together, etc. Generally gave insights from my years of
experience to help them contextualize what they were learning.
Later also staffed regular "office hours" in their Alumnae
Lounge, where I helped people debug problems, did practice
interviews, explored computer science concepts, and generally
helped out the grads who showed up in whatever way was
needed.
-
iRhythm Technologies Inc. (through Taos Mountain, LLC. ; October, 2015 through January, 2016):
Consultant
-
- Created automation for AWS deployment of services, including
Ansible-based installation configuration, ruby-based AWS
interactions, CloudFormation templates, etc.
- Reverse-engineered existing non-automated configurations in
order to best replicate the above.
- Converted Subversion code repository to git, including
providing user documentation and support for the migration.
-
Autodesk, Inc. (through Taos Mountain, LLC. ; February, 2015 through October, 2015):
Consultant
-
- Created and maintained automation around AWS services.
- built command-line tools for interacting with same in a
streamlined fashion.
- generated new SSL certificates, including a new Certificate
Authority.
-
Hortonworks (through Taos Mountain, LLC. ; June, 2014 through January, 2015):
Consultant
-
- Acted as a technical resource for the IT department --
advising management, and providing training, troubleshooting
assistance, and general expertise to other individual
contributors.
- Evaluated IMAP migration tools for a large-scale (500GB)
email data migration using IMAP -- finding these tools lacking for
client needs, ultimately developed (in Python) automated tooling
for the migration including user-facing documentation, web
front-ends for obtaining user passwords in an ephemeral manner,
web-based reporting on migration progress for users and management,
and performance analysis (using R) of IMAP server interactions to
allow understanding of bottlenecks.
- Evaluated BCFG2, Salt, and Ansible for automation of
configuration management on corporate servers.
- Developed Ansible rules for same.
- Provided instruction on Ansible to peers, to further the
efforts.
- Created and executed a detailed test plan for an OpenLDAP
deployment that had been previously built but left untested. Wrote
Change Control procedure for deployment of same.
- Performed forensic analysis and corrected data
inconsistencies from a failed data migration.
- Assisted in planning and deployment of 200-physical-node
OpenStack cluster.
- (May, 2009 through May, 2014):
Personal time
- Took time to travel, pursue artistic endeavors, etc.
-
Google, Inc. (January, 2008 through April, 2009):
Site Reliability Engineer
-
Provided support, including on-call duties, for Google
Analytics, Webmaster Tools, and other Google products.
-
Super Pod,
LLC (for several clients) (August, 2007 through November, 2007):
Consultant
-
Developed a full website using Ruby on Rails to gather
customer feedback for a major shrink-wrap software
vendor: Set up SVN-based revision control; Implemented
front-end design from specifications, including
image-upload and text entry functionality; Created
back-end ("administrative") interface, including search
functionality (using ferret); Configured Apache
web server with password-protected admin area, and
password-protected staging version.
Performed system-admin tasks for Super Pod internal
infrastructure.
Developed automated tools to assist in a major website
localization project. Assisted and trained junior staff
members in technical aspects of localization.
-
Localcents,
Inc. (working on their Villij.com
website) (January, 2007 through July, 2007):
Consultant
-
Initiated getting their source code into revision
control (First CVS; later converted to Subversion).
Trained users on these systems.
Separated their environment (both database and code)
into development, staging, and production modes, with a
development environment for each developer.
Introduced pair programming, test driven development,
refactoring, and other best practices.
Installed NTP on servers to get good time
synchronization.
Created, and automated, backup procedures.
Consulted on company development strategies.
Created system for recording and monitoring application
growth statistics.
Instituted use of web page templating using Smarty.
Instigated the use of TinyMCE for WYSIWYG blog editing.
Converted PHP system to Ruby on Rails (still in progress
as of last update). Created Rails database Migrations
to get table structure to work with rails; instituted
the use of Migrations for all database changes.
-
Isilon
Systems (July, 2005 through January, 2006):
Software Development Engineer
-
Fixed various bugs in the Isilon system, including
kernel-level changes.
Provided general maintenance for "CPR", Isilon's utility
for filesystem integrity checking, debugging, and
repair. This work included fixing bugs, working on
documentation improvements, and doing minor feature
enhancements.
-
Infospace (through Kforce
Professional Staffing ; March, 2005 through July, 2005):
Consultant
-
Modified existing PHP application to add new
functionality and fix bugs.
Customized workflow to create new custom functionality
in Remedy's CSS application.
Consulted on additional Remedy workflow changes.
Created an application for tracking and reporting on
Remedy license utilization over time.
-
Amazon.com (August, 2003 through December, 2004):
Software Development Engineer
-
Supported, operationally, several high-visibility
applications on a rotating 24 by 7 basis. Debugged
various problems in software supported by me as well as
that upon which it depended.
Gathered requirements for, designed, and developed
several reporting tools. Designed and developed data
visualization utilities for several of these (including
a "traffic light" indicator as well as various graphs).
Designed an internal web site organizing several such
tools, including tools developed by myself and by
others.
Mentored and trained (informally) others on topics
ranging from software development to basic UNIX
understanding to the intricacies of specific tools and
applications.
Advocated for quality solutions to problems at hand --
pushing for long-term solutions over short term;
sustainability over easy-right-now; the "right" solution
over something that merely solved the most pressing
problem currently surfacing.
Assisted the Remedy team with Remedy administration and
troubleshooting tasks.
Participated in the interviewing of new candidates both
inside and outside of my immediate group.
-
Silicon Graphics,
Inc. (contract) (April, 2002 through May, 2003):
Software Developer/Network Analyst
- Developed several reporting tools (including
the aspects of data collection and data mining and
reporting) as well as automation-oriented tools.
Utilized XML and XSLT to do data encapsulation and
extraction for collection tools, as well as for
configuration of dynamic reporting tools. Automation
work included configuring SGI's installation tools for
100% automated install, and doing post-install scripting
for configuration of installed machines.
Mentored various members of the immediate group as well
as a couple of adjoining groups on myriad topics ranging
from general systems and network administration
principles to best practices to perl scripting.
Provided technical assistance and conference to various
SGI team members worldwide, having various technical
skill levels and cultural backgrounds.
Analyzed and solved myriad technical problems as they
came up. Filed bug reports when problems with SGI's
IRIX operating system or related tools were involved.
Performed a variety of cleanup tasks, working towards
making an environment which had been filled with legacy
configurations which were frequently not very well
understood into a smooth, uniform (to the extent
possible), and much more stable environment.
-
Independent
consulting work (April, 2001 through June, 2001):
Software Engineer
- Authored C code to provide a Python module
which would interface to Remedy's Action Request System
(ARS) through the ARS C API. Wrote code to pull data
from a MySQL database and then dynamically build from it
an ARQualifierStruct to represent a search in the Remedy
ARS. Assisted with debugging and enhancement of the
larger application -- a Remedy interface for WAP devices
(e.g. mobile phones).
-
Counterpane
Internet Security, Inc. (January, 2000 through April, 2001):
Software Engineer
- Developed code to use the Remedy C API to
communicate between Remedy's Action Request System (ARS)
and Counterpane's proprietary automatic incident
reporting system.
Created and maintained Counterpane's CVS repository,
including back-end programs to do notification of
changes, validation checks, and automatic pushes of some
data, such as web content, to appropriate servers.
Provided training in the use of CVS to developers not
already familiar with it, or who needed additional
training.
Performed a variety of Systems Administration tasks
until such time as we hired on a full-time
sys-admin.
-
Global Networking And
Computing (GNAC), Inc. (July, 1999 through January, 2000):
Member, Technical Staff
- Designing and building internal tools,
maintaining and enhancing existing tools. Acting as a
mentor to junior Operations staff. Providing tool
development services to client companies.
-
Netscape
Communications Corporation (September, 1998 through June, 1999):
Member, Technical Staff
- Acted as a liaison between Technical Support
and Core Engineering for the Netscape Messaging Server
product. Took escalations from Technical Support into
Engineering. Created bug fixes for customers. Acted as
a main back-line contact for large customer
deployments.
-
Silicon Graphics
(including subsidiaries) (July, 1996 through September, 1998):
Senior Systems Administrator
- Provided back-line system administration
support for several engineering user communities, while
also being an active, contributing member of SGI's
worldwide systems administration community. Provided
implementation and maintenance support for business
supporting programs and applications. Supported and
monitored divisional servers (DNS, NIS, sendmail, web,
Synchronize, Networker). Active participant in the
implementation of IS processes, tools, and procedures.
Represented Silicon Studio and Alias|Wavefront
subsidiaries to global SGI IS community. Defined,
developed, documented, built and maintained
applications, scripts, and tools to enhance
effectiveness of users and the divisions. Designed and
built a nameservice management system, backed by a
Sybase database.
-
MicroUnity Systems
Engineering (through Taos
Mountain ; April, 1996 through July, 1996):
Systems Administrator
- Responsible for upgrading 60 SGI workstations
and servers from IRIX 5.2 to 5.3, while maintaining
functionality of highly customized local environment.
Built installation images for local software.
Documented upgrade process for other SysAdmins.
Assisted the SysAdmin group with other tasks.
-
Silicon
Graphics (through Taos
Mountain ; October, 1994 through April, 1996):
Remedy Administrator, Help Desk Staff
- Sole administrator of Remedy system for
worldwide IS group. Provided reporting of Remedy data,
including aggregate metrics, trending graphs, and custom
reports. Upgraded, configured, and maintained Remedy
server software. Worked with Server Operations to
provided 24x7 availability of the Remedy application.
Built installation images for client software
distribution.
Provided front-line phone support to SGI
employees, and acted as a leader within the SGI Help
Desk group. Ran backups for group using Legato
Networker. Served as administrator for group's main WWW
and mail server. Resolved numerous system
administration and application problems. Assisted in
operational decisions for the group. Trained and
mentored new help desk staff members.
-
Sun
Microsystems (through Taos
Mountain ; May, 1994 through September, 1994):
Technical Support Engineer
- Provided technical support for Sun customers as
part of the North American Solution Center team.
Re-created customer environments, reproduced customer
problems and filed detailed bug reports.
-
Silicon
Graphics (January, 1994 through April, 1994):
UNIX Systems Administrator
- Provided overflow assistance for divisional
Systems Administrator. Provided end-user support for a
small hardware design group and their IRIX-based
systems. Assisted with backups and other tasks
throughout the division. Enhanced automation of
tasks.
-
Passage
Systems, Inc. (October, 1993 through December, 1993):
Member, Production Staff
- Proof-read conversions into SGML of technical
documents for on-line viewing, comparing against print
copy. Assisted with systems administration
tasks.
-
San Francisco Bay
Area Theatres (December, 1986 through December, 1994):
Technical Theatre Staff
- Served as a member of the staff at a half dozen
bay area theatres at various times. Responsibilities
included Stage Management, Lighting, Sound, Video, Set
Construction, Painting, Properties Management, Stage
Crew, and more.
MEMBERSHIPS:
USENIX;
SAGE;
BayLISA.
PROFESSIONAL CERTIFICATIONS:
IRIX System Administration;
Advanced IRIX Administration;
IRIX Network Administration.
HOBBIES & INTERESTS:
Photography;
Filmmaking;
Travel (around the U.S., Berlin, Dresden,
Vienna... hopefully much more to come);
Glass in various forms - blown glass, fusing,
stained/leaded glass, etc.;
Chain-mail (knitted metal rings);
Software Development (some of it on github);
Electronics Tinkering;
Psychology;
Philosophy;
Technical Theatre;
Amateur Radio (FCC call sign: KF6HFQ).
OTHER EXTRACURRICULAR:
- Volunteer work with San Francisco Sex
Information, providing media support for training staff, answering
calls and e-mails on the switchboard, and some time on the board of
directors.
-
SFSI-endorsed sex
educator.
- Active participant in the planning of a new "atheist
church" in Seattle, 2013 (services scheduled to start early
2014).
- Lived about a year in Berlin, Germany, first in late 2011,
then much of 2012 and into 2013.
- Volunteer Mentor, Youth In Focus --
a non-profit organization whose mission is "to empower urban
teens, through photography, to experience their world in new
ways and make positive changes in their lives." -- 2006
through 2011.
- Vice President, Seattle Photographic
Society, 2007-2008.
- Director, Seattle Photographic
Society board of Directors, 2006-2007 (later elected Vice
President).
- Served on the BayLISA board, with a
1998-2000 term, including 1 year as Secretary
(1998/1999).
- Regular attendee of BayLISA board
meetings, 1997-2000.
-
BIND IRIX port
maintainer, from the time of early BIND 8.x until SGI
took this on by buying support from the ISC.
- Secretary of the Southern Peninsula Emergency
Communications System (SPECS), 1999-2000.
- Secretary of the SGI Amateur Radio
Club, 1998.
Note: The latest version of this document can be obtained from:
https://www.daveltd.com/lindes/resume.html
Current Revision: 2.42+1.12 (mode 2-0-0-0), updated 2025-01-14