Thank you for your interest! I encourage you to read the PDF version of my resume which is likely more up-to-date, and much more human-readable.
(Note: if second page shows as blank in your browser's built-in viewer; it will show up in a regular PDF reader app.)

The best way to contact me about my resume is via LinkedIn. Email or voicemail is fine too, but much more likely to get lost in the shuffle if I'm not a position to reply immediately.

Latest News

I've left Roblox, early on and am actively looking for a new opportunities.

Please note the following

At least for the immediate (Spring 2018) job search, I am not interested in making a transition to a non-JVM platform unless there is something very specific about my background (e.g. my storage or server-side performance-tuning work) that suits the position and the team would be very understanding of an extended ramp-up time on a new language/stack. I realize that some teams/managers are of the opinion that "any good engineer should be ready to learn any platform" if that's the primary interest in my background, please move along.

Please do not contact me about positions outside of the Bay Area unless you are willing to have me work 100% remotely; I am not open to relocating. Positions that involve a moderate amount of travel (up to around around two weeks per quarter) would be a plus, but I am also not open to positions involving an extensive/greater amount of travel.

Please do not contact me about consulting or jobs related to my present or prior employers. I am not under any circumstances be open to discussing any position relating to my prior employer's products or customers.

Highlights:

15 years of Software Engineering, primarily with Java enterprise and back-end web applications

WORK EXPERIENCE

Roblox
Senior Software Engineer
Jan 2018 — Mar 2018
Backend Software Engineer on the Web Core team.
Other details omitted as they involved a Microsoft tech stack that was new to me and that I'm not eager to work with again.
Technologies used: a non-Java platform, REST, SQL, Redis, some AWS services

Zipcar
Software Engineer
Mar 2016Jan 2018
  • Part of a small team building a new distributed system as the new core platform for Zipcar.
  • Back-end development of services in Java and Groovy, in particular extracting smaller services from a monolithic (Grails) fleet management application and writing new services to support broader Zipcar use cases.
  • Built a caching and search service used by the web UI and mobile apps.
    Technologies used: Java, Groovy, PostgreSQL, MongoDB, RabbitMQ, REST, SQL, Cassandra

    Facebook 
    Software Engineer 
    Oct 2014  Dec 2015   
  • Back-end development, primarily in Java.
  • Wrote code supporting internal applications moving from an old internal fork of an open-source infrastructure project to the mainline open-source version.
  • Contributed bug fixes and minor feature enhancements to the mainline open-source version of that project.
    I'm being intentionally vague about the specific project not because it's secret, but because when I listed it people zeroed in on that expertise when it's not something I feel expert in; I'm not opposed to working on it again, but it's not something I want to get contacted about it from keyword searches. Feel free to ask.

    Guidewire Software 
    Mar 2006  OctMar 2014   
    Guidewire builds software for the global property/casualty insurance industry. Their core systems for claims, policy, and billing are deployed at 100+ companies, including some of the world's largest insurance carriers.
    2012 — 2014: Suite Performance team 
    2006 — 2011: Product/Platform teams
    Implemented proximity-search and integration to outside geocoding services. Maintained the feature through 3 major release cycles. Improved performance by 10x across releases.
  • Built a "review" feature, which allowed users to author surveys, collect replies, and analyze the results. This project required a substantial integration between multiple existing products.
  • Worked with application developers on all three core products and platform team to find andfix performance and scalability issues.
  • Developer for internal "performance harness" application used for benchmark/scalability tests, cluster management, and performance-test analysis.
  • Implemented many new information and instrumentation pages to support internal benchmarking and to allow customer support to collect data for analysis from the field.
  • Responsible for a major expansion of shared storage for performance testing Guidewire'applications at large scale on Oracle RAC; wrote requirements and budget request, co-leadvendor evaluation and deployment.
  • Selected specifications and performed hardware/storage benchmarking for the application performance test practice.
  • Ordered, deployed and tuned Guidewire's first SSD-based database servers for performance testing. These systems accelerated two separate major proof-of-concept scalability tests, on two different products, each by more than a month.
  • Technologies used: Java, Linux, SOAP/REST, Tomcat, Servlets/JSP, Oracle, RAC, SQL, Perl, SSH, Virtualization, iSCSI, NFS, CIFS, Apache httpd, SSD, RAID

    See PDF for older experience

    EDUCATION

    University of California, Santa Cruz 
    M.S. in Computer Science 
  • Thesis: "MRAMFS: A Compressing File System for Byte-Addressable NVRAM
  • Advanced seminars included Operating Systems, Storage Systems and Archival Storage 
  • TA for CMPS115 Software Methodology, a senior level software engineering course 
     
    Dartmouth College, Hanover, NH 
  • B.A. in Anthropology. Computer Science Minor. 

    PUBLICATIONS 
    Nathan K. Edel, Deepa Tuteja, Ethan L. Miller, and Scott A. Brandt, " MRAMFS: A Compressing File System for Non-Volatile RAM," Proceedings of the 12th IEEE/ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2004), Volendam, Netherlands, Oct. 2004

    Nathan K. Edel, Ethan L. Miller, Karl S. Brandt, and Scott A. Brandt, "Measuring the Compressibility of Metadata and Small Files for Disk/NVRAM Hybrid Storage Systems," Proceedings of the 2004 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS'04), San Jose, CA, Jul. 2004

    RELEVANT SKILLS

    Languages:
  • (proficient-to-expert) Java
  • (comfortable) C, Gosu, Groovy, Perl, SQL
  • Application/Web Server: Tomcat, Apache httpd
    Technologies/APIs: Servlets/JSP, Linux kernel APIs (VFS especially), XML/DOM, REST/SOAP/WSDL/web services, email network protocols (MIME, SMTP, IMAP, POP3), some familiarity with other J2EE technologies
    Development Tools: IntelliJ IDEA, perforce, Jira, gcc/gdb, cvs, git, svn, Bugzilla, some familiarity with Eclipse
    Operating Systems: Linux (20 years+ from SLS & kernel 0.99), Windows (end-user)
    Databases:some familiarity with Oracle, JDBC, Perl DBI, mysql, and MS SQL Server
    Storage: SCSI/SAS/SATA, RAID, LVM, NAS/NFS/SMB, iSCSI, SAN/Fiber channel, some familiarity with FCoE and with cluster file systems including Ceph and HDFS

    ACTIVITIES & INTERESTS 

  •   Photography 
  •   Travel and Frequent Flyer miles