Resume for Sarir Khamsi
Email: sponge at futureone dot com

home

A PDF version of this resume can be found here

Skills Summary

Skill

Since

Usage

C++

1994

frequent

(developed and teach intermediate and advanced classes)

Java

1997

light and intermittent

Python

2003

moderate to frequent (developed and teach intro classes)

Perl

1995

moderate, till I learned Python

C

1987

frequent, the first 8 years

UNIX shell (bash)

1997

moderate

Rational Rose, Borland Together/Control Center (UML design tools)

1997

moderate to frequent

VxWorks embedded, real-time programming

2002

moderate to frequent

Generic Modeling Environment (GME) 3.x

2004

light

Windows NT/Win32 operating system programming

1993

moderate to frequent (project dependent)

Visual C++ (.NET)

1993

moderate to frequent

UDP/TCP sockets, including IP Multicasting

1997

intermittent, sometimes frequent

UNIX (SunOS, Solaris, HP-UX)

1992

project dependent

HTML

1996

moderate

8086 real-time embedded, ISA bus structure

1989

project dependent

ObjectBench

1996

light

XML

2000

very light study at home

Linux

2003

light to moderate

Apache, MediaWiki (w/ PHP & MySQL)

2004

light usage (frequent Wiki usage)


EDUCATION

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, Worcester, Massachusetts. Graduate classwork: radars, image processing, digital signal processing, matrix math, filter theory, electromagnetics, numerical analysis, complex variables and linear systems.


Bachelors Degree in Electrical EngineeringSeptember 1982, University of Massachusetts at Amherst


EXPERIENCE

Senior Principal Software Engineer: Raytheon, Tucson, AZ

July 2001 – present

Position: Member of the Advanced Programs department performing a variety of software tasks both in embedded and non-embedded environments.


Nov 2009 – present

Killer Bee: Designed and developed message passing framework in C++ (with Boost components) under Linux for project’s mission computer. Co-designed flight software in C++ under VxWorks to host guidance and auto-pilot algorithms for real-time flight system.


Mar 2009 – Oct 2009

Provided technical input and C++ training to simulation team. The simulation included 6DoF and scene generation components.


Sep 2005 – Feb 2009

CCLR: Design and developed ground station software, in C++/Win32, to display near real-time images for target tracking via fiber-optic datalink to a small autonomous vehicle.


Jan 2005 – Aug 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 Vanderbilt University’s Generic Modeling Environment (GME) tool to design a Domain Specific Modeling Language (DSML) for a signal processing chain challenge problem. This was part of a research capture strategy to investigate leading-edge modeling technologies for application to real-world problems.


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:


Accomplishments: 2001 - present


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, Chandler, AZ (contractor)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., Natick, MA (direct hire)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.


Graduate Classroom Work

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, Lexington, MA (direct hire)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.


LANGUAGES

C++, C, Perl 5, Python, HTML, Java (some working knowledge), and UNIX shell (bash), Emacs Lisp.


OPERATING SYSTEMS

Microsoft Windows 3.x/NT/2000/XP, UNIX/Linux, (Solaris and SunOS), VxWorks


PROGRAMMING TOOLS

Subversion, WindRiver's WorkBench, Rational Rose, Borlan/TogetherSoft’s Together/Control Center, 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.


INTERESTS

Music, creative writing, soccer, skiing, scuba diving


REFERENCES

Available upon request

MISC.

Last modified: $Date: 2010/12/20 03:39:04 $