One day in late 1994, I noticed that the PCs at McDonnell Douglas were
connected to the Internet. Netscape 1.0 was still in beta, page layout was impractical because HTML
tables and CSS were unavailable, and only 12% of US households were connected to the Internet,
mostly using dialup. But I was smitten.
I was fortunate to have time to pursue my own interests, and
I happily poured myself into learning all I could
about building compelling hypertext documents and figuring out how to serve them up to my co-workers.
The web evolved at a dizzying pace during this period, and I spent much of my time trying to keep up.
Before long, mastery of all of this became a desirable skill, and I made the leap
to working as an HTML coder at the St. Louis office of Weber Shandwick public relations.
Schwa Era · 1996–2001
After a few months at Weber Shandwick, I put a bug in a friend's
ear about launching our own studio. Before long a mutual friend
suggested the same thing, and within months the three of us we were up and running as
Schwa Digital Design in a studio loft
in downtown St. Louis.
None of us had a background in business, engineering, or systems administration, but we dove in,
learned what we needed to, and ended up with a profitable little business, a respectable body of work,
and a lifestyle we loved.
In early 1999, we agreed to be the founding web branding team for Zipatoni, a marketing agency
based in St. Louis. We held on to Schwa as an entity, but ceased operations.
In my time at Zipatoni, I acted as tech lead on websites built for consumer brands.
By the end of our contract, all three of us had decided that agency life
was not for us. One of the Schwa partners moved on to academia, while
my other partner and I decided to pursue freelance work under the Schwa name.
As a team, we conceived and built a
custom CMS that allowed the customer, a magazine publisher, to
enter and preview entire issues prior to publishing to the web.
When publishing an issue, our tool generated article pages, tables of contents,
site navigation, and links between articles. We did this in 1996, before
this kind of thing became commonplace.
I built multiple iterations of an agency-wide directory of
all facilities and personnel for The Department of Veterans Affairs.
This included on-site installation and a custom CMS for maintenance.
My final project in this era was the most satisfying. I conceived and built
an AJAX-based portfolio management tool (four years before the term "AJAX" was coined)
for a photo studio.
This management tool allowed
the customer to create and manage custom portfolios
for current and prospective clients, password protecting portfolios where desired. Portfolio
data was loaded into the page via XHR, modified in-page, and saved back to the server using
XHR. Photos could be reordered using drag and drop.
Dark Days · 2001–2003
I moved to New York with a few months of freelance work in my pocket. The dotcom
bubble had started deflating, but I remained confident that freelance work would continue to be plentiful
and that my skills would be in high demand in NYC. By the time I'd wrapped up the work I'd brought with me
from St. Louis, the World Trade Center had fallen, the dotcom bubble was completely kaput, and work
I worked a number of temp assignments, eventually landing
a full time gig as a secretary for NYU's social work grad school.
Meetup Era · 2003–2009
A close friend recommended me for an opening at Meetup.
My lack of Java chops kept me from getting the job, but a more suitable
position opened up a few months later,
and I was hired as Meetup's first front end engineer and second tech hire.
For the first two and a half years, I was the lone front end developer. I wrote most of the code;
I owned SEO, accessibility, and performance; I dabbled in design and information architecture.
As Meetup got its footing as a business and started to grow rapidly, I set about
building a team of front end engineers. I grew the team to eight people over the next two years,
training, managing, and mentoring them along the way. Three of my hires subsequently became team
Though I had previously co-founded a moderately successful company, Meetup is
where I truly learned how a startup works. I watched closely as the company
struggled to turn a novel and beloved product into a sustainable
business. In my time at Meetup, membership grew from 700,000 to 5.7 million people, and I
worked with the rest of the tech leadership to build a large team, create and
nurture a healthy culture, and improve and scale up our development and deployment processes.
I saw first hand what type of person helps a startup succeed, what kind of person
thrives or flails in that setting, and how damaging a single bad hire can be.
I learned the ups and downs of various approaches to product evolution and became convinced
that bottom-up, cross-functional decision making is often the best approach.
Nearly six years into my time at Meetup, I was contributing substantial amounts of code
and managing a team of eight people, but I increasingly wanted to focus on one thing or the other.
We parted ways on friendly terms.
In January 2005, one year before
to a page based on matching CSS selectors. I didn't invent the idea, but I embraced it long
before it became common practice. Over the next five years, my Meetup.DomDeco library was
used extensively across Meetup.com.
I defined clear, lightweight page layout semantics that were then mirrored in
our own homegrown JSTL taglibs. Our templates were easy to understand and maintain. We
also added HTML validation to these taglibs so we could more easily spot hard-to-debug problems like
Flavors.Me Interlude · 2009–2010
I agreed to join a startup with two of the original Meetup founders, but
when their funding fell through before my start date, I eagerly accepted a job at
Flavors.me. The team was impressive,
the problems they were working on looked interesting, and I thought
the product had real promise. It proved to be a poor fit,
and I moved on to OpenSky after a few months.
OpenSky Era · 2010–2012
On the surface, my trajectory at OpenSky looks a lot like my time at Meetup: I was the
first dedicated front
end developer, I remained the only front end developer for the first year or more, and when
it came time to grow, I built a team. At OpenSky I had the benefit of having learned
from my years at Meetup, and my comfort and confidence as a collaborator and leader were greatly
I still wrote lots of code and solved plenty of engineering problems at OpenSky
(especially when I was the only front end person), but my main contributions were
leading my team and promoting a positive company culture.
loved my team, which is very much a credit to them, but also a result of careful hiring,
hands-on mentoring and leadership, and creating a tone of collegiality and fun, combined
curiosity, and hard work. Building this team is the proudest accomplishment of my career.
I noticed a specific need for ad hoc collections of products with custom headers,
footers, and page styling, and correctly guessed that this would later become a more
general need. Instead of building the feature as a one-off, I assembled a lightweight
spec for flexible tools, modified existing backend code
to fit what I needed, and built the entire front end. These tools became an
essential part of OpenSky's evolution over the following 18 months.
I held the undisputed record for fastest lap around the office.
I organized the first annual company-wide innovation challenge: OSSUM SAUCE
(OpenSky Struggle for Superior Understanding of Metrics & Superhuman Application of
this Understanding to Current Exigencies).
This was an all-day, company-wide, team-based contest with cash prizes awarded for
the ideas deemed most
likely to deliver results with minimum engineering effort.