331 Western Ave
Cambridge, MA 02139

Home Page
Resume in MS Word Format



A software engineering position developing or Internet or customer applications in a leadership role. Skills include fifteen years of real-time design experience in C/C++ under UNIX and fluency in Perl, Java, SQL, XML, and web technologies (HTML, CGI, CSS, and JavaScript). Involved in a wide range of projects, including graphical user interfaces, networking, embedded systems, and web development, and in all phases of the product lifecycle. Consistently successful in releasing products and working with internal and external customers.



Senior Programmer/Analyst

Safety Insurance, Boston, MA

04/2003 - Present

  Wrote custom web applications in Perl under Windows 2000/IIS that interfaced with SQL Server and DB2 databases. Accomplishments include:
  • Developed an in-house user authentication platform using digital certificates and the SSL protocol, saving $250,000 per year over third-party solutions. Wrote an ISAPI filter for IIS in C++ using Windows .NET.

  • Successfully led project to house all web applications in-house, eliminating hosting fees ($8000/month).

  • Developed multithreaded, Java-based Websphere MQ communication middleware, reducing the amount of failed customer requests per day from 700 to zero.

  • Originated and led the Web Development team's use of version control software (CVS), which rectified a key Sarbanes-Oxley deficiency. Introduced Linux and Apache to the web development environment and ported all existing applications to be cross-platform.

  • Created web-based claim entry applications, automating the entry of 8,000 claims per month; a web-based application that generates customized reports in PDF format relating premiums to losses; and security and authorization administration tools that were then used in multiple projects.


Contract Software Engineer

Argent Software, Londonderry, NH

05/2002 - 11/2003

  • Produced distributed monitoring and job scheduling products for a variety of Unix platforms, including Solaris, HP-UX, AIX and Linux. Designed an interface with existing Windows 2000 products through TCP/IP sockets using XML. Created monitoring software for storage hardware on Unix and Windows.

  • Revamped company's website. Wrote scripts for CGI processing and automated updating of pages in Perl and JavaScript, and updated Java applets.


Contract Software Engineer

EMC, Hopkinton MA

10/2000 - 12/2001


Member of the EMC Control Center development team that released a distributed, real-time manager of large storage systems and networks.

  • Created an interface agent between Symmetrix storage hardware and the main Control Center server, GUI display, and repository database. Agent code was developed with Visual C++ for Windows and Gnu G++ for SunOS, AIX, and Linux. Used XML to define system alerts and agent tasks.

  • Debugged and developed GUI display code in Java and SQL.


Contract Software Engineer

Teradyne, Boston MA

01/1998 - 10/2000


Developed GUI, application, and driver software for semiconductor test equipment using C, C++, Perl, and XView under SunOS.

  • Created a new driver debug GUI using TCP/IP sockets to connect to main application. Embedded an automatic test feature that simulated GUI controls and tested their functionality. Ported and extended a failure bitmapping utility and graphics library.

  • Designed a pattern template utility in Perl and an accompanying GUI written in C++ and Xview.

  • Wrote automated testing programs using randomly generated input to increase test coverage.

  • Used Lex and Yacc compiler tools to convert custom test scripts into C code.

  • Validated hardware designs with Verilog simulation tools. Wrote custom driver code and test scripts.


Contract Software Engineer

Computer Network Technology, Westborough MA

07/1997 - 01/1998


Ported SNA Server to Stratus FTX operating system, including communication over SDLC, X.25, and Token Ring and a gateway to TCP/IP.

Implemented X.25 and QLLC protocols for PU2.1 server for SunOS and FTX in C. Added QLLC parameters to graphical user interface using C++ and SNMP to connect to main application.

Transferred software and build procedures configuration management from SCCS to Clearcase.


Freelance Web Designer and Consultant

1997 - Present


Independently produced internet software for a national recruiting agency, a book publisher, a professional artist and illustrator, and a recreational sports web site. Accomplishments include:

  • Developed Comms People's new internet site which interfaced to a Lotus Notes Domino server. Consulting with company to solve intranet usability issues.

  • Developed search engines and scripts to create HTML dynamically using CGI written in Perl.

  • Wrote interactive web pages such as calculators and order forms using JavaScript.

  • Designed animated banner advertisements for placement on


Contract Software Engineer

C.S. Draper Laboratory, Cambridge MA

09/1995 - 07/1997


Designed communication, user interface, and application software for a Navy transport submarine. System developed in embedded C under SunOS on 68040 microprocessors and vxWorks.

  • Demonstrated leadership by coordinating efforts between two-member display processor and four-member control processor teams.

  • Developed inter-processor communication and user interface control. Designed route planning and contact management systems. Designed layout and control for fifteen display screens.

  • Wrote GPS and other serial I/O hardware drivers.


Senior Software Engineer

Hewlett Packard, Andover MA

01/1990 - 09/1995


Designed object-oriented operating and applications software for medical ultrasound imaging systems. System developed in embedded C and assembly language under HP-UX on 68020 microprocessors and pSOS, and also on the C31 DSP chip. Wrote power modeling simulation tools in C++ under HP-UX.

  • Lead a six-person TQC process improvement team that cut power measurement time in half. Mentored a summer intern who successfully completed a data entry tool.

  • Implemented embedded debug tools used by manufacturing, QA, and R&D to decrease testing time.

  • Generalized a hard-coded inter-processor communication (IPC) algorithm to allow subsystems to be disabled or shifted to other nodes with minimal porting.

  • Designed and prototyped a low-cost user interface.

  • Supported nine different hardware boards with client-server based firmware. Increased maintainability by making all hardware support to be backwards compatible.

  • Ported an image processing package from X10 Windows to X11 Windows. Modeled hardware controlling software using structured design techniques.




C/C++, Perl, Java, XML, SQL, CGI/HTML, Assembly, dBASE, Basic

Operating Systems:

UNIX - Linux, SunOS, HPUX, FTX, Windows NT/Windows 2000, vxWorks, pSOS

Hardware and Applications:

Motorola 68K, TI TMS320C31 DSP, X Windows



M.S. Electrical Engineering December, 1989
Rensselaer Polytechnic Institute, Troy NY

B.S. Computer and Systems Engineering May, 1988
Rensselaer Polytechnic Institute, Troy NY

  • GPA: 3.68/4.0

Computer Bug Icon
Keith Carangelo