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-04-06