Kris Warkentin

40 Shadetree Crescent

Ottawa, Ontario K2E 7R2

Phone: 613-866-7762

Email: kewarken@hotmail.com

WWW: http://www.cruftysite.com

 

OBJECTIVE:

 

Skilled software professional with proven abilities in many types of development looking to continue expanding broad skill set. Accomplished at troubleshooting and debugging difficult problems with the ability to understand overall architecture requirements as well as the smaller but equally important details. A solid team player that enjoys all aspects of the software development process.


EDUCATION:

 

1997-2000

Honours Bachelor of Computer Science

Lakehead University, Thunder Bay, Ontario

  • Twice recipient of Returning Student Scholarship for Outstanding Academic Achievement. (88%-1998, 90%-1999)

  • Winner of Dean of Science Medal for Outstanding Academic Achievement.

  • Recipient of School of Mathematics Prize for Computer Science.

 

SKILLS:

 

 

WORK EXPERIENCE:

 

2010-present

Mapleworks Technology, Gatineau, Quebec

Senior Software Developer, Smartphone Development

  • Customer driven custom design and development of applications for Blackberry and Android phones.

  • Work closely with customers to develop mobile applications which integrate tightly with their backend servers using xml.

  • UI design and implementation.

Key Technologies: Blackberry, Android, Java.


2008-2010

Xandros Corporation, Ottawa, Ontario

Senior Software Developer, Core OS Team

  • Linux kernel and system development for x86 and ARM. Configuration, compilation, patching, as well as bug fixing.

  • Worked to integrate Android and Moblin into Xandros products.

  • Evaluation of new hardware/initial board bring-up.

  • Implement system inactivity monitor daemon for power-saving.

  • Customize device drivers (audio, video, network, etc.) for autodetection, codec selection, etc.

  • Monitor kernel development community for new patches/bugfixes, backporting and adapting as necessary.

  • Implement various scripts for such tasks as device auto-detection, installation and setup, wireless network configuration, laptop hot-keys, system standby, etc.

  • Optimize kernel for battery life.

  • Customize uBoot and initramfs to restore factory defaults using aufs/squashfs.

  • Fastboot optimization to boot linux in under 10 seconds using tools such as bootchart.

  • 'Presto' linux distro which installs to and boots from a Windows partition.

  • General debugging and fixing of whatever various and sundry problems arise with any modern operating system.

  • Wrote Python build system to automatically download source RPMs, convert to Debian packaging and build.

Key Technologies: Linux kernel, C, C++, Scripting, Busybox, uBoot, Grub.


2007-2008

Trigence Corporation, Ottawa, Ontario

Software Developer

  • Sustaining engineering work on Linux and Solaris application virtualization software.

  • Debug, enhance and improve complex product with components written in C, C++, assembler, Java and shell script.

  • Solve problems with customer deployment of complex systems such as Oracle, JBoss, Tibco, Clearcase, etc.

  • Redesign and improve build configuration (automake, autoconf, etc.)

  • Re-engineering of SOAP interface.

  • Integration with management tools such as Nagios and Sun Management Center.

  • Add instrumentation for performance profiling of syscalls along with new exit upcall to print gathered information.

  • Write assembly and C code to create per-thread execution stacks for kernel to user-space calls preventing application threads from overwriting stack boundaries.

  • Rewrite symbolic link resolution code to search multiple namespaces and thereby enhance learn mode to support on-the-fly copying with multiple sources and targets.

  • Add support for per-capsule loopback interfaces. This involved shell scripts to manage interfaces, additions to user-space utilities to inform kernel module of capsule status and kernel code to track socket connections and correctly route binds to correct interface/port.

Key Technologies: C, C++, assembly, shell scripting, Java, Linux/Solaris kernel, TCP/IP, SOAP


2005-2006

QNX Software Systems Limited, Ottawa, Ontario

Technical Account Manager/Software Developer, Engineering Services Group

  • Primary support contact for customers.

  • Provide technical support and project guidance.

  • Software development/custom engineering as required.

  • Responsible for entire life cycle of customer project from board bring-up and device driver implementation to application development and maintenance.

  • Contribute to wide variety of projects including network routers, vehicle entertainment and navigation systems, medical imaging devices, and audio-video systems.

  • Add startup and utility support (I2C) for Phillips 8583 clock chip.

  • Develop image library to use shared memory to reduce image overhead between applications.

  • Write Eclipse plugin to edit config files of above image lib.

  • Create routine to clear YUV video memory layers in Coral video driver.

Key Technologies: C, shell, device drivers, embedded development, Eclipse, QNX


2000-2005

QNX Software Systems Limited, Ottawa, Ontario

Programmer, Core Development Tools, Tools Group

  • Develop and maintain development tools targeting QNX Neutrino from Linux, Solaris, Windows and Neutrino.

  • Primary GDB Maintainer.

  • Primary Utilities maintainer which includes porting and development of new tools.

  • Secondary maintenance and support of compiler, linker and assembler.

  • Wide range of tasks ranging from implementing an XML parser to writing network servers, build configuration management to java IDE development, system administration to kernel development.

  • Use and support a variety of tools and languages such as C, C++, Java, shell scripting, make, assembly, bison, flex, etc.

  • Work with several architectures including Arm, PowerPC, MIPS, SH4 and i386.

  • Perform security audit of setuid software.

  • Supervise co-op student project.

  • Maintain, and enhance Neutrino support in GDB.

  • Prepare patches for submission to public FSF branch.

  • Work with GNU tools on Linux, Windows, Solaris, and Neutrino.

  • Develop software to install Neutrino packages on Solaris, Windows and Linux.

  • Write caching daemons for optimization of FlexLM licence lookups on above hosts.

  • Wrote tiny, Expat compatable XML parser for embedded systems using Lex and Yacc to create non-validating implementation of XML 1.1 specification.

Key Technologies: C, C++, Java, shell, XML, assembly, embedded, QNX


Fall 1998-2000

Computer Science Department, Thunder Bay, Ontario

Solaris/Linux System Administrator

  • Install, set up and administer Sun Enterprise 4500 server.

  • Build, install and maintain CS department's Linux server.

  • Install and manage heterogeneous 50 machine network. (Linux, Windows, Solaris, BeOS)

  • Standard sysadmin duties from hardware/software installation, security and tech support.

Summer 1999

Dr. Chinh Hoang, Lakehead University, Thunder Bay, Ontario

NSERC Grant for Undergraduate Research

  • Research and development in the field of graph theory.

  • Created C++/QT tool for visualizing and manipulating graphs.

Summer 1998

Center for Northern Forest Ecosystem Research, Thunder Bay, Ontario

GIS Technician/Programmer

  • GIS map work in ARCView.

  • Programming in C and Avenue

Spring

1998

Campus Technology Resource Center, Lakehead University, Thunder Bay, Ontario

Technician

  • Maintain and upgrade computers, printers and other hardware

  • Cable installation for new residences.

 

REFERENCES:

 

Available upon request.