Michael South 809 Cold Stream Dr. McKinney, TX 75069 214 578 4312 msouth@gmail.com Objective: Developer/software architect/research position in a challenging and intellectually stimulating environment. Summary: Seasoned software engineer, eclectic interests and experience, mainly focused around the LAMP stack. Willing to learn anything, instinctual streamliner, good at hard debugging, optimization, and interaction with humans on both the technical and business side, as well as core design and code, from the database all the way to the UI. Experience: 2008-2012: Senior Software Engineer, NetSuite NetSuite owns a professional services automation product called OpenAir. I was on the core application team, meaning I worked in the guts of the LAMP stack. Added features (e.g. dynamically synchronized display/edit of tasks' estimated time remaining on a timesheet grid), plumbed the depths of the 600,000 lines of perl to fix live bugs, designed mechanisms for streamlining the tracking of production issues (e.g. several hundred or more internal server errors per week going to a database where they could be searched by customer, error message, etc--rather than simply being emailed to all the engineers). I was also assigned to do the design and development of major new features, such as a scripting architecture whereby clients were able to write JavaScript, upload it to the system and deploy it to be run when a web form was validated. Customers were thereby able to return custom error messages--formatted and called out on the form exactly like system error messages--in addition to being able to do custom logging (with log4j-style levels) that actually surpassed what was available to our own developers. Execution was tightly controlled and completely done on the server side (with JavaScript::SpiderMonkey), with limits to protect the server and smooth (but buffered) integration with the perl code base. (It was sweet--even my twelve year old son proclaimed it--and I quote--"cool".) High profile and much anticipated by some of our biggest clients. During my production support rotations, I completely shut down the parent company's security team in the first-ever unannounced penetration test on our system, and implemented support for dynamically dated foreign exchange conversions for custom currency fields in three (business) days to support an emergency need by a large client for end-of-year financial reporting. Delivered training to the engineering group on advanced use of the Perl debugger, served as a mentor for new developers and was chosen for the architecture focus group. 2003-2008: Senior Software Developer, McClatchy Interactive (formerly Nando Media) (Promoted to Senior Developer 2004, former title was Developer) Designed and developed content management, audience management, and search and revenue applications for the interactive division of the McClatchy newspaper company, using object oriented Perl for the administrative interfaces, batch input processing, and publishing of news content on the web. Created and improved interfaces with various third party products and services to provide things like search, credit card processing, and other specialized functionality. Served as lead developer during our coding and rollout of a SOAP API that allowed third parties to interact with our registration application. Tapped as lead developer for a major rewrite of the company's flagship product (online news publishing and content management). Oversaw the conversion of my previously written streamlining/refactoring administrative interface module into a much expanded core framework forming the foundation of the admin interfaces for all of our future development. Wrote the foundation for the database abstraction layer, including a wrapping class implementing both an object interface and a tied hash to mimic DBI's database handle behavior exactly, extending the power of DBI without sacrificing the familiarity of the interface. Selected to redesign the templating and page building system (for both content creator preview, and caching to docroot for reader view) used across all web applications. Wrote mod_perl handler, complex mason components, and Template Toolkit foundation for the new system. Designed database for template management and worked out the inter-product communication between the templating system and content systems. Improvement, development, and refactoring of our Flex user interface infrastructure, and development of Flex interface to authorization web service (using Cairngorm MVC framework). Created base classes for consistent but flexible local modeling of database objects and standardized communication with all of our RESTful web services. In addition to the above development duties, I was the go-to person for ferreting out deeply hidden and difficult-to-isolate bugs in our systems (or in third party modules our systems used). For example, running a live mod_perl session in the debugger to deduce that an empty(!) string (that had been returned by XML::Simple) was turning on a UTF-8 flag in the page text it was included in, causing high ascii in the page to render unpredictably in browsers. Proposed (and saw implementation of) several development standards to produce more reliable and readable code. Added Market Segment functionality to our audience management (user registration) system. Improved on the planned design and delivered greater functionality than initially envisioned (without changing the timeline). Extended the life of the current version enough that an upgrade cycle was able to be skipped. Also did on-call work, completed with careful attention to appropriate and timely communication, utilization of all available resources (if I don't know, I'll wake up someone who does), and in-depth followup effort to ensure that the root cause of the root cause gets addressed. 2001-2003: Consultant, Grant Street Group (formerly MuniAuction) Design and implementation of new features for municipal bond auction server. Designing to business requirements and coding to spec in support of multimillion dollar deals. Developed a MIME-compliant extension of the internal mailing system, an object-oriented extension of the Perl DBI module, and served as the general go-to guy for optimization, bottleneck analysis, bug diagnosis, test automation, etc. 2000-2002: Software engineer, NeTraverse, Inc. Worked in various capacities on the GUI Installer for Win4Lin (a virtualizer for running Windows on linux at native speeds). Implemented an interface between the GUI and the scripts that did the actual work of the installation. This involved a fair amount of interprocess communication (fork, exec, communication through named pipes). Contributed significantly to a much-needed mid-stream reorganization of the guts of the GUI engine. Contributed forward-looking design improvements which ended up saving the company a tremendous amount of potential difficulty. Removed an error prone, time-consuming bottleneck in workflow around the GUI installer's backend by replacing a (huge, complex) hand-maintained text file with a database (PostgreSQL) and a web front end (Perl/CGI). Added custom user management functionality to the open source Webmin unix system administration tool. Added user interface enhancements and new features relating to the use of Win4Lin, Netraverse's flagship product, in a server environment. This work was prominently used in the attraction of both customers and investors. Created CVS repository of the main line of development of Webmin, and managed ongoing integration of our changes with bug fixes and feature enhancements by the Webmin maintainers as new releases came out. Education: M.S. Mathematics, Texas Tech University B.S. Physics (magna cum laude), Valdosta State University References available upon request.