Aaron Sherman's resume
Senior Systems Engineer and Tool Developer
89 Prospect St
Somerville, MA 02143
Email: ajs_ajs_comWWW: http://www.ajs.com/~ajs
Recruiter contact not solicited.
Areas of Expertise
- High level language programming and toolsmithing
- Revision control / release management
- Production Internet infrastructure management
- Manager of small teams of systems administrators/DBAs
- Security/capacity/contingency planning
- Web/database application performance analysis
Perl (v3-5, library/module design, Perl 6 development), Python (including sqlalchemy, django), Java, HTML and HTTP including RESTful APIs, XML, C, C++, SQL, Shell scripting
Systems Admin / Security:
Linux (RedHat/SuSE/Slackware), Android, MacOS and various flavors of UNIX
Subversion, git, Perforce, Bugzilla, Puppet, Apache and Nginx Web servers, Security/firewall tools including Linux iptables. Databases including Oracle, Sybase, MySQL, PostgreSQL and SQLite.
Extensive use and modification of: MediaWiki
- Contributor: "Web, Graphics & Perl/Tk: Best of the Perl Journal", ISBN 0-596-00311-0 (Google Books)
- Author: Perl Journal article, "Image Manipulation with Perl and The GIMP"
- Contributor: "Perl Resource Kit: UNIX Edition", ISBN 1-56592-370-7
- Contributor: "Perl Resource Kit: Win32 Edition", ISBN 1-56592-409-6
- Contributor: "Programming Perl: 2nd Edition" ("The Camel Book"), ISBN 1-56592-149-6
- Author: Daemon News articles:
- Author and/or Contributor:
- Modules included in the core Perl distribution
- Plug-ins (e.g. glowing steel, among others) included in the core Gimp distribution.
- Early work on Perl 6 Synopsis 29: Builtin Functions specification
Senior Software Engineer
Mar 2012 - Present
Software toolsmith, focused on writing reporting-oriented tools for a user-base of Web analytics-focused internal users. Some git management duties coupled with Python-based UI and back-end design. Most work done using Linux and MacOS.
Software Engineering Consultant
Oct 2011 - Mar 2012
A combination programmer, release engineer and source code control manager for a small team focused on rapid development of Web-based, open source CRM application customization. My duties focused on producing tools for managing unit tests as well as deployment and training of git, Review Board, MediaWiki and a number of other helpful development tools. I was also tasked with writing the process and documentation for new developers on the team and routine administration of the above.
Freelance Android App Developer
May 2011 - Sept 2011
Authoring and designing revenue models for self-developed Android handheld-device applications.
- A browser app for WikiMedia Commons Features Images and other media.
Member of Technical Staff
May 2008 - April 2011
Member of the SCM team with responsibilities including
- infrastructure and tool development
- in-house application maintenance
- Perforce administration
- build infrastructure modularization
- C/C++ code component build analysis
Member of the build team with responsibilities including
- infrastructure tool development
- ongoing support
- support of geographically diverse developer build environments
Senior Systems Engineer / Toolsmith
April 2001 - May 2008
One of a team of systems engineers. ITA was a small startup when I arrived and has grown into a thriving medium-sized company. My day-to-day duities include:
- Toolsmithing in Perl, C++ and shell scripts (including monitoring, control programs, QA support software, etc)
- Linux systems and network administration
- Rotating on-call duties
- Systems security
- Internal application support including Big Brother and Bugzilla extensions
- Customer and vendor support
July 1999 - Feb 2001
A key role managing the production infrastructure team for a high-volume web site which included:
- Capacity planning
- Security and recovery planning.
- Database and content management performance analysis.
- Planning and deployment of systems infrastructure elements such as:
- load-balancing hardware, static-content Web servers,
- dynamic-content Web servers, firewalls, mass storage systems, etc.
Previous programming-oriented role in the company included:
- Wrote monitoring utilities.
- Implemented HTML-based spell-checking, 3D logo rendering, personalized mailing automation and partner content generation.
- Helped to estabish a development process.
- Mentored junior members of the development team.
- Extended/maintained Web applications.
Senior Architect / Analyst
April 1997 - May 1999
Contract programming assignments including:
Bank Boston (Now Bank of America)
UNIX Security Administrator
November 1996 - March 1997
Security administration as well as maintenance of the 3rd party security software. Wrote reporting scripts in perl for auditors; Provided technical input on the establishment of UNIX security standards; specified and evaluated network security products; managed change control process.
Consulting Services Group, Senior Consultant
January 1992 - October 1996
Several contract positions and internal development. Individual descriptions follow (title reflects I-Kinetics title-level at that time, not the title held at the client site):
- 1996, Training And Course Development
- April 1996 - October 1996, Bank Boston security consulting
- August 1995 - April 1996, Open Market, software analyst / systems engineer
- 1992 - June 1995, Fidelity Investments:
- Lone systems administrator for the Fixed Income Trading Floor for 1.5 years
- Systems administration, hardware and software specification, etc.
- Software toolsmithing including a trade generation system written in TCL
Home Internet system
"Back in the day" it used to be interesting to cite the fact that I had a system that was on the Internet from home, complete with various servers and firewalling. These days, no one bats an eye, but there it is anyway. Though records have shuffled around a bit, I registered AJS.COM in 1994, and Internet Archive shows that I had Web services running in late 1996.
I also do a fair amount of programming on my own time. I am the author of a number of tools including plug-ins for The GIMP and library modules for Perl. If you want to see a sample of my work, download the latest development version (1.1.4 or later) of The GIMP source code and look under
plug-ins/perl/examples/image_tile. Or, get it here. believe it or not, this is the kind of thing that I do for fun....
Provided upon request.
Samples of my Work Online
- search_sample: http://www.ajs.com/~ajs/search_sample.py
A simple binary search tree implementation. This isn't terribly practical or interesting, but I didn't have an example of my recent work in Python that I could use freely. The following examples are fairly old Perl code from my Perl days, but they're also more practical examples.
- mkpasswd: http://www.ajs.com/ajswiki/Mkpasswd
Password generation is a hard problem that I've written a program to solve. It has followed me from job to job getting better along the way. You can have a look at mkpasswd's source code and documentation from my Web site.
- mktreasure: http://www.ajs.com/d20/mktreasure
More recently, my gaming interests lead me to write the world's most complete d20 SRD 3.5 treasure generator. In case that means nothing to you, feel free to check check out its Wiki page (mktreasure) on AJS.COM which includes links to the source code.