Duncan Mak
353 Prospect St, Apt. 2. Cambridge, MA 02139
(617) 379-1149, duncanmak@gmail.com
Objective

Apply my skills to create delightful solutions to challenging real world problems.

Continue to improve as a programmer by tackling both design and implementation of complete software systems.

Employment
September 2008 ~ present Center for Brain Science, Harvard University Cambridge, MA
Software Engineer for the Connectome project
  • As the only software engineer in the lab, I created and maintained the software stack used by Harvard researchers. I learned to assess, design, and implement software solutions that meet the ever-shifting needs of cutting-edge science research.
  • Wrote the Piet image system used daily by neuroscience researchers. A cross-platform Java application with a polished UI.
  • Piet began as a tool for rapidly viewing large single electron micrographs and was extended to support sequential playback of terapixel image stacks, a feature unique in its class. Task-specific image annotations were subsequently added, which is now a key component in the ongoing research.
  • Led the development of multiple automated image alignment systems, including co-designing and implementing an image alignment algorithm in Clojure.
  • Designed and prototyped a bidirectional messaging pipeline that links up electron microscopes with a post-processing workflow: using XMPP messages to initiate image alignment, registration and feedback to image acquisition.
August 2006 ~ October 2006 VistaPrint Inc. Lexington, MA
Software Engineer
  • A member of the Gallery team, responsible for the product gallery used by the VistaPrint website.
    Fixed existing bugs and implemented new features as requested by specific product teams. Revamped how "popups" were implemented on the site.
  • Worked alongside a senior developer as part of internal effort to define and select a replacement for the bug and issue tracking system used in the company. Met with both technical and non-technical staff members to establish criteria for choosing this replacement. Wrote prototype migratory scripts to reveal possible database migration errors.
2001 ~ 2005 Novell Inc. (formerly Ximian Inc.) Boston, MA
Intern for the Mono team
  • Responsibilities include managing and preparing the official releases of the Mono product, and the daily building and testing of the latest source code in the source respository.
  • Implemented parts of GDI+ and System.Drawing, System.Xml and System.Xml.Schema, as well as other parts of the .NET Base Class Library.
Summer, 2004
  • Released Mono 1.0, which included 12 components and was targeted for 6 distributions on the x86 platform.
  • Coordinated with the Desktop team to include Mono into the first Novell Linux Desktop product.
  • In conjunction with other product teams, reorganized how Mono was packaged and distributed.
Summer, 2003
  • Began implementation of System.Security.Policy and Mono.Cairo, a C# binding to the Cairo graphics library.
  • Continued to work on improving the Gtk# language bindings. Documented many parts of the API.
Summer, 2002
  • Fixed bugs in the Gtk# widget toolkit binding. Helped develop a demo program used by Miguel de Icaza in a keynote speech at LinuxWorld Expo.
Activities
2007 - 2008 Northeastern University Boston, MA
Independent Study
  • Under the direction of Prof. Olin Shivers, implemented a GNU Readline-replacement and a simple class-based object system in Scheme. Source code repository available.
Skills
  • Object-Oriented Programming using C#, Java and Squeak Smalltalk.
  • Extensive experience writing rich client-side GUI applications with custom components and graphics using Java Swing.
  • Functional Programming using Clojure and Scheme (PLT Scheme, Scheme48, Scsh).
  • XML and Web Services technologies (XMPP, SOAP, .NET Web Services).
  • Work experience with VB.NET, CSS and JavaScript.
  • Java performance tuning with VisualVM.
  • Image analysis using the ImageJ framework.
  • Fluent in English and Chinese (Mandarin, Cantonese and Taiwanese).
  • Able to speak, read and write French and Japanese.
Education
January, 2009 Northeastern University Boston, MA
B.A. in Computer Science
January, 2007 Northeastern University Boston, MA
B.A. in Linguistics
Summer 2005 Linguistics Society of America 2005 Institute
Sponsored by the Massachusetts Institute of Technology and Harvard University

Classes on Computational Linguistics as well as the Syntax of Chinese and Japanese

Spring, 2001 Concord Academy Concord, MA
High school diploma