Kenton Varda
[physical address redacted]
Mountain View, CA 94043
********@*****.***
Attention headhunters: I am currently quite happy with my job at Google and am not looking for job offers.Skills Summary:Large-scale object-oriented software designC++ performance tuningGeneral abilities:Fast learner; able to teach self quickly using documentation and internet resources.Strong planning and problem-solving skills.Good at integrating diverse ideas into single, clean, unified systems.Work Experience:
Jul 2005-
Present Google, Inc.
Senior Software Engineer (promoted twice)
http://www.google.com
Protocol Buffers
Technical Lead
http://protobuf.googlecode.com
http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html
Lead open source release effort -- and did most of the work.Rewrote and cleaned up C++ and Java implementations (originally written by Jeff Dean, Sanjay Ghemawat, and others).Added several features which have improved usability and performance.Supported thousands of developers inside Google and more outside.
I am in charge of Protocol Buffers, a tool used by nearly all of Google's servers to encode structured data. The project is not
formally staffed, as engineers on other projects are generally expected to improve the core tools as needed. However, after I contributed
some highly popular improvements early in my time at Google, people began to look to me to take charge of the project. I have since
completely rewritten the C++ and Java implementations and lead the effort to release them as an open source project.
Universal Search
http://googleblog.blogspot.com/2007/05/universal-search-best-answer-is-still.html
Played a key role in enabling Google's Universal Search.Wrote and supported infrastructure which is now central to nearly all of Google's search-based services.Won an EMG award (given to teams who meet ambitious goals).
I was one of the first few engineers working directly on the infrastructure powering Universal Search. My team rewrote a significant portion of
Google's search pipeline in order to enable mixing and ordering of results from several corpora (e.g. web, news, maps, etc.) into a single search
results page.
May 2003-
Feb 2004 Level 25 LLC
Lead Programmer
http://www.level-25.com (defunct)
Worked as the lead programmer for this internet-based game developer.
Jun 2003-
Aug 2003 University of Minnesota - Computer Science Department
Research Assistant
http://teyjus.cs.umn.edu
Assisted in the development of the Teyjus implementation of the Lambda Prolog programming language.
Jan 2001-
Jan 2002 HotIM Corporation
Software Engineer
http://www.hotim.com (defunct)
Designed and wrote most of the beta server for HotIM's secure instant messaging and presence detection system.Open Source Projects:
These are personal projects I worked in for fun. Source code may be freely downloaded from project web sites. Line-of-code counts are as reported by wc -l.
Aug 2002-
June 2005 Evlan
Individual Project
http://evlan.org
Designed the Evlan programming language.Wrote the prototype implementation. (79644 lines of C++, 8756 lines of Evlan, 1642 lines of Java)Wrote an HTTP/1.1 web server entirely in Evlan, which now powers evlan.org itself. (3016 lines of Evlan)
Evlan is a general-purpose, purely-functional, object-oriented programming language with capability-based security.
Feb 2005-
March 2005 Io Community Manager
Individual Project
http://evlan.org/server
Designed and implemented a powerful, multipurpose content management system. (17168 lines of Evlan, 545 lines Java (applet))Currently powers several web sites, including its own.Still used by the at Berkeley for class web sites, despite a lack of support, because they find it "better" than alternatives like Movable Type.
Io Community Manager is a web site content management system originally developed to support the Fate of Io project. On the server side, it is entirely written in Evlan, running on top of Evlan's included web server. Its features include dynamic content editing, weblogging, forums, chat, and file upload/download management.
Apr 2001-
July 2005 Fate of Io
Producer
http://fateofio.org
Co-managed an online video game creation project involving hundreds of contributors.Wrote a large Java-based web application to run the project's web site. (6795 lines of Java, 588 lines of SQL) (This was later replaced with Io Community Manager.)
Feb 2001-
Jun 2002 GUF - the Grand Unified Framework
Individual Project
http://guf.sourceforge.net
General-purpose C++ framework library. Unfinished.
May 1999-
Feb 2001 GAUGE^3D - the Grand Unified 3D Game Engine
Founder / Lead Programmer
http://gauge3d.org
Open source 3D game engine written in C++, with some code contributed by others. Unfinished.Formal Education:
Sep 1999-
May 2003 University of Minnesota, Twin Cities
Institute of Technology, Honors Program
Bachelor of Science in Computer Science, May 2003
Emphasis on artificial intelligence algorithms and implementation.
Overall GPA: 3.82/4.0 (129 credits)
Major GPA: 3.86/4.0 (40 credits)
Dean's list: Fall '99, Spring '00, Spring '01, Fall '01
Detailed Skill List:Expert in:
C++1 2 3 6 Object-Oriented Design3 6 Distributed Systems1 2
Programming Language Design3 Highly skilled in:
Java1 3 4 5 Python1 OpenGL6
C++ Performance Tuning3 4 HTTP/1.1 Protocol3 HTML/CSS4 5
Web Programming4 5 Win32 API3 6 POSIX API3 6
Software Security3 4 5 Unix Shell Project Management1 6
Open Source Development Practices1 Search2 Testing Practices1 2Some skill with:
Compiler Implementation3 Virtual Machine Implementation3 SQL5
Java Servlets5 Java Applets / JSP4 Unix Server Administration3
Cryptography4 5
1 Experience in part from Google (Protocol Buffers).
2 Experience in part from Google (search infrastructure).
3 Experience in part from Evlan.
4 Experience in part from Io Community Manager.
5 Experience in part from Io Project Manager v4.
6 Experience in part from Level 25, GAUGE^3D, and/or GUF.