Betacantrips/ resume

Ethan Glasser-Camp: Computersman

ethan.glasser.camp@gmail.com

Homepage: http://www.betacantrips.com/

(PDF version also available.)

I am a strong generalist computer programmer looking for an opportunity to use my skills to better the world.

Skills

  • Programming: fluent in Haskell, Python, Rust and Elm; capable with C, C++, Java, JavaScript, Ruby, R, and PHP; familiar with bash scripting, Perl and Vala.
  • Operating systems: fluent in Debian Linux and Ubuntu, capable with NixOS, CentOS, Windows 9x/2000/XP, familiar with OS X
  • Systems administration: capable with Linux, Amazon Web Services, familiar with Windows
  • Databases: capable with Mongo, PostgreSQL, Amazon Redshift, Amazon DynamoDB, Redis; familiar with CouchDB
  • Web design: capable with HTML, CSS, JavaScript.
  • Tools: fluent with Git; capable with Javadoc, Subversion, Bzr, Hg, Phabricator; familiar with Epydoc, darcs
  • Communication: fluent in English, capable in French
  • Teaching: experience as teacher, tutor and teaching assistant

Professional Experience

  • Mozilla: Senior Engineer (Apr 2016-present)

Developed and maintained backend services and their integrations in Firefox, in particular the implementation of the chrome.storage.sync feature and real-time support for Remote Settings. Designed reporting system to ensure continued success of client-side functionality such as Remote Settings and Normandy. Spotted and prevented a bug that (had it shipped) would have cost Mozilla tens of thousands of dollars per month. Successfully mentored one Outreachy intern.

  • SumAll: Senior Engineer (March 2014-Mar 2016)

Developed backend services, including integrations with third-party APIs such as Twitter, Desk.com, and Instagram. Helped transition the backend software team to Haskell as its main programming language. Filled in "missing pieces" of our service-oriented architecture, such as a client library for the Eureka service discovery mechanism. Designed major components of the architecture for the v4 rewrite. Successfully led 3 employees through internships. Served as team lead on the backend software team for one quarter.

  • Pave: Engineer (October 2012-March 2014)

Developed the company's website using Flask, LESS, and RequireJS. Wrote user registration/login modules, following best practices for password handling. Implemented the first version of our campaign pages. Wrote our integration with Paypal (never used due to business reasons). Provided guidance on "Pythonic" approaches and techniques, as well as suggesting well-regarded libraries such as argparse, requests, and arrow. Migrated codebase from custom-made Mongo interface code to MongoAlchemy. Switched from development hosted on Phabricator to a pure GitHub-based workflow.

  • Peace Corps Cameroon: Education Volunteer (June 2010-August 2012)

Taught "informatique" (that is, computer science, but in French) at a high school level for two full school years. Subjects taught include word processing, spreadsheets, HTML/CSS/JS, and networking. Managed a computer lab of 20 computers. Maintained infrastructure for other Volunteers.

  • HUGE (hired by iVillage): Web Developer (May 2009-May 2010)

Helped redesign three "verticals" (Entertainment, Food, and Health). Worked on data access code (PHP), as well as occasionally on Ruby/Rails frontend code. Assumed maintenance of PHPHaml after upstream was unresponsive.

  • 10gen (now MongoDB, Inc.): Software Engineer (2008)

Worked on Babble, the company's multi-language cloud computing application server, developing and maintaining Python support using Jython. This project was eventually shut down.

Developed forum, admin, and bug tracker components for client sites using server-side JavaScript.

Helped directly to develop and maintain client sites in server-side JavaScript.

  • Sixth Floor Labs: co-founder and lead developer (2006-2007)

Sixth Floor Labs was my fresh-out-of-college business idea. A couple of friends and I tried to develop a video game using the Ransom model for publishing, but due to our inexperience and not soliciting enough customer feedback, we did not succeed.

  • Rensselaer Polytechnic institute: Teaching assistant (2006)

Major duties included grading, drawing up project assignments, one-on-one tutoring, and proctoring.

  • Rensselaer Polytechnic Institute: Tutor (2003-2005)

Aided students in learning the concepts, techniques and skills of computer science and computer programming. Courses covered included Computer Science I, Computer Science II, Data Structures and Algorithms, Computer Organization, and Models of Computation.

Academics

  • Rensselaer Polytechnic Institute, 2002-2006 summa cum laude
    • B.S. in Computer Science (GPA 4.0)
    • B.S. in Psychology (GPA 4.0)
    • M.S. in Computer Science (GPA 3.93)
    • Dean's List every semester
    • National Merit scholarship
  • Stuyvesant High School, 1998-2002

Interests

Games, the open source movement, the digital divide, geek feminism, and the broadening of computer technologies to be ever more powerful and useful to those who don't necessarily understand them.

I'm also interested in human-computer interfaces, foreign languages, compilers, version control systems, programming languages.

If you're looking for samples of work I've done, please check my portfolio.

Blue Sky design by Jonas John.