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
- Backend: Fluent in Haskell, Python, Rust and Ruby; capable with C, C++, Java, JavaScript, R, and PHP; familiar with bash scripting, Perl and Vala.
- Frontend: Fluent in Elm; capable with HTML, CSS and JavaScript (including React).
- Operating systems: Fluent in Linux (Debian-based, some CentOS and NixOS); capable with Solaris, UNIX, Docker, Kubernetes; familiar with OS X.
- Systems administration: Capable with Linux, Amazon Web Services; familiar with Windows, Terraform.
- Databases: capable with Mongo, PostgreSQL, Amazon Redshift, Amazon DynamoDB, Redis; familiar with CouchDB.
- Version control: fluent with Git; capable with Subversion, Hg, Phabricator; familiar with darcs.
- Miscellaneous: software configuration management, strong verbal and written communication skills in English and French, excellent troubleshooting and debugging skills, exceptional problem solving skills, good teams skills, experience as teacher, tutor and teaching assistant.
Professional Experience
- Teachable: Staff Engineer (June 2020-June 2022)
Instrumental in shipping Course Templates project, performing "gap analysis" just before launch and subsequently identifying a way to deploy. Guided design and implementation in the GC Tax API project, especially sharing knowledge gained by studying VAT/use tax mechanisms worldwide, reverse charge mechanisms, zero rating, etc. Collaborated with engineers from our parent company to identify possible technical opportunities. Drove consensus around workflow issues such as requirements that PRs be linked to Jira tickets. Led "Learnable", a casual biweekly meeting where team members shared knowledge about whatever. Discovered, tracked down and eventually resolved a discrepancy in our Datadog metrics. Additional minor engineering enablement tasks such as migrating from sentry-raven to sentry-ruby and moving our main monolith from using Lefthook to pre-commit to manage hooks and linters.
- Mozilla: Senior Engineer (Apr 2016-May 2020)
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. 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. 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. Provided guidance on "Pythonic" approaches and techniques, as well as suggesting well-regarded libraries such as argparse, requests, and arrow. 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).
- 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)
- Rensselaer Polytechnic Institute: Tutor (2003-2005)
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.