work MSC #240, Caltech
Pasadena, CA 91126-0240
United States

Interests and Objectives

I enjoy writing useful applications, both on the web and desktop, that integrate nicely into users' workflows and make their lives easier. Often these take the form of screenscrapers, background applications, or data analyzers. I use these applications as an opportunity to learn new technologies or refine my skills with existing ones, always attempting to create very nice code that uses available frameworks exactly where needed. I am always seeking to refine my knowledge, techniques, and skills through active development.

Professionally, I have spent a lot of time writing web applications that provide nice interfaces for end-users to manipulate and view large data stores. For my own applications, I mostly work with Microsoft technologies (especially the .NET stack); however, my jobs have all involved more open-source Unix-based solutions, so I am fully capable of working in either world.

I hope to be employed at a software or web company making something exciting and useful, preferably user-facing (although those users might be internal to the organization). I would enjoy being given the opportunity to work with the latest technologies, either ones I have experience in or new ones entirely. Generally, I want to create cool software, alongside cool people!

Education

Formal

  • High-caliber course load at Caltech, focused on theoretical physics, foundational mathematics (model theory et. al.), and theoretical computer science.
  • See my transcript for details.
  • 3.6 GPA

Informal

  • I recreationally read books in user-interface design, programming technique, and on specific skills.
  • I subscribe to a number of blogs on various programming and development topics.
  • I participate on StackOverflow.com, a programming questions-and-answers site.
  • I am constantly honing my skills as I write my latest hobbyist application or play with a new technology.
    • As a simple example, a recent application that I wrote over a few small coding sessions used the .NET APIs for Google Documents to download a collaboratively-updated Google spreadsheet representing the course of a month-long 150-person game played at Caltech. It then processes and parses the results according to some business logic, and assembles several different views of the data, such as an RSS feed for updates on the game and a detailed scoreboard.

Skills

  • Languages/Frameworks: written extensively in C, C++, C# (1–3), Java (2, 5, 6), XML, XHTML, CSS (2.1, 3), JavaScript, ASP.NET (2.0–3.5), PHP (4, 5), Unix shell scripting, LaTeX; currently exploring WCF, WPF, and Silverlight.
  • Software Experience: Mathematica, Reduce, Linux, Windows, LDAP, MySQL, Apache, Visual Studio (6–2008), CVS, Subversion
  • General Programming: as a job (see below), in my research, and for fun, I have spent a lot of time programming complex applications of many different types; I feel confident in being able to take on any programming assignment.

Work Experience

  • Webraska (webraska.com), June–September 2002; 30 hours/week
    • Redesigned and recoded external web site (although the current incarnation does not reflect my work at all).
    • Maintained and updated internal website.
    • Reference: Jim Salter (manager)
  • Proofpoint (proofpoint.com), June 2003–present; 40 hours/week (summer), 1–8 hours/week (school year)
    • Performed quality assurance on flagship product, the Proofpoint Protection Server.
    • Architected, coded, and maintained internal website, LDAP directory, and other infrastructure features.
    • Designed an inventory database and wrote a web-based interface for it.
    • Wrote a program to synchronize the company LDAP directory with an internal Microsoft SQL Server-based tool.
    • Implemented visitor statistics tracking for external and internal websites.
    • Unified multiple patch-management structures into one cohesive database and interface.
    • Generally, performed miscellaneous coding jobs.
    • References: Jim Salter (manager), Craig Hirst (manager), Lisa Erikson (coworker in Quality Assurance).
  • At both companies, worked extensively with and on multiple teams across departments, both on projects that required collaboration and projects that required synthesizing the requirements of multiple groups. In general, I enjoy working in a team to create and maintain software.