Paul Sturm
sturm@branewave.com
612 849-8998
7554 Ohland Ave NE
Otsego, MN  55330
Summary
C++/Objective-C/Perl, Desktop/Mobile/Web Software Engineer
Employment History
Senior Software Engineer for Alien Skin Software December 2014 - Present
Qt/C++ development for Exposure photography software, OS X and Windows.
Senior Software Engineer for MakeMusic July 2009 - December 2014
Ongoing development of SmartMusic desktop application (interactive practice tool for band, orchestra, and vocal students) and internal tools and systems.

Re-architected SmartMusic using Qt for an all-new user interface and refactored controller classes, and using Qt WebKit with Qt's JavaScript bridge to provide integration with server systems; C++ with Visual Studio 2010 - 2013 on Windows and Xcode 4 - 6 on Mac OS X. Ported SmartMusic to iOS using C++ and Objective-C/Cocoa.

Re-architected content security model. Used REST architecture for client-server communications. Build automation and back-end processes scripted using Perl. Rebuilt Windows installer with WiX. Designed and prototyped SmartMusic Inbox mobile application for iOS and Android, using Objective-C and Cocoa.

Scrum Master of a small team in an Agile environment; member of UX design team applying Goal Directed Design methodology. Completed Interaction Design Practicum at Cooper Design, August 2011.

UX mockups with Balsamiq; unit testing/TDD with Google Test and OCUnit/XCTest; code reviews with Crucible; continuous integration with Jenkins.
Software Engineer for MakeMusic July 2005 - July 2009
Ongoing development of SmartMusic desktop application; using Borland C++ on Windows and C++ with the MacApp toolkit on Mac OS X.

Designed and developed internal content authoring and packaging tools, and content distribution system (server and client); using C++, Qt, Perl, and Subversion.
Website/Database Developer for MakeMusic July 2003 - July 2005
Maintained smartmusic.com website using Perl/CGI, Oracle, and Solaris; designed and developed rewrite of website, back-end order processing, and subscription management with XML-based communication to desktop application; using Apache/mod_perl with DBI and HTML::Mason.

Provided systems-level support for Solaris servers, including implementation/customization of automated monitoring system using nagios.
Enterprise Application Integration Developer for Cargill July 2000 - January 2003
Provided operational support, system administration, and development of Enterprise Application Integration software to support business processes; using TIBCO, webMethods, and in-house tools. Perl, Java, C/C++ and Visual C++; on HP-UX, Solaris, Windows NT/2000, AIX, and OS/400; with Oracle and SQL Server.

Implemented High Availability clustering with HP ServiceGuard for TIBCO components; developed tools for automated system maintenance, alert notification, statistical gathering and analysis, and remote administration; developed ORB-like network abstraction layer for Perl, Object-Oriented Perl database abstraction layer for Oracle, and Object-Oriented Perl library for the TIBCO Rendezvous C API and the Hawk AMI.
Software Engineer for Information Advantage March 1999 - July 2000
Maintained, designed, and developed business intelligence software using C++ and Perl; maintenance on core OLAP server; rewrote substantial associated servers. Designed and developed CORBA-based application server in C++ (with JNI-embedded Java VM and Perl interpreter), providing a distributed environment to host system components.
Consulting for Bonestroo, Rosene, Anderlik & Associates 1999; 2003
Web-enabled an existing work order system using IIS, SQL Server, Perl, ASP, and HTML on Windows NT; providing project, plan, and bid information to external contractors (1999). Enhanced Excel-based project management tool (SQL Server backend) for budget planning and project initiation using Visual Basic for Applications (2003).
Education
University of Minnesota 1995 - 1999
Bachelor of Science - Computer Science
National Merit Scholar, Honorary Presidential Scholarship, Academic Excellence Scholarship, LANDO Scholarship, Tau Beta Pi.

Teaching Assistant, Introduction to Programming in C.

Activities and Societies: Tau Beta Pi
Internships
Utiligent: general maintenance of large-scale customer service system for utilities companies and development of internal tools, using Visual C++, Perl, ASP, and HTML.
PRA Solutions: assisted in conversion of large-scale passenger revenue accounting system for airlines from SunOS 4 to Solaris 2 and general maintenance, using C++, Perl, shell scripting, and Sybase.
IBM Rochester: developed departmental intranet site using Perl/CGI, HTML, and JavaScript.
Patents
Computer Mediated Timed Sight Reading with Assessment Issued April 15, 2014
United States 8,697,972
http://www.google.com/patents/US8697972
Skills
Programming
C++ (Qt, CORBA, ODBC, STL, Win32); Perl (DBI, Mason, CGI); Objective-C (Cocoa, Cocoa Touch); Java (J2EE, EJB, JMS, JDBC, RMI, JNI); Xcode 6, Visual Studio 2013; Perforce, Subversion
Web Development
Apache/mod_perl, IIS, Tomcat, HTML, CSS, JavaScript, DOM, JSP, ASP
Enterprise Application Integration
TIBCO (Rendezvous, Active Database, Message Broker, Hawk); webMethods (Integration Server, Developer, Trading Networks); XML, LDAP
Operating Systems
Mac OS X (10.3 - 10.10); iOS (4 - 8); Windows (NT/2000/XP/Vista/7/8); Linux; Unix (Solaris, HP-UX, AIX)
Databases
Oracle, SQL Server, MySQL, PostgreSQL, Sybase
Other
Author/Maintainer of Perl Libraries
http://search.cpan.org/~sturm/

Tibco::Rv is an Open Source Object-Oriented Perl library providing language bindings to the TIBCO Rendezvous C API.

File::Format::RIFF provides an implementation of the Resource Interchange File Format. You can read, manipulate, and write RIFF files.