Curriculum Vitae

I’m Eric, a software engineer in Portland, Oregon. I believe in eloquent code, human-centered design, and technology that empowers instead of controls. I’m passionate about free software, the written word, and design in service of the greater good.

Skills

  • Front-end software engineering: highly fluent in JavaScript and CSS as well as numerous templating languages, preprocessors (Sass/Babel), build tools (Gulp, Webpack), frameworks (Vue, React, Stimulus), and browser APIs; expert in responsive design techniques; experienced in balancing the trade-offs between performance optimization, developer happiness, and audience inclusivity. Excited about the many new developments in JavaScript and CSS.
  • Full-stack software development: experienced at building and deploying production-quality applications using Ruby and Node.js, complete with comprehensive test suites at both unit- and system-level, continuous integration and deployment, and documentation (for end-users and developers). Also experienced at implementing authentication strategies on both client and server, managing application secrets, and handling user data securely.
  • Architecture skills and best-practices including data modeling and API design, implementation of custom features to spec, managing complexity and ensuring quality in a large codebase, instituting code-review processes, pair programming, breaking down high-level goals into actionable issues, and translating between technical and non-technical stakeholders.
  • Design background: Trained in traditional (print) design and also fluent in modern UX practices such as user research, persona development, and design thinking. Passionate about typography and minimalism.
  • Inclusivity, openness and collaboration: approaches both software and life generally with empathy, patience, and an eye to the greater good.

Experience

Lead Developer, Rumors Studio (2018–present)

  • Currently leading development of a complex Vue.js single-page application for a major hotel which launches in Fall 2018; the application serves as the single point of contact for guests to manage their stay and interact with various hotel services, automating many tasks which previously required extensive human intervention. Responsive, mobile-first design plays a key role. The product is component-based, extensively documented, and rigorously tested.
  • Currently leading UI development on an new product for Verso Books, a major academic publisher, which provides subscribers with the searchable full text of thousands of books along with other research aides. Initial user testing of this product has already demonstrated high levels of engagement and excitement.
  • Put in place standards for many software best-practices in the studio: code review, coding standards and linting, modern deployment practices, automated testing, and documentation. Spearheaded a move away from legacy practices (FTP/SSH-based maintenance and deployment) to modern cloud-based, automated processes (Heroku, Netlify, Circle CI).
  • Maintained, refactored, and improved legacy projects for various clients. Tasks included: re-working overly complex CSS code, refactoring JavaScript features without impacting the front-end experience, reorganizing an application for clarity and ease of contribution, and adding test coverage where none existed previously.
  • Mentored other developers and helped to foster a culture of collaboration and shared knowledge.

Digital Publication Developer, J. Paul Getty Museum (2014–2018)

  • Designed and developed a series of digital art catalogues from the museum’s Antiquities collection as part of a groundbreaking project to explore new approaches to digital publishing. Key features included a beautiful and responsive reading experience, deep-zoom viewers for artifacts, interactive maps powered by Leaflet.js, full text search using Lunr.js, and the automatic generation of PDF, ePub, and print-on-demand versions of the books from the same source files. Developed custom sofware in Ruby to extend existing build tools and to process large collections of image files. More about this project here.
  • Developed an open-source digital publishing framework in Node.js called Quire, based on lessons learned in the earlier catalogue projects, with a focus on making it easier for other museums and small publishers to create interactive, multi-format art books. Several digital publications both inside and outside the Getty are currently being developed using this framework.
  • Planned, designed, and developed a custom Rails application enabling museum staff to organize and edit book metadata for hundreds of titles.
  • Designed and developed a prototype in Vue.js for a highly interactive, multimedia publication on avant-garde and Fluxus performance scores. Extensive collaboration with scholars on this project led to innovative visualization experiences powered by P5.js and IIIF, which have the potential of making complex works by artists like John Cage more accessible to non-specialists.
  • Acted as an evangelist within the museum for modern web technology, and created a 5-week workshop for museum staff on the basics of HTML, and CSS. Taught several editors, curators, and admin staff how to participate effectively in software projects using git and GitHub. One editor wrote about her experiences in this process here.
  • Gave talks and led workshops about these projects in the wider museum technology community.

Senior Designer, Hammer Museum (2011–2014)

  • Oversaw the design, art direction, and production of exhibition graphics, museum signage, marketing collateral, brochures, and web collateral for a leading contemporary art museum in Los Angeles
  • Worked closely with artists, educators, and curators to translate ideas into finished designs
  • Led a small team of designers and contractors, and coordinated complex projects with staff throughout the museum to ensure that work remained within budgets and deadlines.

Education

  • General Assembly
    Back-end Web Development, 2014
  • UCLA Extension
    Design Communication Arts certificate, 2011
  • UNC Asheville
    Bachelor of Arts, Philosophy, 2006

Talks, Workshops, & Articles

  • Data-driven Approaches to Publishing, Museum Computer Network 2017. Audio recording available here.
  • Creating Anti-Oppressive Spaces Online, Museum Computer Network 2016, panel discussion. Some resources from the talk are available here.
  • The Future is Static: Building Future-proof Digital Publications at the Getty, Museum Computer Network 2016. Audio recording available here (begins around 0:30), slides available here.
  • “Digital Publishing Needs New Tools”, The Iris, November 2015.
  • Getty Code Camp, Summer 2017. A colleague and I ran a free, 5-week crash course on web technologies for fellow Getty staff.

Additional Interests

  • Passionate analog photographer. Shooting film and working in a darkroom has become an important break from an otherwise technology-mediated existence.
  • Avid cyclist and bicyling advocate. In 2015 I participated in the Climate Ride, a 5-day bike ride from Eureka to San Francisco, raising thousands of dollars for environmental non-profit organizations in the process.
  • Life-long activist for progressive causes including immigrant rights, public education, freedom from surveillance, and anti-racism. I first learned about design through my involvement in social movements, and this perspective continues to inform my work today.