In charge of a five member scrum team responsible for all user-facing
features of Sermo. Work with product owner to organize backlog and
lead story grooming sessions. Keep team unblocked and on track for
sprint commitments, which we consistently meet.
Lead various organizational and process improvements such as
improving team velocity and predictability by adopting a better
story writing and grooming process. Also lead the implementation
and adoption of team-wide
style guides.
Code base cleanup, maintenance, and general architectural
improvements.
Senior Engineer, November 2011 to June 2013
Together with another developer, moved entire infrastructure for
Sermo from physical co-located datacenter to AWS cloud. Built
extensive automation for fleet and server provisioning using Fog,
Puppet, Nagios, Monit and related technologies.
Modernized the multi-application code base with improvements such
as replacing the home grown asset sever with the Rails asset pipeline,
updating from Rails 2.3.x to Rails 3.2.x, and replacing the legacy
JBoss-based ESB with a Resque-based broadcast queue.
Implementing other site features such as survey provisioning and
invitation engine, third party news feed integration, integrating
with the WorldOne balance and payments service, and more.
As employee #7, helped grow the company to a 50-person,
multi-million dollar consultancy firm with dozens of household-name
clients. Gained experience in all aspects of the project lifecycle
from the initial pitch right up through the maintenance contract.
Principal Developer, October 2009 to November 2011
Identified as one of three leading developers in the company to
receive the title of Principal. In addition to general senior-level
responsibilities, the responsibilities of principal include
architecting and overseeing the builds on new projects, starting
from initial estimation through requirements gathering and on
into development. Some of the project I've architected include:
The Commonwealth Fund's State Scorecard - http://datacenter.commonwealthfund.org
Helped build a best practices culture in the engineering group.
Instituted company-wide adoption of source control, automated
testing, a common reusable code library, standardized build system,
standard project directory structures, and more.
Mentored junior developers in C# and general programming best
practices. Helped to make integration into the company go as
smoothly as possible.
Defined the Velir developer interview process and helped refine the
peer review process. Using this process we were able to grow the
developer base of the company while maintaining a consistently high
level of talent.
Senior Developer, November 2006 to October 2009
Lead architect and developer of
Velir Datacenter(http://www.velir.com/expertise/datacenter.shtm),
a data publishing framework and tool suite that by the time I left
powered over 15 high-volume data visualization websites.
Built in ASP.NET and C#, Datacenter allows non-technical users
to upload and manage large data sets while allowing programmers
to quickly go from blank slate to working site in minimal time.
Built from the ground up with performance in mind, Datacenter
can handle data sets upwards of 50 million data points without
any noticeable degradation in performance. Optimizations from
the database layer through the API layer allow for fast data
import, retrieval, and visualization.
Backed by nearly 2500 NUnit-based tests, the Datacenter code
base has stood up since late 2007, though several major
refactorings, with regressions being extremely rare.
Lead teams on projects from planning and concept, through
development and into production. Lead the development effort on
dozens on web sites with teams from anywhere between 2 to 6 people.
Some of these include:
Population Reference Bureau's DataFinder - http://www.prb.org/datafinder.aspx
Harvard School of Public Health's Diveristy Data - http://www.diversitydata.org
Embedded Linux Software Engineer, June 2003 to November 2006
One of the top embedded Linux and PXA processor experts in areas
including boot-up, drivers, optimization and system architecture.
Development work included doing Linux ports to brand new processors
and processor steppings. First to enable new architecture features
such as DDR SDRAM and L2 cache.
Created the original implementation of suspend/resume power
management facilities in the Linux kernel for the PXA architecture.
That work was
accepted
into
the PXA architecture tree
of the mainline Linux kernel.
Lead role in the team producing and optimizing the operating system
for the Motorola A780,
one of the first Linux-based smart-phones to ever hit the market.