Ramkumar Ramachandra
artagnon@gmail.com | artagnon@apache.org
+91 (99329) 00753
Indian Institute of Technology, Kharagpur
West Bengal, India
Summary
I have a strong software engineering background coupled with extensive experience in working with various development communities, as demonstrated by my string of successful projects. I’m looking for a full-time position at a corporate with a strong engineering culture, and challenging backend software engineering work, especially related to storage, network protocols, and compilers.
Work experience
Software Engineering Intern – Amazon.com [Summer 2011]: Worked with the Builder Tools team to teach the Perforce-centric build infrastructure to work with Git. The work involved creating a new tool to work with multiple Git repositories in a unified workspace, and integrating it into the existing build infrastructure. The tool, written in Ruby, stitches histories from multiple Git repositories together using different stitching strategies, and provides a consistent interface to the workspace. One of the main challenges involved cleverly crafting fast-import streams.
Student – Google Summer of Code [Summer 2011]: Worked with the Git community to build a framework to sequence arbitrary operations. Authored the ‘--reset’ and ‘--continue’ features of ‘git cherry-pick’ and ‘git revert’.
Committer – Apache Software Foundation [July 2010 – Present]: Primarily involved with the Subversion project. Authored svnrdump1, a tool written in C, to import and export revision history over the network quickly. The work mainly involved leveraging the API to replay a dumpfile stream over the network. Performance enhancement involved profiling using Valgrind to optimize the data structures and callsites. The tool is already part of Subversion, and is scheduled to be released along with Subversion 1.7.
Student – Google Summer of Code [Summer 2010]: Worked with the Git community on a large project to create infrastructure for Subversion interop. The work, most of which was in C, involved translating histories, and introducing new fast-import commands to aid imports from Subversion-like version control systems. The work, which is now a part of Git, has resulted in strengthening the infrastructure underlying remote helpers.
Research Intern – IT University of Copenhagen [Summer 2010]: Developed an online partial evaluator for a spreadsheet-based language on the .NET platform. The work, most of which was in C# and Standard ML, involved studying and benchmarking the performance of existing just-in-time compilation techniques and partial evaluation techniques.
Contributor – Git [January 2010 – Present]: Regular on the Git mailing list. Contributed several features and bugfixes. Currently working on creating an error handling API, and turning parts of Git into libraries.
Contributor, Author – Various open source projects2 [2008 – Present]: Ranging from contributing tiny bugfixes to massive C++ projects like Google Chrome3, to being an active contributor to a tiny Emacs Lisp project like Magit4, I’ve worked with many communities, languages and codebases. I’ve also authored a fair share of software5, the most prominent of which are rejourn, a simple static HTML site generator written in Python, and phoenixfs, a versioning filesystem written in C using FUSE.
Software Engineering Intern – oCricket.com [Summer 2008, Winter 2008]: Worked with the startup at its initial stages to develop and deploy a content-based website in Python. Used several technologies including Django, PostgreSQL database, OpenID, ejabberd (XMPP application server), Amazon S3, and Apache webserver. Major challenges included designing a flexible database schema to minimize migrations, stripping the Django ORM to make lightweight queries, and writing a custom module to make Django work with Amazon S3 as a storage backend seamlessly.
Talks
FOSS.IN [Winter 2010]: Talked about the internals of the Git object store, centred around applications of the fast-import protocol.
FOSS.IN [Winter 2009]: Instructively decomposed simple Haskell programs into the Core language and explained graph reduction in one talk. Illustrated working of the Python compiler and advantages of an LLVM backend, using code from the Unladen Swallow project in the other.
Proficiencies
Hardened [can write production code]: C, Python.
Experienced [can write good code]: C++, Emacs Lisp, Ruby.
Knowledgeable [can write toy programs]: Haskell, Common Lisp, Javascript, C#, Bourne Shell, Perl.
Interests
I spend my free time travelling, reading, and watching films. While I occasionally enjoy fiction, I’m mainly into non-fiction; history, economics, and philosophy are among my favorite subjects. I love travelling and watching foreign language films, mainly because they give me insights into different cultures and ways of life. I also do a bit of essay writing, nature photography, and cooking.
Education
Indian Institute of Technology, Kharagpur [Expected graduation: April 2012]: Pursuing a 5-year integrated Masters in Physics. Advanced quantum mechanics and special relatively are among my favorite physics subjects. I’ve been actively involved with several societies in college, the most prominent of which are the Entrepreneurship Cell and the Linux User Group.
1 http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/?view=log
2 http://www.ohloh.net/accounts/artagnon
3 http://src.chromium.org/viewvc/chrome/trunk/src/AUTHORS?view=markup