<html> <head> <title> Paul Sturm's Resume: Senior Software Engineer, Programmer, C++, Perl, Objective-C, C, HTML, CSS, JavaScript, Xcode, Visual Studio, Java, Qt, TIBCO, Mac OS X, iOS, Windows, Unix, Linux, Oracle, SQL Server, MySQL, Apache </title> <meta name="description" content="Senior Software Engineer, Programmer, C++, Perl, Objective-C, C, HTML, CSS, JavaScript, Xcode, Visual Studio, Java, Qt, TIBCO, Mac OS X, iOS, Windows, Unix, Linux, Oracle, SQL Server, MySQL, Apache"> <meta name="keywords" content="Senior Software Engineer, Programmer, C++, Perl, Objective-C, C, HTML, CSS, JavaScript, Xcode, Visual Studio, Java, Qt, TIBCO, Mac OS X, iOS, Windows, Unix, Linux, Oracle, SQL Server, MySQL, Apache"> <style type="text/css"> <!-- td.header { padding-bottom: 8pt; white-space: nowrap; font: 14pt arial } td.section { padding-top: 18pt; font: 14pt verdana, arial } td.subhead { padding-top: 10pt; vertical-align: top; font: 11pt verdana, arial } td.year { text-align: right; vertical-align: bottom; white-space: nowrap; font: italic 10pt verdana, arial } td { font: 10pt verdana, arial } td.footer { padding-top: 30pt; font: 8pt verdana, arial } a:link, a:active, a:visited { color: darkblue; text-decoration: none } --> </style> </head> <body bgcolor="white"> <div align="center"> <table width="100%"> <!-- header --> <tr> <td align="left" class="header"> Paul Sturm<br /> <a href="mailto:sturm@branewave.com">sturm@branewave.com</a><br /> 612 849-8998 </td> <td align="right" class="header"> 7554 Ohland Ave NE<br /> Otsego, MN&nbsp;&nbsp;55330 </td> </tr> </table> <!-- end header --> <table width="95%"> <!-- Summary --> <tr><td class="section">Summary</td></tr> <tr> <td> C++/Objective-C/Perl, Desktop/Mobile/Web Software Engineer </td> </tr> </table> <!-- end Summary --> <table width="95%" align="center"> <!-- Employment History --> <tr><td colspan="2" class="section">Employment History</td></tr> <tr> <td class="subhead">Senior Software Engineer for Alien Skin Software</td> <td class="Year">December 2014 - Present</td> </tr> <tr> <td colspan="2"> Qt/C++ development for Exposure photography software, OS X and Windows. </td> </tr> <tr> <td class="subhead">Senior Software Engineer for MakeMusic</td> <td class="year">July 2009 - December 2014</td> </tr> <tr> <td colspan="2"> Ongoing development of SmartMusic desktop application (interactive practice tool for band, orchestra, and vocal students) and internal tools and systems.<br /> <br /> 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.<br /> <br /> 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.<br /> <br /> 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.<br /> <br /> UX mockups with Balsamiq; unit testing/TDD with Google Test and OCUnit/XCTest; code reviews with Crucible; continuous integration with Jenkins. </td> </tr> <tr> <td class="subhead">Software Engineer for MakeMusic</td> <td class="year">July 2005 - July 2009</td> </tr> <tr> <td colspan="2"> Ongoing development of SmartMusic desktop application; using Borland C++ on Windows and C++ with the MacApp toolkit on Mac OS X.<br /> <br /> Designed and developed internal content authoring and packaging tools, and content distribution system (server and client); using C++, Qt, Perl, and Subversion. </td> </tr> <tr> <td class="subhead">Website/Database Developer for MakeMusic</td> <td class="year">July 2003 - July 2005</td> </tr> <tr> <td colspan="2"> 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.<br /> <br /> Provided systems-level support for Solaris servers, including implementation/customization of automated monitoring system using nagios. </td> </tr> <tr> <td class="subhead">Enterprise Application Integration Developer for Cargill</td> <td class="year">July 2000 - January 2003</td> </tr> <tr> <td colspan="2"> 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.<br /> <br /> 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. </td> </tr> <tr> <td class="subhead">Software Engineer for Information Advantage</td> <td class="year">March 1999 - July 2000</td> </tr> <tr> <td colspan="2"> 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. </td> </tr> <tr> <td class="subhead">Consulting for Bonestroo, Rosene, Anderlik &amp; Associates</td> <td class="year">1999; 2003</td> </tr> <tr> <td colspan="2"> 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). </td> </tr> </table> <!-- end Employment History --> <table width="95%" align="center"> <!-- Education --> <tr><td colspan="2" class="section">Education</td></tr> <tr> <td class="subhead">University of Minnesota</td> <td class="year">1995 - 1999</td> </tr> <tr> <td colspan="2"> <b>Bachelor of Science - Computer Science</b><br /> National Merit Scholar, Honorary Presidential Scholarship, Academic Excellence Scholarship, LANDO Scholarship, Tau Beta Pi.<br /> <br /> Teaching Assistant, Introduction to Programming in C.<br /> <br /> Activities and Societies: Tau Beta Pi<br /> </td> </tr> <tr> <td class="subhead">Internships</td> </tr> <tr> <td colspan="2"> Utiligent: general maintenance of large-scale customer service system for utilities companies and development of internal tools, using Visual C++, Perl, ASP, and HTML.<br /> 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.<br /> IBM Rochester: developed departmental intranet site using Perl/CGI, HTML, and JavaScript.<br /> </td> </tr> </table> <!-- end Education --> <table width="95%" align="center"> <!-- Patents --> <tr><td class="section">Patents</td></tr> <tr> <td class="subhead">Computer Mediated Timed Sight Reading with Assessment</td> <td class="year">Issued April 15, 2014</td> </tr> <tr> <td> United States 8,697,972<br /> <a href="http://www.google.com/patents/US8697972">http://www.google.com/patents/US8697972</a> </td> </tr> </table> <!-- end Patents --> <table width="95%"> <!-- Skills --> <tr><td class="section">Skills</td></tr> <tr> <td class="subhead">Programming</td> </tr> <tr> <td> <b>C++</b> (Qt, CORBA, ODBC, STL, Win32); <b>Perl</b> (DBI, Mason, CGI); <b>Objective-C</b> (Cocoa, Cocoa Touch); <b>Java</b> (J2EE, EJB, JMS, JDBC, RMI, JNI); Xcode 6, Visual Studio 2013; Perforce, Subversion </td> </tr> <tr> <td class="subhead">Web Development</td> </tr> <tr> <td> Apache/mod_perl, IIS, Tomcat, HTML, CSS, JavaScript, DOM, JSP, ASP </td> </tr> <tr> <td class="subhead">Enterprise Application Integration</td> </tr> <tr> <td> TIBCO (Rendezvous, Active Database, Message Broker, Hawk); webMethods (Integration Server, Developer, Trading Networks); XML, LDAP </td> </tr> <tr> <td class="subhead">Operating Systems</td> </tr> <tr> <td> Mac OS X (10.3 - 10.10); iOS (4 - 8); Windows (NT/2000/XP/Vista/7/8); Linux; Unix (Solaris, HP-UX, AIX) </td> </tr> <tr> <td class="subhead">Databases</td> </tr> <tr> <td> Oracle, SQL Server, MySQL, PostgreSQL, Sybase </td> </tr> </table> <!-- end Skills --> <table width="95%" align="center"> <!-- Other --> <tr><td colspan="2" class="section">Other</td></tr> <tr> <td class="subhead" colspan="2">Author/Maintainer of Perl Libraries</td> </tr> <tr> <td colspan="2"> <a href="http://search.cpan.org/~sturm">http://search.cpan.org/~sturm/</a><br /> <br /> Tibco::Rv is an Open Source Object-Oriented Perl library providing language bindings to the TIBCO Rendezvous C API.<br /> <br /> File::Format::RIFF provides an implementation of the Resource Interchange File Format. You can read, manipulate, and write RIFF files.<br /> </td> </tr> </table> <!-- end Other --> <table width="100%"> <!-- footer --> <tr> <td valign="bottom" align="left" class="footer"> <a href="http://branewave.com/resume">http://branewave.com/resume</a> </td> <td valign="bottom" align="right" class="footer"> Paul Sturm </td> </tr> </table> <!-- end footer --> </div> </body> </html>