Michael M. O'Rourke Houston, TX http://www.theworld.com/~morourke morourke@theworld.com 281.685.1009 Objective: Continued growth through challenging projects. At this point in my career I would welcome the opportunity to serve in a more lead/management position while still doing development work. I exhibit great pride in my work and can wear many hats as the situation provides. Skillset: OS: Unix (Linux, IRIX, FreeBSD, Solaris), Windows, MAC OS X DB: Oracle, Postgresql, MySQL PL: C/C++, Perl, SQL, javascript, PHP, Java, Ruby, Python, sh/ksh VCS: rcs, cvs, svn, git, clearcase Other: Verilog, Abel, OrCad, GNU/FSF General: While my main interest and forte has been non GUI applications and infrastructure with Perl and C, it serves to point out the breadth of technology to which I am reasonably well versed. If I don't know it, I will as I am an avid researcher. Education: ASEE 1982 Vermont Technical College Experience: May 2011 - present Still waiting for that challenging opportunity and have done a couple of 'one off' projects. I'm still looking forward to something more in the embedded arena. Apr-May 2011 -- Ionzero LLC - telecommute developer Using: Perl, svn, MySQL Short timeline project requiring SOAP. OO Perl packages were built with pod style documentation. Promotional features and backend conciliation of purchases were also featured in this project. Finished. Nov 2008 to Apr 2011 In preparation for new opportunities as well as general research and technical curiosity, I have been studying (in no particular order): RT, cloud computing (Wmware Zen), current Linux kernel code base, Moose/MOP, AJAX/javascript/DOM, Weblogic, SharePoint, and a host of other topics which may be needed in future positions. Additionally, I have kept my code writing skills fresh as there is always some piece of an idea that I tend to commit to code in some way. May 2008 to Nov 2008 -- cPanel of Texas, Inc - Perl Application Developer Using: Perl, make, svn Contributed to cPanel's product with new Perl modules, test suites, codebase refactoring, development tools. NOTE: The rest of these were all in the MA/NH area. Mar 2006 to Apr 2007 -- Verizon - Consulting Eng. Using: C, Perl, DBI, Oracle, make, Java, javascript Working on the Content Aggregation Integration Platform project within SuperPages, I wrote a highly scalable web spider in Perl. Considerable research was undertaken (rfc, w3c, various white papers) in order to get it right. Overall performance, given the high-end Sun hardware, was on the order of 6-8M pages scanned per day. Generally speaking, nearly everything I wrote needed to talk with one or more Oracle databases. Many of the custom Perl modules written for the spider application were resused for other tasks that were assigned. Jan 2003 to Feb 2006 -- independent Using: C, Perl, make, javascript, CGI, Apache Consulting to mid level companies with real needs for 24/7 available, smart, extensible solutions for their businesses. Mar 2001 to Nov 2002 -- Terra Lycos, Inc. - Principal Eng. Using: C, Perl, make, CGI, javascript, postgresql At the forefront of all design at this job was 24/7 availability of large clusters of Linux systems across several physical data centers and strong consideration of issues that large data sets present. Wrote numerous reporting scripts for statistical analysis. Provided the direct marketing team a browser based application to facilitate demographic reporting for targeted advertisements from the user registration database (~50M records). Designed a near real-time filtering program for tracking users. This design was implemented in Perl, featured fai lover considerations, complete automation and ran from several data centers. More generally, I contributed perl packages, considered portability issues (Linux, Solaris, IRIX) and developed various tools to aid the other folks in the operations group. Jul 2000 to Feb 2001 -- SilverBack Technologies, Inc. - Principal Eng. Using: C, Perl, DBI, make, Java, Object Oriented Techniques Designed and implemented a complete solution for the lcd display of their hardware appliance. The design was instrumented as a client/server using a Unix domain socket. The user api was clear and easy to use with several display modes and a trivial client api. It was developed to be specifically device independent as many lcd vendors were in consideration. Served as the lead for one of the next generation projects begun in late October 2000. This role encompassed management of a small team, ensuring milestones, providing significant architecting and design for a key area of the product. Nov 1999 to Jul 2000 -- independent Using: C, Perl, make Worked with Apache and mod_perl, database designs, tutorials, research reading rfc and w3c recommendations. Nov 1998 to Nov 1999 -- sabbatical Oct 1997 to Nov 1998 -- IronBridge Networks - Principal Eng. Using: Perl, C, Verilog, WVO/Powerview, make, sh, csh, As employee 10 in this startup, my main focus was to design the hardware process infrastructure, though my tasks were many and varied, particularly in the first months. General duties taken on were system administration, server selection and application license procurement. Licensing was driven using the FlexLM license management system. I was responsible for installation and configuration of FlexLM and caretaker of the key files for design tool products. Among these were VCS/Verilog, Xilinx FPGA packages, Spice, Synopsys asic routing tools, WVO/Powerview. With many other pressing tasks at the time, only a minor amount of time was spent developing usage monitoring. What monitoring development that was implemented was solely to understand what typical usage was so as to modify the quantity of licenses we were purchasing. They were all very pricey applications and it was important given our startup funding. Used Perl to deploy top level infrastructure control with pre-checkin compilation, release branching, etc. for our source repository which was based on CVS. Developed a terminal based Perl application to generate schematic part bodies from the Verilog source. When devices were formally routed this application was able to do the correct pin mapping. This process saved lots of schematic capture time and prevented the typical connectivity errors. Developed the structure of the corporate hardware database. Jan 1997 to Oct 1997 -- BBN - Eng. Using: Perl, C, Verilog, Cadence Concept, sh/ksh, make Provided tool writing expertise for a hardware design process. Developed a method for generating schematic part bodies from the Verilog representing the block and later added functionality to map pinouts of programmable devices. Wrote 'golden' data generator programs in C to test data path segments of the design. These generators featured the ability to set timing skew as a significant test against the specification. Served as an advisory to porting and programming language issues. Nov 1996 -- Bay Networks - Eng. Using: Verilog, Perl Wrote tasks and functions in Verilog to drive chip level verification. Also provided some extraction utilities in Perl. Jun 1996 to Sep 1996 -- Boston Technology - Sr. Eng. Using: C, Perl, Clearcase, make Identified bottlenecks within a Clearcase based process environment of a mature software product. Made recommendations for their resolution and implemented code to realize them. Provided multi-platform compiler and tool building support. Jul 1995 to Apr 1996 -- Teradyne - Eng. Using: C, Perl, sh, csh, ksh, make Supported the hardware design team on a large scale development project. I responded to requests from hardware designers, software peers and management for useful programs provided in C, Perl and sh/ksh, as appropriate. Deployed LSF batch queuing for regression testing. Developed a monitoring system for all development tools (Verilog, Synopsys, etc.) using utilities in the FlexLM system. All sampling code was written in Perl and then coupled to GNUplot for graphical rendition. 1982 to 1995 -- various hardware Engineer/Sr. Tech positions Using: oscilloscopes, logic analyzers, C, make, OrCad, Abel, sh/ksh To summarize, this time period represents my work directly with hardware projects namely medical electronics, high-end graphics and embedded systems. I'm happy to discuss, at length, the specifics of the companies and the projects. I would offer that my troubleshooting and problem solving skills were finely honed during this period and have been aptly applied to software projects since.