Laurel, MD
January, 2009 - Present
- Technical lead and contributor to several tasks involving computer security, hypervisors, and measurement frameworks on both traditional and non-traditional (mobile, embedded, medical) platforms
- Supervisor of the Platform Security section
- Coordinator of various Science and Technology outreach efforts
- Developed internal computer security tool deployed on hundreds of machines
- Subject matter expert on several topics including Linux, virtualization, and systems-level programming
Vienna, VA
September, 2006 - December, 2008
- Lead Virtualization Engineer and Product Co-Architect of the StackSafe Test Center(tm), a Linux-based virtualized test platform
- Project Manager (design, task management, scheduling) for several major components
- Designed and implemented a unique virtualization management layer
- Various development tasks in all areas of the product, including:
- Developed method to import Windows virtual machines into the Test Center environment
- Wrote Windows C++ MFC GUI applications, and a Windows C++ Network Service
- Linux GUI development using C and Python with the GTK toolkit
- Web development using Ruby on Rails and Turbogears
- Linux kernel driver development
- Designed product prototype, and led team of engineers to deliver prototype ahead of schedule
- Presented working prototype to company Board
- Contributed to several product-related patents
Columbia, MD
April, 2006 - August, 2006
- Designed and implemented Windows multi-threaded applications, including a printer server and a network RDP gateway
Lowell, MA
March, 2005 - March, 2006
- Performance enhancements to Linux to optimize J2EE workloads on custom VI architecture
- Designed and implemented automated 1-click OS installation on a VI virtual computer
- Implemented NUMA-aware atomic primitives in the Linux kernel, and used them to increase network and filesystem performance
- Various enhancements and fixes to all aspects of the Linux kernel including VM, scheduling, and device drivers
Burlington, MA
March, 2002 - March, 2005
- Investigated the use of large page sizes in Solaris
- Individual contributor to embedded Linux/PPC project using the Motorola MPC8540 embedded processor
- Helped plan, document, and defend bootloader and base OS project plan
- Primary engineer, ported U-Boot bootloader to custom Sun embedded computer
- Wrote and debugged U-Boot and Linux drivers for various devices, including flash ROM, ethernet and PHY driver, PCI setup, and IDE controller
- Worked with both hardware and software groups to successfully bring up both U-Boot and Linux board, using both the Simics simulator and the actual hardware
- Debugged and re-architected Linux driver for custom Sun PCI hardware communications device
- Individual contributor, then primary developer of the Solaris driver for Sun FireLink, a memory-based high performance interconnect
- Worked with both core driver and STREAMS-based DLPI companion driver, as well as other parts of the stack in kernel and user space
- Development work to fix bugs from QA and beta customers
- Coordinated with management, other groups, and development to drive final code changes for shipment
- Technical leadership duties, including reviewing others' code changes and delegating work
- (Re)designed whole sections of the driver to fix various oversights in the original design
- Member of ITAPI design team, design and implementation work for kernel infrastructure to support ITAPI
- Member of IB driver design team for a custom ASIC; authored portions of driver design document
- Contributer to various Linux projects
Lowell, MA
May, 2000 - February, 2002
- Developed, and contributed to the development of several custom device drivers for both embedded and storage applications
- Researched several high speed interconnects (Myrinet, Quadrics, GigE) for High Performance Computing (HPC)
- Researched and performed performance analysis of the Linux/Alpha kernel for enterprise network applications
- Member of design team that developed software for high performance embedded PPC/Linux products
- Various customer support work as needed
National Security Agency
Undergraduate Training Program
Fort Meade, MD
January, 1997 - May, 2000
- High performance programmer/researcher using OpenMP and Fortran90 to optimize applications for high performance parallel systems
- Network programmer/researcher studying various network protocols
- Software Engineer designing documentation automation software for use in a chip fabrication facility
U.S. Army Chem/Bio Defense Command (CBDCOM)
G.W. University Summer Engineering Apprentice Program (SEAP)
Edgewood, MD
Summers: 1994 - 1996
- Network programmer, interfacing war-games and chemical simulations using the DoD's Distributed Interactive Simulation (DIS) Protocol
- System Administrator for the office's network of five SiliconGraphics workstations
- Software troubleshooter and tester specializing in setup and installation of war-games and simulators on SGI workstations and remote X-Terminals