Kevin N. Haw

Below is my current resume. The better PDF version (suitable for hard copy) is here

Objective

To obtain challenging employment as a software engineer, preferably programming embedded systems. Willing to perform in a technical leadership position.

Synopsis of Experience

Creative problem solver and team player with extensive real-time embedded systems software development experience. C, C++, Python, Perl, Javascript and assembly for MIPS, x86, Power PC, 8051 and other processors. Developed device driver, application level, and kernel level software for Fedora Redhat LINUX, Solaris UNIX, and other real time operating systems. Experience with low level interfaces to hardware devices: DMA hardware, embedded microcontrollers, FPGAs, UARTs, serial flash devices, etc. Experience with code development and management tools: Eclipse, gcc, make (UNIX and Windows), shell scripts, Perforce, CVS, Subversion. Wrote applications and tools for Windows and UNIX platforms. Taught undergraduate and extension courses in UNIX for California State University, Fullerton. Well versed in software requirements specification, design, code, test, and formal qualification. Experienced in UML software design tools and techniques. Numerous awards for process improvement initiatives. Two Master of Science Degrees: one in Software Engineering and one in Computer Science. A good mix of programming experience, leadership roles, and instructional knowledge gives me unique a perspective on software development, letting me see it from both the developer driven, low level and customer driven, "big picture" viewpoints.

Professional Experience (Software Development)

Staff Software Engineer, Broadcom Corporation.  Irvine, California.
March 2011 to Present.
  • Software engineer for Broadband Communication group, supporting embedded Redhat Linux multiple processor core “platform on a chip” Ethernet Passive Optical Network (EPON) and Digital Subscriber Line (DSL) modems and routers for domestic and Chinese markets.
    • 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.
    • Used rapid development techniques with HTML/CSS and Javascript to quickly prototype and test operator interface changes.
    • 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 Windows CE ActiveX control to manipulate a video port for viewing real time streaming digital video and live analog video via Javascript controls on a webpage.
    • 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 Education

Master 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.



Recreational Coding

  • 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.
  • Hosted above and miscellaneous Javascript based applications at personal website, KevinHaw.com.