Objective |
To have fun working on interesting projects
|
Skills |
Extensive experience in Java, Perl, C, and shell scripting. J2EE
experience with Spring/Hibernate and JSF. Experience with Oracle and
MySQL. Some experience in Objective-C, C++, sed, awk, Ruby,
Python/Jython, Emacs Lisp, Scheme, Pascal, Display PostScript, SQL,
HTML, XML and Mathematica.
Experienced with several operating systems including Linux (kernels
0.99-2.6; SLS, Slackware, RedHat/Fedora, Mandrake, SUSE, Debian,
CentOS, Ubuntu), SunOS/Solaris (4.1-8), Mac OS X (10.3 - 10.5),
various BSDs, NEXTSTEP 2.1-3.3, Domain/OS, IRIX, and HP-UX.
Experienced with several revision control systems, including Perforce,
ClearCase, RCS, and CVS. Extensive experience developing in Java with
Eclipse (2.1-3.4). Experience with make, CMake, and ant.
Embedded programming and design experience with ARM processors,
Motorola 68HC11 and 68000, Texas Instruments TMS320C3x DSP, NEC 78k/0
series.
Familiar with Internet protocols, web, mail, news, and proxy server
administration, TCP/IP, NIS, NIS+, DNS, DHCP, and NFS administration.
Also experienced with standard telecommunications protocols such as
OSI, FTAM, and TL1. Experienced in firewalling strategies, IP
Masquerading/NAT, proxy servers, and switch and router configuration.
Familiar with SONET, SDH, and DWDM technology. Some experience with
Frame Relay and ATM.
|
Professional Experience |
Senior Software Engineer
November 2005 - present |
Dash Navigation Sunnyvale, CA |
|
Developed Internet-connected personal navigation device.
Memeber of the server team, but worked across nearly all aspects of the product and service.
Technologies used: Linux, C/C++, Java, Ruby, Perl, u-boot,
ptxdist, busybox, sqlite, Qt, pthreads, CMake, DBus, Spring,
Hibernate, MySQL, Oracle, WebLogic, Tomcat, Apache, JSF, JMS,
ASN.1, Apache MINA
Significant accomplishments:
- Over-the-air Software Updates
Co-developed a system to deliver patches to users' devices in a bandwidth-efficient manner. Emphasis on treating packages agnostically (no special knowledge of file formats) and reliability (leaving devices in a usable state in the event of failure).
- Device-Server Protocol rewrite
Led the effort to replace an unwieldy proprietary protocol with an ASN.1-based protocol. Replaced lots of hand-coded marshalling with generated code, allowing developers to focus on domain problems rather than synthetic problems.
- Web-based Back-end Administrative Interface
Developed JSF-based user interface used to control and monitor the service. Used for managing and grouping devices, tracking connections and service usage, and releasing and tracking software.
- Build System Infrastructure
Automated manual processes to provide reproducible builds;
co-developed ptxdist-based build system for the device root
file system and kernel.
- Host Application for map updates
Led team developing a system to deliver application and map
updates too large for over-the-air delivery. Supported both
Windows and Mac OS X as host platforms.
- Remote Device Diagnostics Infrastructure
Developed device and server infrastructure for collecting
troubleshooting information from devices in the field.
|
|
Senior Software Engineer, Principal Software Engineer
September 2001 - November 2005 |
Fujitsu Network Communications Network Management Systems San Jose/Sunnyvale, CA |
|
-
DWDM Network Planning Tool
Developed Swing-based Java client for a tool to design DWDM
networks. Work included prototyping, UI specification, class
design, and implementation on an aggressive
timescale.
-
Connection Management
Prime user interface developer for feature to automatically
provision end-to-end services through SONET/SDH networks.
Developed custom graphical views based on Swing and Java2D to
represent network connections, including both layout of
network elements and link representation to convey ring-based
SONET connectivity.
|
|
Software Engineer, Senior Software Engineer
October 1998 - September 2001 |
Fujitsu Telecommunications Software
Ireland Belfast |
|
Worked for network management team developing network element
management systems.
Projects:
-
Software Download Application for Firmware Upgrade
of SDH equipment.
Server-side Perl application provided a browser
(HTML/Javascript) interface to the network element,
communicating via TL1 over an OSI connection. File transfers
performed via FTAM.
Responsibilities included:
- NE communications (handling OSI connections, parsing TL1)
- Some GUI design and implementation
- Configuring and maintaining the lab equipment
- Installation and configuration of the OSI stack and FTAM
software
-
SNMP-based Element Manager for ADSL, ATM, and Frame Relay
Equipment.
Server-side, browser-based application written in C++ and Perl.
Application was responsible for equipment and service
provisioning, fault management, and software download.
Responsibilities included:
- Software download
- Porting communications library from Perl to C++
- GUI and performance enhancements
- Numerous bug fixes
- Maintenance of lab network
-
Server Process Management System
Highly configurable application for ensuring startup, shutdown,
and restart of required processes for Fujitsu's element
management systems.
-
Frameworks Research
Research into various possibilities for improving current UI
architecture. Project included research into currently
available software packages to drive browser-based applications
as well as new technologies for standardization of programming
interfaces into and within the application. Project required
quick familiarization with a variety of software packages,
including Oracle, PHP, XSQL server and the Oracle Java
libraries, JBuilder, and several Apache XML packages such as Xerces and
Xalan.
Also served as office network administrator, where
responsibilities included:
- Monitoring and troubleshooting inter-office WAN-links.
- Developing automated installations of desktop machines.
- Projecting, budgeting, and requisitioning desktop and
server equipment.
- Projecting requirements, ordering, and troubleshooting
network infrastructure equipment.
|
|
Software Engineer / Assistant Network
Administrator
June 1996 - September 1998 |
Software Engineering Professionals,
Inc. Indianapolis, IN |
|
Projects:
-
General Purpose hand-held medical meter - Duration 7+ months.
Developed software for a medical device which optically analyzes test
strips. Software was developed using the IAR compiler for the NEC 78k/0
processor.
-
Assistant Network Administrator - Duration: 18+ months.
Responsible for installing, configuring and maintaining computer and
networking equipment. Installed and maintained news (INN and MS Exchange)
and web (Apache and MS IIS) servers. Configured and maintained mail
servers (sendmail, MS Exchange, and TIS's smap/smapd). Designed and
implemented corporate internet firewall. Diagnosed and improved
cross-platform networking services in a heterogeneous environment including
Macintosh, Windows 95 and Windows NT workstations, Windows NT Server, and
Sun Solaris servers. Managed both internetwork and ISDN routers, as well
as modem pools. Installed SNMP-based tools to monitor network devices and
services. Performed filesystem planning and maintenance. Administered
ClearCase revision control system. Responded to numerous user problems and
questions.
-
Website Development - Duration: 3 months.
Set up and maintained both developmental and production servers.
Compiled and configured the Apache web server and mod_perl. Co-developed
Perl modules for dynamic, automated generation of HTML code for navigation
bars. Installed and maintained PostGreSQL (OORDB) and created examples for
using Perl libraries to access the database via CGI scripts.
-
Engine Control Diagnostic Tool Upgrade - Duration: 12 months.
Added additional features to an embedded 8086-based engine control,
reporting, and diagnostics tool. The development was done on Apollo
workstations in C (InterMetrix compiler) under the Aegis/Domain OS with the
Domain Software Engineering Environment (DSEE). Work involved adding
numerous features to the software, and fixing existing bugs.
-
Datafile Development for Engine Diagnostic Module - Duration: 3 months.
Created communications scripts for use with a proprietary engine
diagnostic program running under Windows. Automated certain aspects of the
project by developing Perl scripts to generate the required files.
|
|
Translator Summer 1995 |
Siemens Stromberg-Carlson Boca Raton, FL |
|
- Translated internal technical documents from German into English
|
Education |
Bachelor of Science in Electrical
Engineering 1992-1996 |
Rose-Hulman Institute of Technology Terre Haute,
IN |
|
- Minors in Computer Science and German
- Technical Translator's Certificate in German
- Graduated with honors
|
|
Exchange Program 1991-1992 |
Humboldt Gymnasium Tegel, Berlin, Germany |
|
- Attended the eleventh grade
- Studied Latin, French, and German
|