Jeremy McNicoll
adc7tb@r.postjobfree.com
adc7tb@r.postjobfree.com Open to relocation (worldwide)
Canadian Citizen US Permanent Resident (green card) EXPERIENCE
RED HAT INC. SOFTWARE ENG. (KERNEL) Anywhere, USA Sept. 2015 – Present
• Designed / developed PCIe based video capture card device driver
• Automated Docker, Kubernetes via Python
• Mainlined kernel support for Google Nexus 5X/6P (ARM Cortex A57 & A53) phones
[https://youtu.be/77tuFtM4gjA]
• Designed, developed low latency zero overhead shared memory driver with ION and dmabuf
• Customization of Yocto & Buildroot distributions APPLE INC. FIRMWARE ENG. Cupertino, CA Dec. 2012 – Sept. 2015
• Designed and developed device drivers for: USB, I2C, Serial(UART), Bluetooth (IOS and OSX)
• Implemented and supported full SPI driver for touchpad and keyboard input
• Designed USB to Serial (UART) translation / abstraction layer
• Increased factory productivity via I2C driver for setup and diagnostics
• Debugged and resolved, highly complex system level issues (detailed fault isolation & perf tuning) QUALCOMM INC. LINUX SW APPS ENG. (KERNEL) San Diego, CA Sept. 2011 – Dec. 2012
• Delivered customer and internal training on new and emerging technologies
• Assisted OEM’s with debugging critical issues using JTAG (Trace32) WIND RIVER LINUX KERNEL / BSP DEVELOPER Ottawa, ON Canada July 2007 – Aug. 2011
• ModiĆed Linux kernel (paravirtualized) to run as guest for Wind River Hypervisor (type 1)
• Developed, designed and maintained new device drivers e.g. shared memory, UART, I2C, USB, ethernet
• Early board bring up running on various boot loaders as well as Linux running on Hypervisor
• Low level debugging of bootloaders and Linux kernel using JTAG / ICE, running natively and on hypervisor
• Pre-silicon board bring up using hardware simulator (Simics)
• Designed, developed and maintained BSP for Wind River SBC8265 & SBC8548 reference board consisting of U-Boot (bootloader) & Linux kernel
MARCH NETWORKS SOFTWARE DESIGNER Ottawa, ON Canada July 2005 – July 2007
• Developed and maintained video analytic component for embedded digital video recorder and related client software
• Linux development on a wide variety of core system functionalities, ranging from shell scripts to writing application level software for an embedded video server SKILLS
PROGRAMMING LANGUAGES C/C++ (gcc/clang), GoLang, ASM (Intel, ARM, PPC), Java, MySQL, NoSQL SCRIPTING TOOLS Python, Perl, Lua, BASH, CSH, TCL/TK VIRTUALIZATION & SIMULATION KVM, QEMU, Simics, Containers(Docker Kubernetes), VMWare, XenServer BUILD & MISC TOOLS GIT(GitHub, GitLab, Gerrit), Jenkins, SVN, Jira, Buildroot, Yocto PROTOCOLS I2C, I2S, SPI, UART, TCP/IP
MISC JSON, XML, MQTT
EDUCATION
CARLETON UNIVERSITY BENG COMPUTER SYSTEMS Ottawa, ON Canada 2005 Updated on 1st May 2020