Kevin Grant

kevin@ieee.org

Objective

Major software development responsibility in Unix-like or Mac environment, in the Austin, TX area.

Education

Bachelor of Science in Computer Engineering, June 1999

University of Alberta, Edmonton, AB, Canada

Employment Eligibility

Canadian citizen applying for green card; I-485 (AoS) pending since 2007.

Skills

Coding:

Accomplished programmer and software architect, self-taught and working on projects for over 15 years. The projects have included a terminal emulator, CAD tools for microprocessor design, web scripts (CGI), graphics editors, simple games, and more.

Languages:
C++, C, Perl, Python, Unix shells, Java, Objective-C, TCL, and more
Major APIs:
Carbon, Cocoa, POSIX, OpenAccess, standard libraries (STL/Python/Java), Tk
Operating Systems:
Mac OS X, Linux (RHEL 3/4), Solaris, Mac OS Classic, Windows, Apple ][
Testing:

Produced many small, specific test programs for projects, tying them together in automated regression test suites.

Tools:
Python doctest and unittest, proprietary infrastructures, and personal scripts
Debugging:

Work on many code bases has led to experience with several debugging methods, including: intuition, print-outs, and the use of debuggers, memory checkers, and profilers. Experienced at writing code in a way that is inherently easier to debug; for instance, by ensuring that state is easily exposed to a debugger.

Primary Tools:
gdb, Instruments (Mac OS X), strace (Linux)
Building:

Compiled software in a variety of environments over the years, but most recent work is on Unix-like systems. In addition to personal projects, built and installed a large variety of other tools from source, including some with very large dependency trees (such as Inkscape).

Environments:
make, SCons, GNU autoconf, Xcode
Automating:

Extensive expertise in infrastructure, including: organizing code and data, automating tasks with scripts, and combining basic tools to accomplish a goal.

Tools:
Dozens of core Unix utilities, and personal scripts
Administering:

Basic experience maintaining a bug tracking system, license servers, web servers, and personal software (such as, web-based applications).

Tools:
ClearDDTS, FLEXlm, Apache, Perl, internal processes
Documenting:

Excellent communicator with strong documentation skills from both layman and technical points of view. Software background used to produce more effective documentation. Adept at writing a lot of "raw" markup.

Languages:
HTML, CSS, wikis, Perl POD, reStructuredText, Textile, LaTeX
Tools:
Doxygen, docutils, raw text editors

Experience

Computer-Aided Design Tool Development

Freescale Semiconductor, Inc. (spun off from Motorola, Inc.); 1999-2009

"MacTelnet" (open source software project)

1998-present

Internships

Several software-related summer internships in Edmonton, AB from 1996-1998, including:

University Projects

Several senior-year team project courses. First, a stock RC car modified to accept voice commands; mechanical relays received signals from a programmed FPGA that handled voice training and microphone signal matching. Second, a small robot vehicle capable of driving itself by scanning an adhesive tape "track" on paper; in addition to an on-board battery, stepping motors and connected hardware, an M*CORE microprocessor was used to intelligently handle feedback from photo sensors. Third, some small Linux kernel programming tasks, including a mock device driver.

More Information

Contact: kevin@ieee.org

http://www.linkedin.com/in/kevinmgrant (includes peer recommendations)

http://www.mactelnet.com/