Avdi Grimm

Last updated March 10th 2010
Resume powered by emurse

Avdi Grimm

Shrewsbury, PA 17361 USA


http://avdi.org

-

OBJECTIVE

-

Build strong teams who write software we can be proud of, and deliver that software to a satisfied customer.

-

WORK EXPERIENCE

-

2009
Software Cultivator

Devver, Inc.

Boulder, CO

  • Develop a cloud-based service for accelerating Unit Test Suites, guiding architecture as the service graduated from prototype to public beta.
  • Develop a cloud-based Continuous Integration service.
  • Develop a service providing code metrics and design guidance to Ruby/Rails developers for over 4000 projects.
  • Architect scalable services built on the Amazon Web Services (AWS) cloud.
  • Coordinate communication between distributed systems via task queueing and RESTful web services
  • Iterate quickly and pivot rapidly based on market feedback
  • Collaborate with a geographically distributed team, including regular remote pair programming.
  • Help balance velocity with sustainable development practices.

-

2007 - 2009
Senior Engineer

Medical Decision Logic

Baltimore, MD

  • Lead agile teams of 3-4 developers implementing features in Ruby on Rails for a Clinical Research Management System used by research institutions such as Johns Hopkins and Washington University St. Louis to manage clinical studies.
  • Build new features and optimize performance on a recruitment system used by the Kennedy Krieger Institute to manage the Interactive Autism Network (IAN), a national web-based registry with over 20,000 enrolled patients.

-

1998 - 2007
Senior Engineer

Raytheon Identification Systems

Towson, MD

  • Design and implement subsystems for the Precision Runway Monitor (PRM) system, an electronically-scanned RADAR used by air traffic controllers to coordinate the final approach of aircraft at airports with multiple runways. The system encompasses dozens of distributed hardware and software subsystems, running on a variety of platforms and computer architectures from custom single-board computers to Windows NT and Solaris workstations, and communicating via multiple networking protocols. It is in use at multiple international airports, including JFK in New York, San Francisco, Sydney, and Hong Kong; where it tracks aircraft with an update rate five times faster than ordinary surveillance RADARs.
  • Design and implement in C++ an interface running on a Windows NT PC, linking airport terminal automation systems and the PRM, including high-performance message filtering and in-memory database subsystems. Modular, extensible OO design enabled a second, similar system to be completed ahead of schedule and under budget through re-use.
  • Design and develop a reliable message delivery subsystem on top of the UDP protocol for a distributed computing system running Solaris. Using a strict Test-Driven development methodology, the subsystem was delivered on time, worked on the very first integration test, and required only one trivial (and predicted) change.
  • Lead engineering effort to enhance a cross-platform distributed messaging system for PRM, adding reliable message delivery and multicast capabilities to a system which redundantly links upwards of 18 separate computer systems, some of which may be separated by hundreds of miles and unreliable T1 lines, enabling them to track and accurately display over 40 targets while maintaining a 1-second update rate and constantly monitoring system health.
  • Port legacy antenna control application responsible for scheduling interrogations and decoding replies 400 times per second, written in 68000 assembly and C and using the VRTX real-time OS, to new compiler toolchain and new custom hardware. Perform exhaustive code audits to resolve incompatibilities. Rework batch file based legacy build process to use robust and flexible makefiles. Working closely with hardware engineers, debug both hardware and software issues despite almost total lack of working debugging tools.
  • Rapidly implement a flexible, highly configurable FLASH image preprocessor tool in the Ruby language, to generate downloadable files compatible with custom hardware. The flexibility of the tool enabled changes in the hardware spec to be closely and quickly tracked, minimizing delays to the development effort.
  • Support and administer transition to CVS (Concurrent Versioning System) configuration management tool for a team of ~8 engineers. Write documentation, educate, resolve user issues, and establish policies for tool usage.
  • Design and implement Unit Test Executive for airborne IFF (Identification Friend-or-Foe) interrogator in C++, running on the VxWorks real-time OS.
  • Test and debug software for industrial automation I/O modules. Write test scripts for industrial automation modules.
  • Automate data reduction and analysis of test metrics using Excel and VBA.
  • Automate data reduction and analysis of very large samples of network message traffic from airport terminal automation system, using Perl.
  • Administer Solaris-based development servers.

-

-

CERTIFICATIONS

-

  • Security clearance

-

SKILLS

-

  • Experienced at leading and participating in geographically dispersed teams.
  • Learns new technologies and methods quickly.
  • Involved in the software community. Blogger (http://avdi.org/devblog), presenter at the Baltimore and Central PA Ruby/Rails groups, creator of and contributor to numerous Open Source projects.
  • Focus on sustainable software development - growing, refactoring, and maintaining systems at a steady pace.
  • Experienced at pair-programming, both collocated and remote.
  • Equally comfortable working closely with a team or singly.
  • Familiar with numerous programming languages, including Ruby, Javascript, Java, C#, C, C++, TCL, Perl and Python.
  • Intimately familiar with the Ruby on Rails web framework.
  • Basic familiarity with Lisp, Smalltalk and Haskell languages.
  • Practiced at building RESTful web service APIs.
  • Familiar with Amazon Web Services (AWS), including EC2, S3 and SimpleDB.
  • Extensive experience in building distributed systems.
  • Familiar with programming for Windows NT/2000/XP, Solaris, Linux, VxWorks, and VRTX operating systems.
  • Extensive knowledge of networking technologies including Ethernet, TCP/IP, UDP/IP, network routing, packet analysis, and multicasting; ACE middleware, and advanced network programming design patterns.
  • Familiar with web technologies including HTTP, DOM, XML, [X]HTML, CSS, Apache, CGI, JSP/servlets, etc.
  • Comfortable with UNIX usage and system administration, including Linux and Solaris.

-

EDUCATION

-

1996 - 1998

Carroll Community College

Westminster, MD

  • Computer Science

  • 3.88 Grade Point Average

-

-