\documentclass[sans]{moderncv} \moderncvstyle{casual} \moderncvcolor{blue} \name{David}{Thompson} \title{Software Engineer} \phone[mobile]{+1~(774)~289~6629} \email{davet@gnu.org} \homepage{http://dthompson.us} \begin{document} \makecvtitle \section{Objective} To acquire a software engineering position for the purpose of developing ethical Free and Open Source software. \section{Work Experience} \cventry{2014--Present}{Web Developer}{Free Software Foundation}{Boston, MA}{}{Web development for the advancement of the Free Software movement.\newline{} \begin{itemize} \item Helped migrate membership system from defunct in-house system to CiviCRM. \item Created new web interface for FSF members to manage their membership, payment, and contact information. \item Created JavaScript-based web client for live streaming the LibrePlanet 2015 conference using Icecast's JSON API and MithrilJS. \item Improved central authentication system by contributing patches to the rubycas-server project. \item Created an SRT to WebVTT subtitle conversion tool in Guile Scheme for use with HTML5 video. \item Extended many Free Software web applications to meet foundation requirements including CiviCRM, Drupal, Plone, MediaWiki, Piwik, and GNU MediaGoblin. \item Served as the Assistant Chief Webmaster of \url{gnu.org} \item Coordinated development efforts with volunteers worldwide. \item Wrote and spoke about Free Software publicly on behalf of FSF. \end{itemize}} \cventry{2012--2014}{Web Developer}{Vista Higher Learning}{Boston, MA}{}{Ruby on Rails and AngularJS web development.\newline{} \begin{itemize} \item Worked in large Ruby (Rails) and JavaScript (AngularJS, JQuery) codebase with thousands of active users on production servers. \item Lead development on single-page JavaScript web applications using AngularJS. \item Wrote extensive unit/integration tests for client and server-side code using RSpec, Cucumber, and Jasmine. \item Solved major performance problems via optimizing underperforming database queries generated by ActiveRecord, using Ruby's profiler and qcachegrind to examine poorly performing code, using tcpdump/Wireshark to investigate low-level HTTP issues, and using JMeter and PhantomJS for automated statistics gathering and stress testing. \item Worked on HTTP API microservice with Redis caching layer. \item Helped integrate sitewide XMPP-based text/video chat system with JavaScript client and specialized authentication backend. \item Worked with team that highly values peer code review before applying patches. \end{itemize}} \cventry{2010--2012}{Intern}{Cyberonic Internet Communications}{Worcester, MA}{}{Web development and GNU/Linux system administration.\newline{} \begin{itemize} \item Performed MySQL to PostgreSQL database migration for new customer management and billing system. \item Administered Debian and CentOS production servers. \item Developed a multi-location WiFi captive portal management web application using PHP, JavaScript, and FreeRADIUS. \end{itemize}} \section{Free and Open Source Software Contributions} \begin{itemize} \item GNU Guix -- core developer -- Purely functional package manager, system configuration tool, and GNU/Linux distribution written in Guile Scheme. \item Sly -- author -- Game engine featuring live coding and functional reactive programming written in Guile Scheme. \item GNU Guile -- contributor -- Implementation of the Scheme programming language. \item srt2vtt -- author -- SRT to WebVTT subtitle converter \item KADE -- contributor -- Microcontroller firmware for arcade controllers. \end{itemize} \section{Education} \cventry{2008--2012}{Bachelor of Computer Science}{Worcester State University}{Worcester, MA}{\textit{3.7 GPA}}{Recipient of a 2012 Academic Achievement award\newline Member of Programming Team (2010-2012)} \end{document} %% Local Variables: %% compile-command: "pdflatex resume.tex" %% End: %% end of file 'resume.tex'.