Seeking challenging computer programming work involving UNIX kernel internals and device drivers.
Twenty years of solid engineering experience developing quality hardware-intensive, real-time, concurrent software in C language for embedded systems and UNIX. Career focus has been on challenging work in a high-powered team environment using state of the art technologies for commercial applications. Recent focus has been on developing software for data communications and data storage systems.
Languages - C; familiar with Assembly, C++, Java, Lex, Yacc.
Processors - PowerPC, Xscale ARM; familiar with MIPS, SPARC, 68000, x86 family.
Systems - Linux, Solaris, Mac OS X, FreeBSD, SunOS, System V, OS-9.
Drivers - SCSI (block, char, ioctl), PCI (backplane, target), Ethernet (network), telephony (streams), serial (char, tty).
I/O Access - Descriptor Chain Lists, Single Block DMA, Interrupt Driven, Polled Mode.
Busses - PCI; familiar with VME, ISA.
Protocols - RapidIO, SCSI, HTTP, Telnet, FTP, UDP, IP, ICMP, Ethernet, IEEE 802.3, HDLC, LAPB, RS-232, RS-422, RS-485, EIA-530; familiar with TCP, GRE, Sonet OC-3, T1.
IPC - message queues, semaphores, shared memory, FIFOs, pipes, signals, sockets.
Tools - sh, grep, tr, sed, awk, lex, yacc, troff, latex, doxygen, pic, svn, cvs, sccs, make, ddd, gdb, diff, patch, tar, cpio, pkg*; familiar with csh, egrep, perl, fig, rcs, adb, dbx, rpm, dpkg.
Quality Measures - familiar with SEI CMM, ISO 9000.
06/09 to 09/09 - Contract Software Engineer - DDC, Gaithersburg, MD
Keywords: ARM, Xscale, OMAP, PowerPC, PPC, LSP, BSP, GPIO, JTAG, I2C, IIC, SPI, Linux, Board Support, Kernel, Device drivers
07/08 to 05/09 - Contract Software Engineer - 3ETI/E.F. JOHNSON, Rockville, MD
Keywords: NIST, FIPS 140-2, CAVS, CAVP, PCI, Monta Vista Linux 2.1, Linux kernel 2.4.17, Linux kernel 2.6.22, ARM, Xscale, LSP, BSP, MTD
05/08 to 07/08 - Contract Software Engineer - JUNIPER NETWORKS, Frederick, MD
Keywords: Embedded, CompactPCI, Fedora Core 1, Linux kernel 2.4.29, network device drivers, PCI device drivers
05/07 to 10/07 - Contract Software Engineer - HUGHES NETWORK SYSTEMS, Gaithersburg, MD
Keywords: Monta Vista Linux 4, Linux kernel 2.6.10, U-boot 1.1.6, AMCC PPC 440GX, Xilinx Virtex 4 FPGA, Xilinx Virtex 5 FPGA, ATCA, RapidIO, character device drivers
08/06 to 09/06 - Contract Software Engineer - SEPATON, (through Triple Crown), Marlboro, MA
Keywords: Linux kernel 2.4.32, x86
11/05 to 08/06 - Contract Software Engineer - DIGI-DATA CORP. (through Latitude), Columbia, MD
Keywords: Monta Vista Linux 4, Linux kernel 2.6.10, MIPS R7000, block device driver, RAID 5, SCSI target mode
Provided Linux expertise to move development of existing RAID 5
fibre channel controller from MS-Windows hosts and VxWorks targets, to
SuSE Linux hosts and Monta Vista Linux targets.
2/05 to 11/05 - on sabbatical
Worked on several projects of my own interest:
7/04 to 1/05 - Contract Software Engineer - ERICSSON IPI (through Aerotek), Rockville, MD
Keywords: Monta Vista Linux 3, Linux kernel 2.4.20, PPC, ARM, network device driver, PCI
Developed a series of 6 Linux device drivers for a custom IP
communications blade. Implemented Monta Vista Linux Backplane Drivers
for inter-processor communications across PCI.
1/03 to 5/04 - student, JOHNS HOPKINS UNIVERSITY, Laurel, MD
Took graduate level classes in Computer Science, with an emphasis in
3/01 to 12/02 - Senior Engineer II, ERICSSON IP INFRASTRUCTURE, Rockville, MD
Keywords: FreeBSD 3 kernel, network device driver, ethernet,
Helped maintain FreeBSD kernel for a hardware based internet router.
Focus included adding enhancements to improve the debugging
capabilities of the system.
1/99 to 5/01 - Grader, JOHNS HOPKINS UNIVERSITY, Dorsey, MD
Keywords: Sun Sparc Solaris
Grader for 'Software Development in the UNIX Environment' for the Part-Time Engineering Graduate Program in Computer Science.
7/00 to 2/01 - Software Engineer, MEGISTO SYSTEMS, Germantown, MD
Keywords: requirements analysis high level design
Worked at a pre-IPO startup on a state-of-the-art internet edge router targeted at the wireless provider market. Focus included hardware/software interface design, device driver design, protocol internals, system architecture, software architecture, and requirements analysis. Worked on folding forwarding path into hardware for the BSD-based VxWorks protocol implementation.
4/00 to 6/00 - Contract Software Engineer, BANCTEC, Silver Spring, MD
Keywords: HP-UX, FTP
6/99 to 3/00 - Contract Software Engineer, AERONAUTICAL RADIO (ARINC), Annapolis, MD
Keywords: C++, LAPB, GPIB, FLASH EEPROM, Sun, Sparc, Solaris,
pSOS, CPCI, PowerPC G3, Motorola MPC750
3/99 to 5/99 - Contract Software Engineer, TIMEPLEX/SIMULATION LABS, Hyattstown, MD
Keywords: Sun, Sparc, SunOS, awk, sed, tr, sh
2/96 to 3/99 - Contract Software Engineer, AERONAUTICAL RADIO (ARINC), Annapolis, MD
Keywords: Sun, Sparc, Solaris, OSI, C++, VME, 68360, QUICC,
68040, pSOS, LAPB, HDLC, ICAO
10/94 to 2/96 - Senior Software Engineer, GRCI TELECOMMUNICATIONS
DIVISION, Columbia, MD
Keywords: Sun, Sparc, SunOS, Sonet, OC-3, 68040, 68360, QUICC,
3/94 to 10/94 - Software Engineer, U.S. DESIGN, Columbia, MD
Keywords: DEC MicroVAX VMS, SCSI, i960
3/93 to 3/94 - Software Engineer, CRAY COMMUNICATIONS, Annapolis
Keywords: Sun, 3/80, SunOS, Green Hills, Oasys, 68000, T1
10/92 to 3/93 - Software Engineer, DOWTY COMMUNICATIONS, Cherry
Keywords: 68000, 6502, LAPB, T1
5/86 to 10/92 - Staff Engineer, THE CATALYST CORPORATION, Newtown, PA
Keywords: National Semiconductor NS 32016, System V, Hitachi 64180, JMI Cexec, AT&T, 6836, 3B1, PC7300, Streams, Motorola MC68010, Unisys Convergent 80386, Sequent, BSD,
6/85 to 8/85 - Summer Intern, OBJECT RECOGNITION SYSTEMS, Princeton,
Keywords: DEC VAX 11/750, BSD 4.2, Green Hills, Oasys, Motorola MC68000, JMI Cexec, RTC 146818
6/84 to 8/84 - Summer Intern, Center for Fluorescence Research in
Biomedical Sciences, CARNEGIE-MELLON UNIVERSITY, Pittsburgh, PA
Keywords: DEC VAX 11/750, VMS, Fortran IV, Fortran 77, Knuth, Bivariate pseudo-random
09/00 - InterOp mini-classes
05/00 - JOHNS HOPKINS UNIVERSITY, Baltimore, MD
Master of Science in Computer Science, Concentration in Systems and System Software
Keywords: Sun Sparc Solaris
05/86 - CARNEGIE-MELLON UNIVERSITY, Pittsburgh, PA
Bachelor of Science in Electrical Engineering, Concentration in Computer Engineering
Keywords: DEC PDP 20 TOPS, DEC VAX 11/780 BSD, Motorola
MC68000, Green Hills, Oasys, MC6803, MC6801, MC6809E, Microware OS-9,
Serial character device driver, Western Digital WD8250, MC6847, MC6845