Adam Bachman Baltimore, MD adam.bachman@gmail.com https://github.com/abachman Staff level Full-Stack Software Developer ============================================================= Professional Experience ============================================================= Stitch Fix Sept 2021 - Current Baltimore, MD (remote) Principal Software Engineer on the internal GraphQL API platform team. We support, investigate, maintain, and extend every shared system related to GraphQL APIs at Stitch Fix. * Design and implementation of new GraphQL query complexity analysis tool for developers. * Design, implement, extend, deploy, and maintain libraries for GraphQL implementors and consumers. * Expert instrumentation, error detection, and on-call support for a large-scale, consumer facing, e-commerce platform in a microservices architecture. * Implement and communicate new initiatives across the entire engineering organization, such as . Primary tools and technologies: GraphQL, Ruby, Typescript, Ruby on Rails, React, Confluence, GitHub - - - US Citizenship and Immigration Services, Refugee and Asylum branch Jan 2020 - Sept 2021 Baltimore, MD (remote) / Washington, DC Technical lead and senior developer leading the technical design and implementation of new tools for Asylum interviews. * Design, implementation, and deployment of new, browser-based note taking and reference material presentation application. * Design, implementation, and deployment of new remote electronic signature collection application. * Provided direct mentorship to peers across teams, increasing overall development pace and reducing rejection of proposed features. * Lead internal training events. * Work directly with internal customers to explain the functions of our applications and receive feedback on the design and utility of the products. * Work directly with business stakeholders to justify our technical decisions and help them prove the benefits of our work. * Strategically forecast new directions for our team and the larger portfolio in which we operate, identifying gaps in our engineering practices and suggesting and leading implementation of solutions. Primary tools and technologies: React, Typescript, Ruby on Rails, Postgres, Redis, Jenkins, Pivotal Cloud Foundry, Microsoft Teams, GitHub Enterprise - - - Maryland Institute College of Art Fall 2018 - Spring 2020 Baltimore, MD Adjunct professor of Interactive Art specializing in network based projects and creative coding. I taught art students how to create software and hardware for the Internet of Things and with Processing in 2 to 6 hour studio sessions across four semesters. * Produced and published course materials for four different classes. * Mentored two teaching assistants through their first experiences with leading a classroom. * (Spring 2019) Project lead and class instructor for the MICAVIBE project, which produced 5 sculptural sensor installations and generated 68,000 unique book covers for the 2020 MICA Prospectus. - Project description: https://karlssonwilker.com/project/mica-1/ - Adobe documentary: https://creativecloud.adobe.com/discover/article/that-mica-vibe - - - Adafruit Industries May 2016 - December 2019 Baltimore, MD (remote) Lead--and mostly solo--developer of Adafruit IO (https://io.adafruit.com), an Internet of Things platform for Makers and the electronic DIY community. Primarily responsible for design and implementation of the React.js frontend, Ruby on Rails backend, soft-real time MQTT broker, and open source client libraries. * Full design and implementation of custom Stripe-based subscription billing system. We went from zero to more than 3000 paying customers during my tenure, without any billing errors. * Complete reimplementation of client application from Backbone + HTML to React Single Page Application, dramatically reducing page load time and allowing for a more dynamic user dashboard creation experience. * Scaled the fully custom Internet of Things message brokering system from averaging 5 messages per second to more than 150 per second. * Transitioned primary data stores without downtime, while maintaining an average roundtrip latency of 30ms for MQTT publish-subscribe events. * Authored and delivered comprehensive documentation for the public-facing HTTP and MQTT APIs. Primary Technologies: Javascript, Ruby, Ruby on Rails, node.js, HTML, CSS, Postgres, Dynamo DB, Arduino C++, Python, Go - - - Figure 53 April 2011 - May 2016 Baltimore, MD * Lead developer and maintainer of Tixato (https://tixato.com), a web-based ticketing solution for theaters and arts organizations. - Primary technologies: Ruby, Ruby on Rails, Javascript (especially jQuery, Backbone, and Coffeescript), HTML, CSS, MySQL. - Platforms: Heroku, Amazon Web Services - Over 700,000 tickets sold, more than $5,000,000 in payments successfully processed. - Independently planned, managed, and implemented multiple, large, critical refactoring efforts without loss of service or unplanned downtime. Specifically: language upgrade from Ruby 1.8.7 to Ruby 2.1.0; platform upgrade from Rails 2 to Rails 3; interface upgrades including the complete redesign and rewrite of live, customer facing browser-based interfaces and live APIs. - Designed and implemented a complete, custom browser-based seating chart designer and assigned seat selector using Javascript, HTML, and SVG. - Planned and implemented a conversion of our payment processing backend from Braintree to Stripe with no downtime, taking advantage of Stripe's more advanced merchant account integrations to improve the lives of our customers and our support staff. - Maintained PCI compliance and the continuing favor of our payment processing providers despite being in a very high credit risk category: third-party payment processor in the ticketing industry. This was accomplished by preventing fraud, ensuring prompt refunds, and maintaining a very low chargeback rate through careful interaction design and active customer service. * Designed, built, and maintained internal tools. - Sales report dashboards, software license sales storefront, multiple chat bots, scratch-built highly available custom help desk, server administration, automated crash report and feedback monitoring. - Technologies used: Ruby, Ruby on Rails, Sinatra, Javascript, Bash, Go, MySQL, Postgres, Google Spreadsheets. - Platforms: Heroku, Amazon Web Services, dedicated servers, Digital Ocean, Linode, Campfire, Hipchat, Slack. * Researched and initiated development of new technologies and web-based services for QLab, our flagship product. - Custom, real-time, Open Sound Control based protocol utilizing Websockets to connect desktop applications for remote control and communication. (qlab.io) - Custom command prompt with built-in programming language for live control of QLab across a local area network (https://github.com/abachman/qcmd) - Technologies used: Objective-C, Go, Ruby, Postgres, Redis, NATS, Javascript, Websockets (in browser and in native code). * Paired with company founder in development of new, slimmed-down media player, intended eventually as a replacement for "just the core" of iTunes. Currently in alpha release as Ultrasonic (http://figure53.com/ultrasonic/alpha/) * Initiated and lead discussions that brought about positive change in company structure, practicing empathy in soliciting feedback from coworkers and management, communicating openly and clearly, and participating in a redesign of the way Figure 53 worked. - - - Smartlogic Solutions November 2008 - March 2011 Baltimore, MD Consultancy based web developer responsible for planning, designing, implementing, deploying, and maintaining web applications built with Ruby on Rails. Depending on the project, I worked either as a member of a team or independently with guidance from the company's owners. We built custom applications for anyone from Fortune 500's to brand new startups. Over the course of my time with Smartlogic I transitioned from Junior Rails Developer to Technical Team Lead. - - - Black and Decker September 2006 - November 2008 Towson, MD Web and server-based software development, focusing primarily on internal facing applications for materials management, materials reporting, shipping and handling, and quality control. The technologies used included: Microsoft Windows 2000 Server, Windows XP, C# 2.0, VB.NET, Microsoft SQL Server, Access, Excel, and SQL Server Reporting Services. ============================================================= Education ============================================================= Towson University - Towson, MD Computer Science 2005 - 2006 Completed 14 hours of undergraduate and 12 hours graduate level Computer Science coursework. - - - Concordia University - Chicago, IL Bachelor of Arts in Theology and Education 1999 - 2004 ============================================================= Other Projects ============================================================= Open Source github.com/abachman 2008 - Current Full project listing on my personal README at https://github.com/abachman/ Highlights: - Chrome Extension: https://github.com/abachman/my-new-tab - Art / creative libraries: https://github.com/abachman/p5.websocket - Ruby gems: https://github.com/abachman/ulid-ruby - Instructional materials: https://github.com/abachman/creative-coding-fall-2019 - Explorations and research: https://github.com/abachman/hyperlog-browser - - - Society Robotic www.societyrobotic.com 2015 An internet-aware, interactive media studio. We designed and built physical spaces that talked to the web. - - - Baltimore Node baltimorenode.org 2009 - 2014 I co-founded Baltimore City's largest and most active Hackerspace. I set up the business entity and lead the initial search for a space, organizational design, and coordination of resources. Have you ever tried to manage large groups of "hackers"? Herding cats, my friend. ============================================================= Technical Skills and Buzzwords ============================================================= Languages: Ruby, Javascript, Typescript, Bash, SQL, Go, Python, C, Objective-C, HTML, CSS, Java, C# Frameworks: Ruby on Rails, React, Sinatra, Processing (java + p5.js), Backbone, jQuery, node.js Methodologies: Agile, Pair programming, Test driven development, Business driven development Platforms and Environments: Amazon Web Services, Heroku, Digital Ocean, fly.io, Linux, Mac OS X, Google Chrome Genres: e-commerce, Internet of Things, Reporting, Administration, Messaging, Security. Humanities: Team leadership, Experiential education, Peer mediation and mentoring, Group event facilitation