Mark Frazer tel: 416.699.4570 email: mark@mjfrazer.org location: Toronto, Ontario www: http://mjfrazer.org/~mjfrazer I am interested in system, server and application software development for *nix and embedded platforms. I excel at software architecture including gathering functional and interface requirements, system level planning and partitioning, down to data structure and network protocol design. I enjoy engineering and am an excellent programmer. I communicate well and am pragmatic. I rank my familiarity as either 4 (expert), 3 (above average), 2 (average), or 1 (novice) with the following: C(4), C++(4), sh(4), make(3), BitKeeper(3), unix(3), perl(2), Java(2), Python(2), SCCS(2), Apache(1), SQL(2), Matlab(1). I am skilled in multi-threaded and real-time programming and in network and device protocol design. I learn quickly. Professional History Opteon Corporation, Boston, Massachusetts (Dec 2003-current) - digital camera manufacturer for high frame rate and high fidelity applications such as factory automation and digital microscopy - also build various automation perpherals which interact with cameras - development of functional requirements a protocols for new products - designed and developed linux 2.6 device driver for cameras controlled by asynchronous messaging protocol: zero-copy dma transfers, MT & SMP safe - character driver with ioctl for launching requests and select-like poll for request completion status, supports multiple concurrent users with access controls, debugging info through klog and sysfs, full manual page docs integrated into source and extracted via awk & sed scripts - MT async request based cross platform C++ API library + inline docs - handle based C API library wrapped C++ library - gnu-make for OS specific source and common source - use of namespaces, smart pointers & reference counted objects, object factories and templates, interface classes, compiled under g++ and MSVC - wrote cross platform device demonstrator GUI application with wxWidgets - set up bugzilla + php reports, php front end to camera firmware revision control and build, server monitoring via email and mrtg, misc *nix admin Soma Networks, Toronto, Ontario (1998-2003) - broadband wireless (3G-ish) equipment manufacturer, converged voice/data - Soma developed a wideband CDMA base station and reference design CPE - The software was envisioned as a telephony and data platform, much like unix is a software platform, to allow service providers to run their own software on a deployed network. Consists of platforms for call processing and data services. - joined as the 5th employee, company maxed at 250+, I kept technical - Soma initially consisted of a technical whitepaper and business plan - grew software team up to 60+ developers, very interesting experience - developed a lot of initial software implentations - system design, high level hardware, all levels of software design - including technology evaluation, vendor selection, licensing terms - interviewing and hiring software/testing dev/leadership positions - No one I hired was fired or laid off. Recruited several stars. - knowledge transfer with PLM and marketing, team leadership (10 people) - Once PLM group was in place, they often required guidance on product capabilities and expectations for future capabilities. - Was "lab lead" for group responsibe for OS, QoS, upgrade, boot time configuration, device drivers, high availability, etc, for 18 months - Moved to full time software architect after finding a better lab lead - customer interaction, development scheduling, patent submission - inventor on 8 patent submissions - kernel and user space development for Linux based CPE and base station - character and network Linux device drivers for ARM and x86 - user space code: from daemons, utilities, and libraries in C, to Perl CGI's for OAM&P, to call processing software in C++ and Java - from no specs and no plan to telco deployment, pass the duct tape please - Also worked on network management, air link management and MAC layer protocols, link adaptation and diversity scheduling, authentication, application distribution and configuration, diagnostics, data compression and protocol proxying, reliable realtime signalling Trilogy Software, Austin, Texas (1998) - enterprise software for sales force automation, configuration management - hired as developer, resigned after 4 months to help start Soma University of Waterloo, Waterloo, Ontario (1991-1998) - MASc (Elec Eng) funded by NSERC PGS-A & UW academic awards - MASc on convex modeling of, and parallel implementation of interior point solver for, analytic VLSI placement: 2 conf papers, 1 invited talk - MASc co-supervisors: Bruno Preiss and Andrew Kennings - ~86% course average, TA'd ECE 150, 250, 251, 427, 428, 429 - BASc (Comp Eng), ~86% course average, 'outstanding' coop evaluations - undergrad RA with parallel and distributed systems group - coop terms: embedded 680x0 software for frame relay terminals, minor digital and analogue circuit design, i860 & x86 machine vision software, flying tomatoes This document is online at http://mjfrazer.org/~mjfrazer/resume/