Hi, you’ve found my “full” resume (i.e. curriculum vitae). It isn’t tailored for any specific job application, and contains a very wide sampling of skills and experience (often not specifically related to my chosen profession in technology). I mostly use it as a conversation starter before providing a more concise/professional PDF version.
This is always my most up-to-date resume — if you ask me for an updated version, I will just send you this URL.
If you have my phone number on file, please do not call it. I don’t answer unknown numbers and you are much more likely to receive a reply by sending job details to me via email. I check my email regularly and will reply quickly if I’m interested.
Please feel free to check out my LinkedIn profile, which I also keep up to date.
In my career as a software engineer/architect, I have worked extensively with most of the popular technology stacks in use over the last 25+ years and dabbled with most of the others. I love designing APIs that are intuitive for other developers to use and understand, and systems that operate efficiently and are easy for future generations of developers to maintain.
COMPUTER SKILLS AND BUZZWORDS
- Database design: Considerable knowledge of design, administration, and performance tuning of MySQL, PostgreSQL, and SQLite. I also have experience with NoSQL, graph, and document-based systems like ArangoDB, ElasticSearch (lucene), Memcached, Redis, and Solr.
- Infrastructure as code: Automated infrastructure using tools like Ansible, Terraform, Chef, and AWS CloudFormation.
- Cloud Services: Extensive experience using and administering AWS services like IAM, EC2, S3, Mechanical Turk, and more (they keep adding things!), but I have also worked with Google Cloud services and APIs, and to a lesser extent with Digital Ocean, Azure, and Rackspace.
- Project management: I am a strong believer in Stanford Design Thinking and identifying/solving the underlying problem rather than what the user perceives the problem to be. I have also been a Certified Scrum Master (renewal lapsed), and have experience with a variety of other agile practices.
- Expert knowledge of RTFM and STFW.
Sr. Software Engineer: Xinova Seattle, WA, 4/30/18 to 8/31/20
- Engineer and back-end architect on Xinova’s “global market network” platform team responsible for designing and implementing what will effectively be a “social” network and workflow engine that connects our partners with the world’s skilled innovators, and tracks their interactions from idea to implementation.
- Worked closely with front-end engineers, product, and business managers to pivot from REST-based API served by an overly complex and inflexible network of golang microservices to a more agile GraphQL service (Ariadne/Python3) better suited to changing business needs and significantly smaller development team, with a focus on performance, rapid development, and easy learning curve for future engineers.
- Primary contributor to design and implementation of all back-end services and infrastructure, from the application itself to developer environment/tools, CI/CD deployment Google Cloud, and management of the production ArangoDB cluster.
- Designed flexible ACL system using ArangoDB’s graph query system, capable of enforcing access control based on arbitrary criteria to fit business needs.
- Tutor front-end engineers in Python3 and ArangoDB’s AQL language.
- Help grow team from 5 engineers to approximately 15 (plus product and design) while developing a large microservice platform in golang running on kubernetes in Google Cloud, along with Postgres, Elasticsearch, Docusign, and other related technologies. Work was shared evenly among the team but my personal contributions focused heavily on contract management (Docusign), Elasticsearch, and the beginnings of data collection for analytics, metrics, and machine learning.
- Worked closely with other senior engineers, and mentored less-experienced engineers in systems architecture and API design.
Sr. Software Engineer: MetaBrite Seattle, WA, 7/31/16 to 3/27/18
- I did a little bit of everything at this now-defunct startup that focused on scanning grocery receipts and extracting and intuiting relevant information for the needs of our partners and data vendors.
- Python/cython developer on distributed OCR and data extraction system involving RabbitMQ/Celery, REST, Protobuf, PostgreSQL, Tesseract, Google Vision, AWS Mechanical Turk, ElasticSearch, and other related technologies.
- Worked closely with Machine Learning developers to build tools in cython to optimize their training and analysis scripts, making them faster and easier to run.
- Evangelize infrastructure-as-code methodologies like Terraform and Salt to manage and automate large and small deployments in AWS.
- Implement major changes to our Android SDK and Demo App after a technology pivot.
Sr. Applied Architect: Nordstrom Seattle, WA, 1/12/15 to 7/27/16
- Helped design and build better mobile experiences for Nordstrom’s customers and salespeople alike, including the privacy-focused NEXT salesperson-to-customer texting app with TextStyle (text-to-buy), and other cool projects for online, mobile, and in-store experiences.
- Analysis of API design, documentation, and tools for the best balance of privacy, security, and cost (both in money and time).
- Various iOS and Android projects using C#/.NET on the back-end.
Solutions Architect: RealPage Seattle, WA, 3/01/14 to 1/09/15
- Architect overseeing RealPage’s ActiveBuilding product as the team transitions from separate PHP and .NET applications to a modern Python 3 REST API and CoffeeScript-based single page web application.
Development Manager: RealPage Seattle, WA, 10/28/13 to 3/01/14
- Hire and lead the team of developers (and UI/UX designer) responsible for ActiveBuilding, a suite of web and mobile applications for multi-residence management and social networking.
Lead Development Engineer: ActiveBuilding Seattle, WA, 12/3/12 to 10/28/13
- Hire and manage a team of developers to transition development of ActiveBuilding’s core PHP-based SaaS application away from 3rd party developers.
- Guide future development of AB’s web application toward a more modern and robust service oriented architecture in support of internal and external REST API users, including responsive Angular.js web interface.
- Implement agile SDLC, and increase fault tolerance by standardizing AWS provisioning and deployment via Chef.
- Oversee agency and contractor development of mobile/responsive website and mobile apps.
Senior Software Engineer: RealNetworks Seattle, WA, 4/11/11 to 11/15/12
- Senior engineer on a consumer media cloud service, including heavy integration with mobile/web clients and third party APIs (e.g. Facebook). Primarily responsible for Java/Jetty server and distributed asynchronous workers, along with designing a scalable JSON-RPC API. Technologies used included PostgreSQL, Redis, RabbitMQ, Neo4j, noeqd, Heroku, Amazon S3, EC2.
- Senior engineer and architect for Firefly, a social media-sharing application. Responsible for all technical aspects of the project, from choice of primary language and frameworks to accompanying technologies like Elasticsearch (lucene), gearman, MySQL, and PostGIS.
- Focused rough business requirements into a database schema and JSON-RPC API, then implemented these as scalable python web application and media processing framework.
- Design and implement libraries for tight integration with third-party services like Facebook Graph API, Google Maps, OpenStreetMaps, and GeoNames.
- Oversee development of mobile app, produced by third party contractor.
Design Technical Lead / Senior Software Engineer: Marchex Seattle, WA, 9/01/08 to 4/08/11
- MCA team members are also responsible for upgrading the Ruby-based Call Mining platform from proof of concept to a product capable of real-world scale, processing and analyzing over 100k minutes of phone calls per month.
- Primary Engineer on Marchex’s Ruby-based Reputation Management product. Duties included working closely with product managers and UI designers, as well as re-architecting the existing beta application to scale to an estimated 200,000 daily users after its public launch.
- Technical Lead, overseeing development of PHP-, Perl-, and Java-based websites like Yellow.com and other directory sites operated by Marchex.
- Technical Lead for the Marchex Business Profiles Pages team, which was a major contributor to Marchex’s winning of the 2009 Search Engine Watch “Best SEM Technology Platform for SMBs” award.
- Lead team of web developers to design and implement company-wide standards for HTML and CSS design, and SEO best practices.
- Manage teams of 3-4 other developers.
Executive Director: Schedules Direct Seattle, WA, 7/07 to present (very part time)
- Founding board member of nonprofit corporation that provides TV listings data to users of Open Source and free software, along with education about Free and Open Source software.
- Coordinate and oversee work of other developers on the website and related services.
- Oversee day to day business and financial operations.
Director / Shareholder: Wingman Brewers Tacoma, WA, 8/10 to present
- Board of Directors and part owner of this craft brewery and Little Radio restaurant.
OTHER INTERESTING THINGS
- Open Source Software:
- I am a firm believer in the value of Free Software, and have been actively involved in several open source projects throughout my career.
- My personal contributions are all available on Github.
- 3d printing, design, CAD, and CAM
- I am an avid user of Fusion360, OnShape, and OpenSCAD for FDM printing, CNC router, and laser cutting designs.
- You can find most of my public designs at Thingiverse.
- Human Languages:
- Near fluency in conversational Spanish.
- Basic German.
The University of Chicago, Chicago, IL Master of Arts in the Social Sciences Emphasis on South Asian Anthropology Graduated: August, 2001 Whitman College, Walla Walla, WA Major: Philosophy Minors: Psychology and Religion Graduated: May, 1999