Post Job Free
Sign in

Engineer Project Manager

Location:
SF, CA
Posted:
October 18, 2012

Contact this candidate

Resume:

Dan Bornstein

** ******* **. #*

San Francisco CA 94103

*******@****.***

415-***-****

Recruiters: See below!

(resume version #1206)

Objective

To lead a small- to medium-sized engineering group on an innovative project relating to

any or all of my areas of interest, experience and expertise: object-oriented and object-

capability runtimes (including virtual machines), operating systems, platform security,

and language processing (both human and computer).

Important note for recruiters: Read this before contacting me. Click here!

Work Experience

Engineer: The Obvious Corporation.

October, 2011present

Obvious is an early stage startup and is generally quiet about its work.

Tech Lead / Staff Software Engineer: Android team, Google.

October, 2005September, 2011

Google is a company that runs a number of web-based services and has various other

related businesses. The Android team is responsible for the development and maintenance of

the Android platform for cell phones and other embedded devices. I helped found the

Android team, and during my time on the team we shipped nine major platform releases and

numerous minor ones.

Was responsible for Dalvik, the virtual machine and core library foundation that

underlies Android applications. This includes libraries in the java.* and javax.* package

namespaces, and it extends to related libraries including Apache Http Components, ICU,

BouncyCastle, OpenSSL, Zlib, and a few other odds and ends.

project founder and designer

tech lead

people manager

project manager

individual contributor

designed new bytecode executable format, .dex, to allow for speedy interpretation, low

memory overhead, and ease of JIT compilation

implemented build-time translator, dx, which translates .class files into .dex files

implemented device-side .dex file reader and structural verifier

implemented many of the core classes from scratch

performed several code imports and integrations, from other open source projects and from

contractor/vendor partners

Helped out on other areas of Android

helped design and specify the Android Compatibility Test Suite ("CTS") as well as the

Compatibility Definition Document ("CDD")

was member of the Android Engineering Leadership team, responsible for larger-scale

engineering coordination

was member of the Release Team and the Bug Council, responsible for dealing with the

minutiae of the device release and launch processes

was active in the open source effort, including public interaction in person, on email

lists, and on web forums

continue to be active in the helping defend the project in various legal venues (as of

2012)

Senior Software Engineer: Firmware team, Danger, Inc

.

October, 2002September, 2005

Danger designed, developed, and sold a series of products in the cellphone-pda

convergence space, a product category that was later popularized by Apple. Danger's main

product was sold through T-Mobile under the "Sidekick" brand name; with other carriers, it

was sold as the "hiptop." Danger was acquired by Microsoft in 2008.

Rewrote the heap and garbage collection code in order to reduce collection duration and

frequency, and so as to support weak and soft references

Made the system more standards-compliant (CLDC-1.1 in particular), by implementing new VM

and library features, and by fixing pre-existing but non-compliant features

Wrote most of a stdio implementation from scratch, based on official specs, manpages, and

observed behavior of existing implementations

Improved performance of critical pieces of the system, often by writing the most commonly

used code in assembly (ARM/Thumb), including:

the core VM interpreter

several primitive graphics operations

the big-integer arithmetic library

key parts of the audio encoding and decoding library

Designed, wrote and improved build-time tools, including:

a spec-compliant Java classfile/bytecode verifier (written in Java)

a converter from Java classfiles into Danger's internal bytecode format, which includes

bytecode translation as well as several optimizations (written in C++)

a Unicode table manipulator, which generates optimized tables for the class

java.lang.Character (written in Java)

a "virtual machine compiler" to generate optimized interpreter code for multiple targets,

from a single specification (written in Java, with parsers generated by ANTLR)

Made major improvements to the device simulation environment

Contributed to the development of Danger's custom class library

Wrote font manipulation tools, and designed two font families (one retroactively)

Identified (and sometimes fixed) bugs in the ARM/Thumb backend of gcc

Took on role of resident Java expert, advising other application and library developers

on how best to use the language

Wrote a couple of games for the platform (written in Java)

Cofounder and Chief Software Architect: Volvox Technologies.

September, 2001August, 2002

Volvox Technologies developed a novel system in the area of distributed computing in

Java, but unfortunately failed to secure funding.

Cofounder and Chief Software Architect: Xigo, Inc. (formerly, aka BrokerBot)

February, 1998May, 2001

Xigo developed and hosted software that allowed investors to get information in a more

timely, more precise, and more pleasant fashion than any other company offered to the

general public.

Designed and prototyped components including:

the market data feed simulator

the stock trading engine

the Scheme-based compiler/interpreter

the user database

the Master Control Program

the custom web page generator

the front-end web pages

Was architect qua Architect, researching possible development tools and strategies,

setting development standards, and being a good example; as such, was instrumental in

developing Xigo's monthly development/deployment cycle, based in part on XP principles

Coordinated development inside the engineering department, making sure that the right

developers developed the right stuff and talked with the right other people about problems

and issues; similarly, acted as an initial point of contact for other parts of the

company; in general, kept things running smoothly inside the development group

Developed components that actually made it into production, including:

the internal system monitor

the communications infrastructure, including a small (but spec-compliant) embeddable web

server

the library of cross-component utilities

Was the designated realist

Architect and Engineer: Electric Communities (later, aka Communities.Com)

May, 1996April, 1998

Architect of the E compiler. E was a superset of Java geared towards secure concurrent

distributed programming.

Took over from previous developer, with the tasks of increasing efficiency, simplifying

the design, and adding new functionality as demanded by the higher layers of the system

Worked on a team including remote contractors to simultaneously develop the compiler and

runtime

Designer and Engineer: Vicarious, Inc.

February, 1995April, 1996

Worked on many aspects of a cross-platform CD-ROM-based title engine:

Designed and implemented the text index and search facility

Designed and implemented the internal text markup engine

Enhanced the persistent object storage system

Created data conversion tools for various text-like formats, including structured SGML

markups and heuristics-driven pseudomarkups (importing books from word processors and page

layout programs)

Designer and Engineer: ScriptX group, Kaleida Labs, Inc.

March, 1993February, 1995

Designed and implemented the platform-independent thread system

Designed the collection class hierarchy, and implemented much of it

Designed and implemented object system enhancements including tag-bit object support,

multiple dispatch, and method-style instance variable access

Worked on increasing the elegance of the system; became the maintainer/overseer of the

object model

Designer and Engineer: Sweetpea group, Kaleida Labs, Inc.

July, 1992May, 1993

Designed, implemented, and generally worked on several software components of a hand-held

data player, including the text search-and-retrieval system, the run-time object model

(including low-level data structures), the filesystem interface, the serial drivers, and

the power management system

Ported the run-time object model from the Macintosh to Sweetpea, and in the process made

the code more platform-independent

Student Administrative Manager: Student Computer Consultant Program, Brown UniversityDecember, 1988May, 1992

Wrote and maintained software for the Consultant Program, including an electronic time

card system

Designer and Engineer: Sixth Judicial Circuit, Pinellas County, Florida

June, 1988 January, 1991 (intermittently)

Designed and wrote an automated court calendaring system to replace the pen-and-ink

calendar books used by judicial assistants (approximately 20,000 lines of code)

Worked closely with the then-future users of the system

Patents Granted

Relevant Computer Knowledge

Acronyms

CSS, EAN, HTML, HTTP, IRC, JSON, JSP, LRF, MIDP, NNTP, SMTP, TCP/IP, POSIX, RMI, UDP,

UPC, UTSL, XBM, XML

Languages

ANTLR, awk, C, C++, Dalvik, E, Java (mobile and servlet, intimately familiar with

Java/JVM internals), JavaScript/ECMAScript, Lisp/Scheme, Pascal, Prolog, Rexx, ScriptX,

sed, sh/bash, SQL (just a little), and of course several assembly languages (most recently

ARM/Thumb)

Programs

Ant, Emacs, Git (Repo / Gerrit), JUnit, Make, Perforce

Operating Systems

Linux / Unix / POSIX, MacOS X

Education

Brown University, Providence, Rhode Island

September, 1988May, 1992

Major in Cognitive Science (ScB) plus equivalent of Computer Science (AB)

Honors: magna cum laude, Phi Beta Kappa, Sigma Xi

Relevant coursework

Independent Study in Computer Science: Wrote the original server for the Brown Online

Course Announcement, a database engine for tagged text files containing information about

all of Brown's courses; was in production, basically unmodified, for about 8 years, and is

still used today

Operating Systems: Wrote a complete (if small) Unix-like operating system which included

preemptive multitasking, a non-trivial filesystem, interrupt-driven I/O, pipes, and

signals

Software Engineering: Wrote a "Robot War" game as a member of a three-person team;

designed and implemented the PostScript-like robot control language

St. Petersburg High School, St. Petersburg, Florida

September, 1984June, 1988Graduated from the International Baccalaureate program with honors

Senior thesis in computer science earned highest possible score

National Merit Scholar

Interests, Activities

Music, all aspects, from mere listening to composition and playing (synthesizer and

fretless bass, among other instruments), to dj'ing, to design and implementation of

software music systems.

Electronic Publishing: I had a personal web site before it was hip (and still have one,

now that it's post-hip).

Recreational Hacking: I enjoy putting together the occasional personal software project.

The Barcode Server is one of my favorites. I also wrote the screensavers NerveRot,

Barcode, Petri, and Twang, which ship with XScreenSaver, and I have contributed to the

Java-Gnome and ANTLR projects. I maintain a site for my own open software.

Various and sundry physical activities, including (but not limited to) snowboarding and

yoga.

If you are reading this off-line, then you may want to visit the web version at .

Permission is granted to reproduce this page in its entirely, without modification. Thank

you. Copyright c 1992-2011, Dan Bornstein. All rights reserved.



Contact this candidate