Matthew Michael Cowan
<address omitted>  ·  <phone ommitted>
mcmar10@moviequote.net  ·  http://www.moviequote.net
OBJECTIVE:       To keep my presence available in case anyone wants to make me an offer I can't refuse. :)
SKILLS: General Strengths
Software architecture and design
Application development processes and life cycles
Technical leadership and mentoring
Multi-platform development

Programming Strengths
API and software architecture design
Audio, video and image processing
Floating-point and fixed-point math
MPEG, JPEG and MJPEG encoding and decoding; DVD authoring
Algorithms, optimization, SIMD and multi-threaded application programming
GUI design and implementation (MFC)
Web based programming (HTML, CGI, XML, Javascript)

Programming Languages and Environments
Very proficient in C, C++ and Bourne shell scripts
Expert at SIMD enhancements (MMX, SSE/2, AltiVec, VIS, MVI)
Experienced in Matlab, Perl and assembly languages
Knowledgeable in VB, Java, Pascal, Lisp, Scheme and Ada
Able to efficiently use MSVC++, gcc, CodeWarrior, cc/Forte and many other compilers
Comfortable on any UNIX, Windows, MacOS or embedded environment
EDUCATION:
8/1990 - 5/1994
Washington University, St. Louis, Missouri
Bachelor of Science in Computer Science
Minor of Fine Arts in Graphical Design

8/1986 - 6/1990
Eielson H.S., Eielson AFB, Alaska; Redlands H.S., Redlands, CA
Member of California Scholarship Federation,
Member National Honor Society
EXPERIENCE:
8/2004 - present
Audience Inc., Mountain View, California
Manager, DSP Platform Software Engineering
Managing a highly-skilled DSP software engineering team. (more detail omitted)

Principle/Staff/Senior Software Engineer
Audio software porting and integration. Software architecture design. Floating-point to fixed-point conversion. Audio signal processing design. GUI design and development. Software configuration management. Embedded software engineering Used C, C++ and Matlab. (more detail omitted)

1/2001 - 5/2004
Brocade Communications, San Jose, California
Senior Software Engineer - Developer Support
Supported partner software engineers in developing applications that utilized Brocade's APIs. Isolated and debugged critical race conditions and defects in the APIs. Developed sample and demonstration applications exhibiting the capabilities of these APIs. Contributed to the design and specification processes of the APIs often being the authority for final design decisions. Developed several utilities for Brocade switches to help end users and developers manage Brocade switches. Worked with multiple development platforms including Solaris, Windows, AIX, HP-UX, Linux and vxWorks.

1/2002 - 3/2003
iMove, Inc., Portland, Oregon
Contract Software Engineer
Contracted to write a custom, ultra high-speed video codec conforming to their specifications. Used JPEG techniques to develop a proprietary video codec for an undisclosed product. Performed intense optimizations and incorporated SSE2, MMX and AltiVec code to meet aggressive performance targets. Worked independently from San Jose with engineers in Portland to develop an API for seamless integration of the codec. Completed contract ahead of time and under budget.

6/2000 - 12/2000
Media100/Terran Interactive, Los Gatos, California
Senior Software Engineer
Operated as the technical lead for a group in place to provide extreme acceleration to existing software products. Wrote a JPEG/MJPEG decoder from scratch, and optimized it to run at peak speeds on several architectures. Added optimizations to an existing DV codec. Modified, ported and optimized existing code modules for accelerated applications. Contributed to software architecture and API designs. Contributed expertise in digital video processing including MPEG, Motion JPEG, DV, filtering, multiprocessing and synchronization.

1/1995 - 5/2000
HEURIS & HEURIS/Pulitzer, St. Louis, Missouri
Maintained several different positions as this MPEG encoding software company developed.
  • Engineering Manager
    Coordinated and managed programmers and software engineers. Developed rigorous development schedules for software projects and organized the engineering staff to complete it. Maintained channels of communication with the corporate staff in order to synchronize engineering efforts with marketing and sales. Made critical decisions regarding features and quality on software projects. Interviewed and hired prospective programmers.

  • Senior Software Engineer/Software Engineer
    Programmed primarily in C and C++ for Windows 95/98/NT, MacOS and UNIX operating systems. Worked with MSVC and CodeWarrior to help develop and maintain commercial MPEG encoding software published by HEURIS. Wrote custom DVD and MPEG analysis utilities for internal use on Solaris, Linux and IRIX. Wrote lightweight DVD authoring services. Specialized in video/image processing, multi-threading and code optimization (including MMX, SSE, AltiVec and VIS).

  • Interim Product Manager
    Developed and coordinated a product plan for an MPEG encoding software plug-in. Determined the necessary components to complete this product from head to toe. Worked within a strategic vision to produce a sales and marketing plan with sales and marketing directors.

  • Systems Administrator & Webmaster
    Maintained UNIX (Linux/Solaris), Windows 3.x/95/NT and Macintosh machines on TCP/IP LAN. Coordinated backups, installed software and assembled hardware. Maintained and configured TCP/IP network. Wrote shell scripts for system maintenance, and managed a firewall. Managed users and their accounts. Utilized Samba, Netatalk and NFS to maintain a cross platform file server. Installed, configured and maintained NCSA HTTPD server. Designed and created entire company website. Used C and shell scripts for elaborate CGI-enhanced web pages.
HOBBIES: Other Hobbies and Interests
  • Videography, video editing and DVD authoring
  • Extreme Home Networking
    • Designed, created and maintain MovieQuote.net in-house, running on a Linux host utilizing custom CGI binaries.
    • Created many personal homepages including a dynamic digital picture site complete with thumbnails, navigation buttons and captions.
    • Implemented a Linux server running webmail, sendmail, DNS, etc.
    • Installed a firewall with NAT and a wireless (802.11b) backend
  • Piano, guitar, musical composition
  • Graphic design, photography, photo editing, drawing and painting
  • Carpentry and woodworking