Steve Duerksen
Software designer, architect, and contributor expert in creating and testing TCP/IP networking and other microprocessor software (real-time, driver, kernel, application, and user-interface programs) for embedded systems, and platforms including UNIX and Windows.
Experienced developing real-time
systems and software in C/C++ (17 years) and assembler for
many micros (especially x86) stressing modular design and code clarity
to ease maintenance and enhancement. Developed and debugged hardware
(from interfaces to multi-board computer systems) using logic analyzers,
network analyzers, oscilloscopes, and in-circuit emulators.
My responsibilities have
included project-level management and direct
implementation, building robust systems that perform
as expected while controlling costs. I have also written functional
specifications, product descriptions, design requirements, and test
plans, interacting with management, marketing, and customers.
MS Excel, Word, PowerPoint,
Project, Adobe Framemaker, Visio, SNMP MIB walkers, ClearCase, CVS,
SmartBits and software-based protocol analyzers.
4/03 - 6/03 Objective
Systems: ASN.1 library ported to Nucleus+ RTOS on ARM
Ported a library of C code implementing ASN.1 BER and PER features, from Windows/UNIX to Nucleus+ RTOS on ARM processor. Also tested the ported code in a simulator environment under Developer's Studio (Visual C++ IDE).
2/00 - 8/01 Nokia: IP
Router VoIP driver, environmental monitor, DSL architecture
Architect and senior kernel developer for drivers
on an x86 FreeBSD-derived UNIX-based IP router platform. Analyzed
and created requirements for network and device drivers, for Voice-over-IP
(VoIP) telephony, environmental monitoring, and DSL. Provided
planning, architecture, and software design for a DSL PCI board.
Wrote a dynamically-loadable network
device driver to transport real-time voice data streams over a
microprocessor-based PCI board with shared RAM mediated by a DMA
controller. Integration included motherboard BIOS and bootstrap, PCI
resource configuration mapping, QoS interface, a virtualized socket
interface, a new telephony layer, and data packet I/O for 48 telephone
channels. Implemented kernel integration with protocol, network interface,
and routing functionality. I also
provided C and assembler for the embedded Motorola PowerPC MPC8020
running VxWorks. Also wrote a kernel driver for an SMBus LM87
environmental monitor, for temperatures, fans, motherboard voltages, and
power-supplies. Included SNMP traps and LED alarms, and CLI and script-driven
(TCL/Tk) web-based GUI.
1/99 - 1/00
NetworkMasters: security features, switch firmware
Software architect, project lead, and contributor
for several embedded networking projects, including adding MAC-level
security features to Ethernet switch firmware, and regularizing a distributed
CLI in a carrier-class router platform. Created proposals, functional
and design specifications, test-plans, and presentation collateral.
Coordinated fixed-price contracts with clients, and provided user
documentation and training for field-service and customer support.
Security features included MAC source-address access control, 802.1p/q,
VLAN, autotopology via spanning tree mapping, and trunking, for a
real-time embedded system with a high-speed packet bus and CAM lookup tables,
for both standalone and stacking switches. Other features included a RADIUS
client, and SNMP and CLI interfaces for parametric control
and monitor. Developed and oversaw automated functional, performance, and
regression testing. Provided detailed consultation for installation and
administration user manuals and for VPN deployment.
Developed proposal for a unified
command-line interface to integrate different C++-based systems into
a single distributed carrier-class router. Wrote a script-driven socket program
to automate syntax collection, and created detailed analysis of interfaces and
command parameters.
11/95
- 12/98 Compaq/Digital Equipment Corp.: High-availability security and ISP
products
Architect and lead engineer for high-availability (cluster-based) Internet-server system products including firewalls, tunnels, and complete ISP solutions. Evaluated, deployed, and tested a laboratory ISP. Provided marketing and product management support, and corporate communication including white papers and an intranet web site for internal distribution of product kits and docs. Marketing support included trade-show interaction, site presentations to ISVs, VARs, and potential customers, copy and diagrams for brochures, and animated product demos.
Technical advisor for vendor
partnerships analyzing OEM marketing and manufacturing strategies.
Prepared and presented custom quotes to VARs and end-customers
for security (firewall, VPN, and extranet), ISPs, Web farms, e-commerce, and high
availability (cluster-based) versions of these. Produced product
requirements, designs, quotes, specifications, and delivery schedules,
and supported large customers including Wells Fargo Bank, the Library of
Congress, and the National Bank of Kuwait. Also defined and supervised a performance
characterization of AltaVista Search.
Engineering activities
included specialized configuration (including startup, state
coordination, and failover scripts) for TCP/IP, web, DNS, ftp,
telnet, email, RADIUS, LDAP services, LAN/WAN routers, T1 CSU/DSU, analog and
ISDN dialup (3Com/USR, Ascend, Cisco, Digital), and Ethernet switches and hubs.
Performed protocol analysis (SNMP and IP network tools), UNIX
kernel customization and tuning, and Windows NT installation and
configuration.
12/94
- 10/95 Compaq/Digital Equipment Corp.: Tru64 UNIX kernel networking
Ported, enhanced, and
debugged public-domain PPP to Digital
(now Compaq/HP Tru64) UNIX for Alpha platforms. Added dynamic configurability,
and kernel locks for SMP thread-safety. Devised high-activity testbed
for PPP sessions. Wrote release notes and other documentation, negotiated
copyright issues with development partners, and created presentations for
training and field staff. Enhanced and debugged TCP/IP kernel modules,
daemons, and commands. Added MIB-II and FDDI SNMP v2 support, including
ARP and interface tables. Modified telnet and ftp option handling, using
detailed TCP/IP frame analysis.
Programmed and supported router features, including LAN and WAN protocols (802.3 and V2 ethernet, token ring, TCP/IP, FDDI, X.25, SLIP, PPP, IPX, DECnet, OSI), routing, bridging, and tunneling protocols (OSPF, RIP, RIP/SAP, SRT, Spanning Tree), and applications (SNMP and MIB-II, telnet, ftp, and router monitoring and configuration). Built and tested fixes in C, 29030 and 80386 assembler, and TMS380C microcode.
Designed an interactive voice-response (IVR) fax-on-demand 24 telephone-line system product. Developed in C a TCL-based scripting language, and scripts for telephone user-interface to company's phone-interface board, and a database API providing portable efficient SQL-like commands. Features included a call-progress monitor and I/O for voice, touch-tones, and fax. Developed application scripts with multi-level voice menus.
Developed and maintained firmware
in C and 68020 assembler for a multiprocessor FDDI-Ethernet bridge.
Designed and implemented: (1) IPX support in a bridge/router environment,
including FDDI translation and SNAP/SAP encapsulation, (2) SMT-protocol support
for FDDI and additions for SNMP agent, and (3) IP fragmentation
handling in FDDI bridges. Used network and logic analyzers and in-circuit
emulator.
Designed and implemented a
UDP/IP transport protocol for downloading firmware upgrades to network
bridges. Developed GUI and client/server modules for XView on Sun SPARCs
and Sun RPC over TCP/IP. Designed a FLASH EPROM file-system and wrote real-
time (pSOS) 68K code for storing firmware upgrades on a 32 port
multi-media Ethernet bridge.
Designed and built a
bi-directional gateway for interfacing to image systems including
high-end optical scanners (ImagiTex, Nikon, Xerox, Sony and others) and
platforms. Created UNIX device drivers and color image-conversion APIs
for newspaper publishing systems.
Created custom multi-processor OS for distributed fault isolation (including scheduler, user interface, and system services). Designed user interface and wrote C and 68030 assembler programs for an irregular network of CPUs and peripherals, with remote-node connectivity.
Designed and built hardware and programs to acquire RF data from a mobile transmitter (a stolen automobile), and analyze that data to locate and recover the mobile unit. Developed a PC-based system with modems to remote RF receivers, and a central-office program (in C and 80x86 assembler) to acquire, analyze, and graphically display the results. Wrote firmware for each Z8-based remote store-and-forward site. Designed and debugged the RF hardware interface.
Designed and developed firmware (6502 assembler) for an intelligent commodities terminal for international metal, grain, and currency traders. Managed five programmers and specified modules, interfaces, and testing procedures, and wrote much of the total program, including a custom real-time OS and user-interface support.
M.I.T., Cambridge, Massachusetts: Three years coursework
towards BS degree in Electrical Engineering / Computer Science.