Kevin N. HawBelow is my current resume. The better PDF version (suitable for hard copy) is here
ObjectiveTo obtain challenging employment as a software engineer, preferably programming embedded systems. Willing to perform in a technical leadership position.
Professional Experience (Software Development)Staff Software Engineer, Broadcom Corporation. Irvine, California.
March 2011 to Present.
- Software engineer for Broadband Communication group, supporting embedded Linux multiple processor core “platform on a chip” Digital Subscriber Line (DSL) and Ethernet Passive Optical Network (EPON) modems and routers for domestic and international markets.
- Worked on bonded DSL line drivers for Asynchronous Transfer Mode (ATM) and Packet Transfer Mode (PTM) DSL traffic, allowing doubling of end user bandwidth over existing copper infrastructure. Redesigned interrupt handling of driver for MIPS and ARM platforms to use dedicated thread for receiving packets to offload processing from interrupt context.
- Redesigned ATM bonding autosense function, replacing legacy design in favor of optimized state machine. Implemented portions of Broadcom's proprietary ATM Nitro™ mode.
- Fielded customer support requests from throughout the world for customized patches, aid in customizing Broadcom reference software, and capture of feature requests. Enhanced debug utility capabilities to allow for better diagnosis of problems from customer developers. Corrected bugs in debug “port mirroring” feature.
- Ported entire existing Linux source code baseline (kernel, driver, and userspace code) for new line of EPON chips. Tested using proprietary gate level simulator and then worked on “bring up” team with original delivered silicon. Developed guides and checklists to document process for subsequent product line efforts.
- Added extended network traffic statistics to Linux kernel: multicast packet and byte counts, unicast and broadcast packet counts. Modified drivers for Ethernet, network bridge, ppp, vlan, ATM/PTM, and proprietary packet accelerator and integrated with ifconfig utility and web statistics reporting mechanism.
- Wrote Linux driver for MIPS core to load dedicated EPON MAC and manage DMA communications between both cores.
- Implemented field download for new and legacy EPON MAC products.
- Ported, enhanced, and maintained embedded EPON MAC 8051 source tree for internal build process and source control.
- Integrated JFFS2 flash memory file system for use on embedded Linux platform.
Senior Software Engineer, Boeing Company. Anaheim, California.
December 2003 to March 2011.
- Software engineer for Fedora Redhat LINUX and Solaris UNIX platforms used for real time acoustic processing on P-8A Multimission aircraft, aircraft trainer, and foreign sales follow on products.
- Implemented (design/code/test) acoustic data transfer manager to process 64 channels of mission critical acoustic data over gigabit Ethernet LAN in real time. Modular design, object oriented methodologies, and C++ allowed for later expansion of product to other platforms and vendors.
- Rewrote NATO specification for static acoustic data storage as streaming TCP/IP protocol, which served as a primary driver for $6 million worth of subcontracts.
- Implemented software application to control, manage, and diagnose two different vendor units, a 64 channel RF receiver and a high capacity data recorder.
- Created a Python based media maintenance utility to control an acoustic data recorder over TCP/IP.
- Coordinated interface development with acoustic data receiver and recorder subcontractors.
- Used IBM Rational UML framework tools for various design tasks.
- Used Python testing framework to test hardware simulator for aircraft system trainer.
- Developed manufacturing checkout and configuration procedures to ensure that only properly tested digital media was distributed to the fleet.
- Software engineer for acoustic processing on P-3 antisubmarine aircraft.
- Developed technical proposal for expendable acoustic sensor for littoral surveillance.
Senior Software Engineer, Rockwell-Collins Passenger Systems. Pomona, California.
April 1996 to November 2003.
- Software Engineer for Windows CE .NET platform on company's next generation in flight entertainment system and for business and regional jets.
- Chief software architect for Windows CE .NET platforms to render streaming digital video and audio. Gave direction for team of developers for design of all software, including device drivers, embedded webpages, and built in test software.
- Developed Windows CE utility to calculate UDP multicast video stream performance metrics.
- Designed and implemented a Windows CE .NET SNMP extension agent to control unit over a webpage via an embedded ActiveX control.
- Adapted off the shelf vendor bootstrap code to load a Windows CE .NET image from flash memory or over an RS-232 serial port.
- Worked closely with hardware team to debug and bring up several platforms.
- Managed subcontract for outsourced driver development.
- Used "Extreme Programming" methodology for software development.
- Software Engineer for embedded Power PC platform on flagship in flight entertainment system.
- Ported compression code (GNU’s GZIP) to embedded target to save flash memory space, extending lifespan of platform and saving approximately $2 million in hardware upgrades.
- Wrote device drivers for FPGA, UART, and serial flash devices.
- Technical Lead on Cabin Service System (CSS) for the Boeing 767 airframe, providing technical direction to team of 20 software engineers.
Senior Engineer, Northrop Grumman Corporation, B-2 Division. Pico Rivera, California
August 1990 to March 1996.
- Enhanced real-time embedded operating system of the B-2's Flight Control Computer (FCC).
- Enhanced and maintained several graphical user interfaces (GUIs) for pilot displays.
- Wrote code and tutorials for failure diagnostics, throughput and memory usage metrics. Active in Software Engineering Institute (SEI) process improvement efforts.
- Process improvement award for failure diagnostics in the DPU, saving over 3000 debugging hours.
Professional Experience (Instruction)Computer Science Lecturer, California State University, Fullerton. Fullerton, California.
- Taught "Design of the UNIX Operating System" and "Introduction to UNIX" for traditional undergraduate students and working professionals through university extension program.
- Proposed, created, and taught a new course at the university, "UNIX System Programming."
- Authored supplemental materials for classes, including 102 page study guide for "Design of the UNIX Operating System."
- Member of advisory board for UNIX Certificate, which sets policy and curriculum for the certificate.
Formal EducationMaster of Science Degree in Software Engineering, California State University, Fullerton. Fullerton, California. Spring 2006.
- Capstone project “Protecting Sensitive Data While Outsourcing Software Development Projects” and my white paper "Comparison of Version Control Systems for Software Maintenance" are available at my personal website, KevinHaw.com.
- Member of Upsilon Pi Epsilon honor society.
- A member of the first graduating class to earn this degree at Fullerton.
Master of Science Degree in Computer Science, California State University, Fullerton. Fullerton, California. Spring 1993.
- Emphasis in hardware interface topics and object oriented design.
Bachelor of Science Degree in Computer Science, minor in Mathematics, California State University, Fullerton. Fullerton, California. Summer 1990.
- As “Northcott Consulting,” wrote recreational Android applications (“AD&D Stats Quiz”, “ShareTimer”) available at Google Play online store.
- RoboSapienServer – Used the open source hardware arduino embedded computer as a web server to control a modified toy robot. The project was written up in Make magazine blog and on the "arduino playground" project page.
- Wrote Java freeware applets MazeIcon (creates an icon or decorative border in the form of an automatically refreshing maze) and MazeApplet, (timed maze game) available at my website, www.javaboutique.com, and www.jars.com.