Rick Schultz

rick.schultz@gmail.com


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