James Dean Rucker

9905 Whitley Bay Dr. • Austin, TX 78717• (512) 779-7367 cell
E-mail: mrjimorg@protonmail.com

	I am a professional Software Architect who analyzes complex situations and creates innovative software solutions. I've been a leader in every stage of software development from defining hardware architecture to release management while mentoring to junior developers. I've been programming professionally in C for over 20 years primarily with embedded systems, device drivers and hypervisors. I have experience with a vast set of technologies and I am able to learn and employ new ones quickly. 
- Core Competencies -
·	C/C++ with over 20 years of experience architecting and developing on embedded systems, hypervisors, device drivers, firmware and operating system components
·	Security focused, with a thorough understanding of hardware and software technologies
·	Experience with 3d graphics APIs (DirectX and OpenGL)
·	Educational background in hardware design
·	Strong debugging skills using a variety of tools and environments
·	Advocate for and avid user of git, docker and python
·	Able to maintain an SCI and TS clearance
·	US Citizen with rights to work in the US
- Employment -
Nvidia											Austin, Tx
Technical Support Engineer, 2019-Current
     Primary Technologies Used- C, QNX, git, p4, ARM aarch64, python, gPTP, networking
	I was the primary support engineer for testing, benchmarking and providing guidance for optimizing networking performance for vehicle based customer solutions. I provided data-backed solutions which provided for substantial performance improvements to customer designs
	I became the primary support engineer for the Drive-Update solution which provides a secure path for flashing and installing new versions of drive software for vehicle control systems. I created presentations for customers to explain how our update architecture functions and how to implement their own solution based on it
	I was responsible for maintaining multiple builds on hardware, based on either source or deployed packages, and switching between them on a bug by bug basis. This required the creation of
docker containers to protect my host system from conflicts.

Altera / Intel										Austin, Tx
Software Engineer, SocFPGA 2012-2019
     Primary Technologies Used- C, firmware, makefiles, git, docker, Trustzone, ARM A9/A53, python, linker scripts and code startup, debugging with gdb and eclipse, ARM IP, including PL330 DMA controller, QSPI, PL310 L2 Cache controller, ARM GIC, UART 16550, and SDMMC
     Senior Software Engineer - Stratix10 Firmware - Implemented a series of requirements for software loaded on an array of Embedded NIOS processors, the largest of which contained 256k of memory. Worked on tools to support this effort including encryption and security.
     Primary Developer - Sparrow
	When tasked with creating an Asymmetric MultiProcessing (AMP) solution for a customer I went above and beyond to develop a software solution that was applicable to solve a variety of problems for many customers. This project was the primary factor in the original customer’s decision to purchase twenty million in hardware. This solution was then used to win another twenty million sale and was a deciding factor in a series of other customer sales.
This solution uses Trustzone to enforce security so that a secure OS can continue to run undisturbed even when the non-secure OS (Linux) was compromised, or acts erratically. This solution was one of the first pieces of software to be used in the SoCFPGA and thus there were no libraries available, including memory allocation or print capabilities. Code was written to be executed from the processor reset state. This solution also included custom tools which allowed the memory, processor, cache, and hardware configuration to be changed. Project used git for code versioning and Python for dynamic code generation.

Intel / Altera continued...
     Senior Software Engineer - HWlibs, Green Hills RTOS, Free RTOS
	Developed printf drop-in replacement which targeted UART, debug, or memory logging.
	Worked on a team to create, debug and maintain low level libraries for accessing hardware for the SocFPGA. Ported, maintained, debugged and tested drivers for interrupt handling, cache configuration, timers, watchdogs, DMA controllers, SPI, QSPI, SDMMC, FPGA Management, Clock Configuration, UART16550, and GPIO.
	Guided migration of code from private Perforce to a public Git distributed via Bitbucket
    Sole Developer - Customer Facing Test Framework
	This framework was created to be distributed to our customers, along with the hwlibs tests/examples. This gives customers the ability to modify the test code and use it within their own apps. If they run into a problem then they can modify the test to demonstrate the issue and send it back to us. We can then turn this modified code into a new test which would then be distributed.

Integrity Global Security / Green Hills Software	      				Austin, Tx
Senior Developer, Advanced Products 2009-2012
Worked in a team responsible for developing a product that allows multiple operating systems of various security levels to be run in separate virtual machines on a single computer.
     Primary Technologies Used - C/C++, Embedded system programming (using Integrity), Hardware level debugging (JTag), ACPI, TPM, Intel VT, Qemu development, Intel HD and GMA graphics drivers, DisplayPort, VGA, EDID/DDC encoding/decoding, I2C, Windows graphics drivers, Linux Device Driver, Multiboot, BIOS handoff, Subversion
·	Completed development contracts for customers
·	Developed Linux Device Driver and modified separation kernel to support for inter-VM   	communications
·	Redeveloped display architecture to add support for hotplug, multi-display and optimization
·	Ported device level code to new platforms including an Intel based laptop
·	Added support for TPM based key storage of network keys
·	Modified networking stack to support out-of-band encrypted channels
·	Developed prototype systems for both public and private demonstrations
·	Researched new technologies for evaluating their relevance to our goals
·	Obtained and maintained an interim SCI and TS clearance

NVidia				     					  	 Austin, Texas
Developer Senior Software Engineer 2007-2009
	Worked in a team responsible for developing Windows device drivers for Desktop GPUs
	Primary Technologies Used- C/C++, Windows DDK, Windows graphics drivers, Windows driver debugging, Hardware level debugging, GPIO usage, SLI architecture, Thermal monitoring, CVS
·	Developed prototype hardware solutions
·	Diagnosed both hardware and software issues
·	Worked with various departments to maintain a cohesive driver interface

Neteffect / Banderacom						Austin, Texas
Senior Software Engineer 2001-2007
Worked on a team responsible for developing both Linux and Windows device drivers for 	iWarp, Infiniband, iSCSI, TOE and ethernet cards.
     Primary Technologies Used- C/C++, Windows DDK, Linux Device Drivers, Infiniband, iWarp, 
	Windows driver debugging, Network drivers, TCP/IP packet analysis, TCP Offload Engine (TOE)
·	Received a patent for software method used to coordinate multiple drivers (11/356,500)
·	Was instrumental in designing the architecture for our software stack
·	Was responsible for designing the Application Programming Interface (API) to our iWarp 	software/hardware stack
·	Wrote sample applications to demonstrate proper exercise of the software stack. These 	were distributed with our driver and were the basis for many customers projects
·	Ported several critical middleware layers to our API, including DAPL and MPI
·	Architected and developed several aspects of the Linux device driver

Jet Propulsion Laboratories				Pasadena, California
Associate Software Engineer, Interferometry Science Division 1998-2000
Worked in a team responsible for developing common software for multiple spacecraft and ground based missions that filtered, delivered, and archived telemetry. 
·	Was responsible for making decisions on the Software Architecture that will be used to control the interferometers on several space missions, including Space Technology 3 (ST-3), Space 	Interferometer Mission (SIM) as well as the Ground Based Interferometer Keck
·	Developed code on a PowerPC604 embedded system running WindRiver’s VxWorks Operating System to control the operation of an interferometer
·	Developed code on Solaris and Linux to communicate with the embedded system to receive, display and archive high rate data, as well as to control the Interferometer
·	Awarded the ‘Nova’ award from Jet Propulsion Laboratories for outstanding job performance

- Education -

Master of Science, Electrical Engineering
University of California, Los Angeles
·	Specialized in computer engineering
·	Taught classes while studying

Bachelor of Science, Electrical Engineering
California State Polytechnic University Pomona, California
·	Specialized in computers engineering
·	Achieved a 3.35 major grade point average while taking classes full-time and working at Jet Propulsion Laboratories
·	Senior project was an ISA card and drivers used for monitoring temperature sensors