Resume for
SARIR KHAMSI
Email: sponge at futureone dot com
|
Skills: Programming Languages |
Since |
Usage |
|
C++ |
1994 |
frequent |
|
Python |
2003 |
moderate to frequent |
|
Perl |
1995 |
moderate to frequent |
|
C |
1987 |
frequent, the first 8 years |
|
Java |
1997 |
very light and intermittent |
|
UNIX shell (bash mostly, tcsh when I have to) |
1997 |
frequent |
|
Emacs Lisp |
1995 |
light and intermittent |
|
LaTeX |
2006 |
light |
|
XML |
2000 |
very light study at home |
|
HTML (not really a language) |
1996 |
moderate |
|
make (sort of a language) |
1990 something |
light |
|
|
|
|
|
Skills: Operating Systems |
Since |
Usage |
|
LAMP: Linux, Apache, MySQL PHP |
2004 |
light usage (frequent MediaWiki usage/maintenance) |
|
Windows NT/Win32 operating system programming |
1993 |
moderate to frequent (project dependent) |
|
Tornado/VxWorks embedded, real-time programming |
2002 |
moderate to frequent (project dependent) |
|
UNIX (SunOS/Solaris, HP-UX:
some POSIX) |
1992 |
project dependent |
|
8086 real-time embedded, ISA bus structure |
1989 |
project dependent |
|
|
|
|
|
Skills: Other Stuff |
Since |
Usage |
|
Visual C++ (.NET) |
1993 |
moderate to frequent (depending on project) |
|
UML design tools: Rational Rose, Borland Together
Architect |
1997 |
moderate to frequent |
|
UDP/TCP sockets, including IP Multicasting |
1997 |
intermittent, sometimes frequent |
|
ObjectBench |
1996 |
light (just for one project) |
|
GNU tools (gcc/g++, etc) |
1995 |
moderate to heavy |
Harvard Extension School/Harvard University, Spring 1995 - Windows
NT Programming, Fall 1995 - Object Oriented Programming in C++
MIT/Lowell
Institute, Fall 1993 - Spring 1994. C++ Programming, X-Windows System
Programming
Masters Degree in Electrical Engineering
![]()
May 1989, Worcester
Polytechnic Institute,
Bachelors Degree in Electrical Engineering

September 1982, University
of Massachusetts at
Senior Principal Software Engineer: Raytheon,
July
2001 – present
![]()
Member of the Advanced Programs department performing a variety of software tasks both in embedded and non-embedded environments.
Oct
2005 – Present
Working on a DARPA funded project that requires a small plane to fly around, relay real-time images, and display them to the user. This work involves coding for a simulator, embedded software, and a ground controller. The buzzwords include: C++, Python, bash, OpenGL, image processing, Subversion (for configuration management), and MATLAB.
Jan 2005 – Sep 2005
Designed and developed a new build (compile and link) system, written in Python, to replace an out-dated UNIX shell script-based system. This implementation included a highly configurable design, with logging, built-in help, object serialization, and a flexible initialization file format. It was developed under Cygwin and deployed under Solaris 9.
Apr 2004 – Jan 2005
Worked with
Jan 2004 - Apr 2004
Designed and developed a message-passing architecture for a distributed test system. This was very similar to the NetFires project mentioned below with the addition of a more flexible scripting engine. It was written in C++, using the Win32 API, sockets, multi-threading, and object-oriented methodologies.
July 2001- Jan 2004
On the NetFires project tasked to design and develop the ground software for a launcher. Responsibilities included:
· Software technical lead and chief architect for development under Windows 2000 in C++ (the architecture included such components as: multi-threading, TCP & UDP sockets, synchronization classes, and IPC to name a few)
· Designed and developed networking code (TCP sockets) for a missile radio in an embedded, real-time environment
· Mentoring junior engineers
· Interface a C++ program with a Java program (including some Java programming)
· Currently involved with investigating emerging technologies in Model Driven Architectures (MDA)
Accomplishments: 2001 - present
· Designed and developed all of the architectural code for a launcher system of networked computers
· Received Raytheon’s 2002 Excellence in Technology award
· Published an article titled “A Class for Handling Shared Memory Under Win32” in the May 2003 C/C++ Users Journal
· Developed an advanced C++ training class for Raytheon Learning Institute
· Submitted three invention applications as a pretext for a patent application
· Gave several presentations on various C++ topics, sockets, regular expressions, and the Unified Modeling Language (UML)
· Made major contributions to the existing C++ coding standards
· Wrote several Perl scripts that generated about 40% of the architectural components in C++ (for the NetFires project)
Senior Software Engineer: Raytheon, Kwajalein, Marshall Islands
(direct hire)
June 1997 – June 2001
Member of Systems Engineering group tasked to upgrade a range safety system
using an Object Oriented (OO), multithreaded design in C++ under Windows NT in
a distributed network environment. Responsibilities included:
Major accomplishments:
Accomplishments beyond required responsibilities:
Senior Software Engineer: Motorola,

June 1996 - June 1997
Member of Payload Software team for the Iridium Project. Responsibilities
included:
Accomplishments beyond required responsibilities:
Senior Software Engineer: The MathWorks, Inc.,

May 1995 - May 1996
Member of the PC development group. Responsibilities included:
Major accomplishments:
One project involved writing a directory synchronization program in C++, using Visual C++, for cross-platform (UNIX and Win95/NT) use.
1994-1995
Object Oriented Programming (OOP) in C++ Class Project:
Design and development of an object oriented, multithreaded program on Windows
NT using the Win32 API to (mathematically) process arbitrarily large data
streams with delayed execution. OOP and C++ features included encapsulation,
polymorphism and exceptions.
Windows NT Class Project:
Design and development of an object oriented, client/server remote file viewer
written on Windows NT in C++ using Win32 API features including Inter-Process
Communication (IPC) via named pipes, multiple threads, Structured Exception
Handling (SEH), synchronization via events, memory mapped files and dynamic
linked libraries (DLL).
Note 1: Started using Windows NT in November 1993
Note 2: Total time at MIT Lincoln Laboratory: January 1983 - May 1995
Associate Staff Member: Massachusetts Institute of
Technology - Lincoln Laboratory,

September 1993 - April 1995
Responsibilities included:
under UNIX on a Sun SPARCstation running Solaris 2.3. Functionality included:
January 1993 - April 1993
and July 1994 - August 1994
Design and development of a Microsoft Windows 3.1 program in written C and C++
to display satellite telemetry in real-time, developed under Windows 3.1 and
Windows NT 3.1 using the Windows SDK and Visual C++ 1.5. Program functionality
included Multiple Document Interface (MDI) techniques, flexible data display,
date logging and RS-232 I/O.
May 1989 - August 1993
Design and development of software for an experimental optical satellite's
acquisition and tracking sub-system, written in C and Intel assembly language,
on an IBM PC using DOS and VRTX (a real- time and multitasking operating
system). Program functionality included mechanical shutter control, real-time
software servo loop control of mirrors, spiral scan pattern calculation and
generation for acquisition and tracking and boresighting procedures.
March 1992 - December 1994
System administrator for an HP-750, multi-user UNIX workstation involving operating
system updates and maintenance of HP's Microwave Design System (MDS) microwave
CAD software.
January 1983 - February 1989
Management of a Hewlett-Packard HP-1000 multi-user mini-computer system
including developing and debugging instrument control (GPIB) routines in
FORTRAN, to perform automated Radio Frequency (RF) sub-system tests on an EHF
communications satellite.
March 1989 - May 1989
Support and modification of post launch tests, also in FORTRAN, on a VAX/11-730
running VMS.
Rational Rose, Borlan/TogetherSoft’s Together/Control
Center, Tornado/VxWorks, ObjectBench (with Shalaer-Mellor methodology),
Microsoft Developer Studio .NET/Visual C++, GNU Emacs, lint & Gimpel's
PC-lint, NuMega's DevPartner (BoundsChecker, TrueCoverage), Microsoft CodeView,
MultiScope (Windows 3.x debugger), RCS, VSS, and CVS (version control), UNIX make and UIM/X graphical user interface
builder tool for X-Windows/Motif.
Music, creative writing, soccer, and skiing.
Available upon request
Last modified: $Date: 2006/04/03 05:08:15 $