Ross Cohen 2128 Hayes St San Francisco, CA 94117 (650) 400-1529 rcohen@snurgle.org Objective To work with a great team of people with diverse experience at a company I can feel good about. Education September 1995-May 1999, Carnegie Mellon University (CMU) BS Double Major in Mathematics/Computer Science Work Experience August 2010-December 2015, Twitter Software Engineer * Developed and maintained storage services, including social graph and tweet store * Developed and shipped new timeline cache * Designed and architected tools to monitor and visualize system-wide failure domains such as microservices (and dependencies), network, queues, etc. September 2009-August 2010, Dropbox Senior Software Engineer * Worked on user facing features such as extended attributes on files * Wrote tests and setup continuous integration server for deployed code * Set up monitoring and graphing infrastructure for deployed machines * Improved tools used by the support team * Maintained in-office network August 2008-August 2009, Sycle.net Senior Software Engineer * Design and implementation of ANSI electronic insurance claim submissions * Design of system for creating customized mail marketing compaigns * Worked with large client to create custom accounting software * Wrote and maintained tools to create ORM interfaces and discover implicit database constraints based on existing code * Developed plan for rewriting web infrastructure while mitigating risk February 2006-August 2008, Mosuki LLC Architect * Design and implementation of new features * Maintain custom web application framework and Object-Relational Mapper * Database programming, administration and optimization March 2005-February 2006, BitTorrent, Inc. CTO * Hiring and management of engineering team February 2003-October 2003, There, Inc. Senior Software Engineer, Core Engineering team * Features and bugfixing on the servers and client of the 3D world. October 1999-October 2002, Akamai Technologies, Inc. Software Engineer, Linux Kernel team, October 1999-October 2001 * Worked with small team to maintain kernel tree for distributed network of 13,000 servers. * Added linux kernel features for performance, statistics reporting and hardware support, including multi-threaded coredumps and per-connection TCP statistics. * Wrote stable and efficient TCP traffic splitter for testing of new server software, including comparison of HTTP responses between production and test server to check for equivalence. See patents section for more details. * Wrote memory allocator used in several internal projects. * Wrote user-space timer code capable of handling tens of thousands of concurrent outstanding timers. Manager, Linux Kernel Team, October 2001-March 2002 * Interviewed, hired and provided orientation for entirely new 4 person kernel team in 3 physical locations around the country. Tech Lead, Kernel Team, March 2002-October 2002 * Reworked development model to make tracking 3rd party codelines and adding and upgrading externally maintained features significantly easier. Similar to recent quilt software. * Made high level and low level design decisions, including participation in many code reviews. * Tracked current Linux development projects to identify work which was relevant or useful. * Coordinated with other groups to gather requirements and design new features. July 1999-August 1999, Quantum Corporation Software Engineer * Wrote support tools for team working on programmable network storage. Summer 1998, Quantum Corporation Internship * Worked on hard drive simulation and optimization which exploit performance details of modern hard drives and applications. Added drive models and trace replay features to disksim package available at http://www.ece.cmu.edu/~ganger/disksim/ See patent 6,412,042. Summer 1997-1999, Parallel Data Labs, Carnegie Mellon University Undergraduate Programmer * Worked under Professors Garth Gibson and Greg Ganger. Wrote massive parallel FFT implementation as test suite for experimental parallel file system API. * Maintained hard drive and I/O subsystem simulator "disksim". 1995-1997, Computing Services, Carnegie Mellon University Cluster Consultant, Assistant Manager * Assisted in use of various platforms: several forms of UNIX, Windows NT, Mac. Patents "Identifying relevant messages in a conversation graph", patent 9,143,468. A method for filtering online reply-based conversations for more relevant and interesting entries. "Method and apparatus for testing request-response service using live connection traffic", patent 6,981,180, 7,406,627 and 7,793,157. Describes a method for splitting live web traffic at the TCP level to a test server in order to verify stability, performance and correctness from the IP layer up through the application layer. This is done through passive snooping of the live traffic so end users are completely unaffected. Personal Projects * The Neighborhood Project: Using Craigslist data, define neighborhoods according to popular opinion. Using blobbies. Webpage at http://hood.theory.org/ * Python-Epoll: Drop-in replacement for Python's select module using the more efficient epoll system call. Available at http://sourceforge.net/project/showfiles.php?group_id=163263 * Codeville: Distributed version control system. Supports arbitrary branching and merging between different servers, first class directories, ops: add, rename, delete. Written purely in Python. System Experience Known Well: Linux Some Knowledge: Windows, major Unix variants, Mac. Languages Known well: Python, SQL Some Knowledge: Scala, C, C++, Java, bash, Perl 5. Tools Experience gcc, make, perforce, cvs, svn, mercurial, emacs, gdb, tcpdump, ethereal, kerberos, X, apache, lighttpd, nginx, mod_perl, mod_python, postgresql, mysql, screwdriver, duct tape