Resumé: Chris Petersen
Last Updated: 2020-08-15
TLDR
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
Software development:
I have most recently used Python/cython, Go, Java, and UNIX shell scripting. Comfortable but rusty with Perl, Ruby/Rails, PHP, C#/.NET, and Javascript. Reading knowledge of Objective C, C, and C++.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; link broken), and have experience with a variety of other agile practices.Web Design:
Though I prefer to focus on the back-end side of things, I started my career as a full stack web developer. When needed, I can hold my own when it comes to modern HTML, CSS, and Javascript, and I have a great deal of experience with SEO (search engine optimization) and web-based user interface design.- Expert knowledge of RTFM and STFW.
RELEVANT EXPERIENCE
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/21/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.
- Oversee and assist in development of traditional MVC PHP application while transitioning it to a more services oriented approach, including architecture of a new public REST API, and implementing a new Responsive CoffeeScript/JavaScript web application to eventually serve mobile and desktop browsers.
Lead Software Development Engineer: Active Building.
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, gearman, MySQL, and PostGIS. Project ended 2012-02.
- 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.
Senior Software Engineer: Marchex.
Seattle, WA, 9/01/08 to 4/08/11- Senior engineer for Marchex Call Analytics team, responsible for maintaining a large Perl, Mason, and Javascript application and updating it to work with improvements to the supporting PostgreSQL, Asterisk, and Redis architecture.
- 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.
- Help design and implement web-based tools and sites for Marchex's Publishing department.
- 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.
NON-RELEVANT EXPERIENCE
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.
- Designed, implemented, and maintained original schedulesdirect.org website, using PHP, Perl, SOAP, CSS and Javascript technologies.
- 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.
Older EXPERIENCE
Older experience is available upon request.
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](https://github.com/ex-nerd/).
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](https://www.thingiverse.com/ex-nerd/designs).
Human Languages:
- Near fluency in conversational Spanish.
- Basic German.
EDUCATION
The University of Chicago
, Chicago, IL
Master of Arts in the Social Sciences
Emphasis on South Asian Anthropology
Graduated: August, 2001Whitman College
, Walla Walla, WA
Bachelor of Arts in Philosophy
Minors: Psychology and Religion
Graduated: May, 1999
ARCHEOLOGICAL EXPERIENCE
Piramides de Güímar
: November, 1999.- 3 weeks of digging on the island of Tenerife (Canary Islands, Spain).
- Directed by Dr. Thor Heyerdahl.
- Surveyed pyramids for map-making, worked as dig photographer, and spent some time digging and sifting.
- Project page via the internet archive.
Khirbet Cana
: July and August, 1998.- 5 weeks of digging in Israel with the University of Puget Sound.
- Detailed daily lectures on archeology, early Galilean culture and Biblical scholarship.
- Archeological tours led by local experts to many of the ruins in and around the Galilee.