My skill set is broad and includes a track record of successful software development. I have been involved with practically every stage of product development from initial proof-of-concept design to end-of-life sustaining. I have done work from the lowest level of coding to the highest level. I can comfortably work in the PC(x86), Sparc, Mips, PowerPC, ARM,
My skill set is broad and includes a track record of successful software development. I have been involved with practically every stage of product development from initial proof-of-concept design to end-of-life sustaining. I have done work from the lowest level of coding to the highest level. I can comfortably work in the PC(x86), Sparc, Mips, PowerPC, ARM, and exotic embedded chipset environments. I have developed software on most of the major operating systems and many of the minor ones.
Senior Software Engineer (Consultant) @ Update Linux kernel to newer version that supports the RT patch
Modified build system to handle multiple versions of kernels
Updated existing drivers to be compatible with newer kernel
Began preliminary work on ARINC 429 PCIe card Linux kernel driver From December 2014 to February 2015 (3 months) Principle Software Engineer (Consultant) @ • Android 4.3 AOSP for custom Freescale iMX6 design
• Developed Android Linux software (user and kernel space)
• Spi Bus device using Spidev
• I2C Device using I2CDev
• USB device using LibUSB
• Communicating to Android app using UDP Sockets and JNI Library interfaces
• Gitlab and Build server setup/configuration running on Ubuntu
• Build Engineering
• Build server administration
• Kernel debugging using ARM DSTREAM probe
• Hardware debugging using an oscilloscope From March 2014 to September 2014 (7 months) Senior Software Engineer (Consultant) @ • Video broadcast product.
• Xilinx Linux 3.10.
• Buildroot filesystem.
• Xilinx Zynq (ARM) platform.
• Linux Kernel Device Drivers (I2C, SPI, GPIO, USB, Graphics, Ethernet, Custom).
• U-Boot configuration / modification.
• Boot images using bootgen.
• NAND UBI FS
• Linux device tree modification / driver integration.
• Build Engineering.
• Build server administration.
• Userspace FPGA loader utility.
• Front panel GPIO/SPI driver.
• Kernel debugging using ARM DSTREAM probe.
• Hardware debugging using an oscilloscope From February 2013 to January 2014 (1 year) Senior Software Engineer (Consultant) @ • CipherX 7211 Layer 3/4 IP Data Encryptor product.
• MontaVista CGE 6.0, Bitbake, DevRocket, Cavium SDK.
• Linux Kernel Device Drivers (UART, GPIO).
• Linux System Engineering.
• U-Boot modification.
• U-Boot drivers (UART, GPIO).
• Secure bootloader design.
• Cavium Octeon MIPS processor.
• Build / Release Engineering.
• Agile / Scrum process. From March 2012 to December 2012 (10 months) Senior Software Engineer - (Consultant) @ • Integration of a commercial SW license into the system software using C++
• Various driver related fixes
• Develop Linux kernel driver for Dallas 1 wire bus serial number device
• Stage and configure Red Hat Enterprise Linux installation
• Stage and configure Infiniband drivers for Red Hat Enterprise Linux
• Clone Red Hat Enterprise Linux installations using CloneZilla From August 2011 to February 2012 (7 months) Senior Software Engineer - (Consultant) @ • Developed Android and Linux BSP code for Samsung, Telechip, and Freescale ARM SOC platforms.
• Developed Linux I2C drivers (KO/KLM) for AT88 Cryptomemory chip.
• Developed build system for automated cross-building of Android, Linux, and drivers. From April 2011 to August 2011 (5 months) Senior Software Engineer - (Consultant) @ • Built from scratch GNU Toolchain, Linux Kernel for embedded AMD Geode platform
• Developed custom PCI based FPGA Linux kernel driver using MMIO and SysFS interfaces.
• Built from scratch Busybox based root file system.
• Modified / Ported PTP (Precise Time Protocol) user space stack.
• Assisted with diagnosis of hardware problems associated with prototype design.
• Developed automated build system to build all system software.
• Wrote HTML and BASH code to instrument web interface.
• Hardware debugging using an oscilloscope From November 2010 to March 2011 (5 months) Senior Software Engineer @ • Linux kernel device driver (BSP) development
• Linux kernel BSP / Uboot utilizing flattened device tree
• RPM package management / integration into build system for target rootfs building
• Toolchain development / integration From June 2008 to May 2009 (1 year) Senior Linux Driver Developer - (Consultant) @ Design and develop diagnostics software in an embedded communication device. Responsibilities include design and implementation of Linux kernel driver and user space API for some proprietary FPGA and CPLD devices.
Drive many of the technical aspects of the product including definition and documentation of the architecture and interfaces with emphasis on Ethernet traffic, hardware and system platform support. From August 2007 to June 2008 (11 months) Staff Engineer @ 2.99 Support engineer for the level 2 TSE's for the testing tools products.
Handled escalations of support cases.
Worked with development teams in India to resolve field reported product defects.
Provided training to the team to enhance technical knowledge.
Analyzed java and c/c++ product source to isolate bugs.
Provided detailed technical knowledge on many technical areas (apart from specific Rational products) such as Java, Eclipse, Visual Basic, windows and linux OS internals, J2EE, Websphere, Maximo, SAP, Crystal Reports, Tivoli, and many, many more. From January 2006 to July 2007 (1 year 7 months) Senior Software Engineer - (Consultant) @ Contracting agency (Dot4). Contracted to Mercury Computer Systems to provide "Host qualifications" of their MCOS software. Involved porting to and from various OS's, kernel driver work, as well as general sustaining of their codebase. From January 2005 to December 2006 (2 years) Director of IT @ General IT position while the software development market was non-existent after the internet bubble burst.
Was responsible for:
Maintenance and repair of every computer at the location.
Purchasing capital computer equipment.
Maintenance and repair of PBX phone system.
Maintenance and repair of all physical ethernet and phone lines which included the use of punch-down tool and tone trace tool.
Graphic design (when designers were overloaded).
Full web site recode to make it w3c compliant and updated the technology to use XHTML, CSS, PHP, and MySQL. From March 2003 to December 2005 (2 years 10 months) Senior Software Engineer @ Designed and developed code for the VxWorks embedded OS using c and c++ language in a Sun/Solaris/Rational Clearcase/Clearquest/Windows NT environment.
Focus on standard routing protocols; OSPF, ISIS, BGP, MPLS.
Worked on system scaling, optical driver code (POS and ATM), IP Stack, Traffic Engineering.
Touched all parts of the system software; kernel, driver, middleware, application. From November 1999 to December 2003 (4 years 2 months) Field Application Manager @ Provided on-site customer support in the U.S., Europe, Middle East, and Far East (Republic of China, Hong Kong, Singapore, Korea, Taiwan, Japan).
Prioritized and drove customer issues to achieve production wins in the shortest time possible.
Traveled to sites of current and prospective customers to demonstrate new products.
Conducted field tests of all product releases (ISA, PCI, USB, and AMR platforms).
Resolved customers’ pre- and post-production technical issues.
Created training materials for other field application engineers.
Rare component acquisition.
Maintained office information system. From 1998 to 1999 (1 year) Software Engineer @ From 1992 to 1998 (6 years)
Chris Lee is skilled in: Embedded Systems, Device Drivers, RTOS, VxWorks, Kernel, C++, C, Java, Linux, Solaris, RedHat, I2C, IP Networking, Troubleshooting, PPC
Looking for a different
Get an email address for anyone on LinkedIn with the ContactOut Chrome extension