SUMMARY:
|
Nearly twenty
years of experience designing, implementing and bringing software projects to
market. Experience
on a variety of platforms, languages, project sizes and markets. Usually operated as
either a technical team leader or, more recently, a senior manager growing a
large international team.
|
SKILLS:
|
Management Strengths
Interviewing,
qualifying and hiring talented software engineers
Scheduling
software development and driving tasks to completion on time
Interacting
with Marketing departments and iterating on technical requirements and
feasibility
Technical
leadership and mentoring
Application
development processes and life cycles
Software Engineering Strengths
Audio,
video and image DSP
Algorithms,
optimization, SIMD and multi-threaded application programming
GUI
design and implementation (MFC)
API and software architecture design
Programming Languages and Environments
Very proficient in C, C++ and scripting
Expert at SIMD enhancements, optimization and multi-threaded programming
Experienced in Perl and assembly languages
Knowledgeable in VB, Java, Objective C, PHP, SQL and many other languages
Able to efficiently use MSVC++, gcc,
Xcode 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
|
EXPERIENCE:
8/2004 – present
|
Audience
Inc., Mountain View, California
Director/Senior Manager, DSP Platform Software Engineering (2008 to present)
Directing a highly-skilled DSP software engineering team. Growing the team
from four engineers to sixteen (and increasing) distributed across offices in
California, Colorado and India. Creating schedules and holding engineers
accountable for on-time deliveries. Designing
resource and quality metrics in which the engineers develop towards. Evaluating
team members’ performances and mentoring junior members and team leaders.
Contributing to product feature reviews, requirements documentation and
engineering specifications. Reporting
to the Vice President of Software Engineering.
|
|
Principle/Staff/Senior
Audio Software Engineer (2004 to 2008)
Implemented,
ported and integrated custom audio DSP software from Matlab floating-point
reference to proprietary DSP hardware. Converted floating-point reference
code to quantized data types and quantified the impact. Architected many
areas of the core codebase for the flagship products. Designed and
implemented GUI-based utilities still heavily relied upon across the company.
Installed, organized and maintained the Perforce revision control
server. Wrote official release
engineering build scripts with full logging and traceability as well as
designed a web front-end to these scripts. Worked on embedded operating
system software engineering tasks. Developed Android demonstration
applications. Used C, C++, Matlab, Assembly, Perl, PHP and Java.
|
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, OR 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
Engineering Manager (1 year)
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 (4 years)
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).
Systems
Administrator & Webmaster (3 years)
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..
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.
|
|
|