Patrick Denis Curtain
phone: 360.521.9625
email: patrick@patrickcurtain.com
My background features heavy business computing experience. Demonstrated ability to apply software development skills to improving business competitiveness. Many years in customer contact, both in analysis/design, consulting, support and in sales. Hired and managed software development teams. Seven commercial software packages shipped.
See my LinkedIn Profile, http://www.linkedin.com/in/pcurtain for references and recommendations.
Production
- Architect - Chief architect in six commercial products. Analysis and design to fit the project needs.
- Project Manager - Agile and Extreme Programming.
- Mentor - Teach, train and guide; lead by example. Never far from hands-on coding...
Hands-on Coding
- Python (8+ years)
- Ruby (2+ years)
- C# (2 years)
- Java (2 years) (J2EE, J2ME)
- C++ (5+ years)
- Various web environments (Rails, Zope, PHP, Cold Fusion, etc.)
- Smalltalk (and Squeak)
- SQL (Oracle, SQL Server, MySQL, PostgresQL)
Web Based Applications Complete, database driven applications built using Ruby on Rails and Python (Zope, PHP & ColdFusion) to deliver browser-based interfaces to host data.
Handhelds Three complete systems written for handheld devices. Effectively answered the unique mobility and usability requirements of the handheld market.
Clients and Web Services Built client-based graphical applications interacting with multiple server-hosted applications, from traditional client/server (VB, Delphi) to cross-platform (Python/Tkinter) to web-based (PHP, Zope, etc.) to wireless (WAP, SMS). Addressed the unique issues of multiuser access, data concurrency and synchronization over sparse connectivity.
User Interfaces Extensive screen design to improve ease of use; user interview and prototype creation and evaluation to match customer needs.
Data Object oriented collection classes for portable data manipulation; Structured Publishing Package that placed data for publication according to rules-based analysis; multiplatform data communication.
Design Used Booch, Rumbaugh and Shlaer-Mellor for design documentation and working documents. Migrated to UML and Patterns. Trained programmers in these methodologies. Much lighter weight now, by preference.
Automation Streamlined and improved the software development process. Introduced version control, code-creation and design automation tools in each environment. Often this has been a large (and unexpected) portion of my contribution.
Entrepreneurism In each project I have brought a cost-conscious approach to the development task, always reviewing the cost vs marketability of the work being done.
Mentoring Attitude In each position, took on training and documentation tasks for developers and customers. Excellent review from all students; "you have a gift for making complex things easier." Support Intense dedication to quality customer support, whether that customer is internal or external to the group. Automated the support process in each environment. I always improve customer satisfaction.
SWDev CoPrincipal 2000 to PresentSoftware Development consultancy specializing in applying advanced software development tools and methodologies to the application development needs of our customers. My mission has been to deliver The Best Software, the Fastest Way
Some recent projects:
Accent Business Services, Inc 2004 - Fall 2005
Senior software developer for Accent's applications development group. Brought improvements to the development process with Agile and XP thinking and open source tools and practices. Delivered web applications written in C# and .NET. Microsoft Certifed.Telephone Access, LLC Spring 2004
Chief Technology Officer for the startup, charged with reconstituting the CallPrint opportunity. Worked to build two applications, each combining mobile technologies and telephony automation.Corporate Media Spring 2002 - 2004
Instituted a managed software development process, bringing version control, design documentation and tools for team collaboration. Introduced open source tools and platforms allowing for new client possibilities.
Built a web services integration server to connect ecommerce web applications to a client's legacy mainframe back-office systems.
(cold fusion, sql server, linux, mysql, zope, python)CallPrint 2000 - 2001
Designed and built a system integrating mobile phone handsets and server capabilities at the multi-national scale. Hired and managed the team to bring the application to completion. From design to completed product in less than 1/4 the time projected.
Implemented as a service oriented architecture (SOA) application before the term had been coined. (linux, mysql, zope, python)TelcoVault Winter 2001
Communications infrastructure catalog and management tool. Complete web application implemented as persistent objects allowed for frequent updates and enhancements as client needs evolved. (linux, apache, mysql, python)Fiber Brokerage Application Fall 2001
Re-architected a failed application effort. Won over a very disillusioned user community. REbuilt in three weeks an application development effort that had dragged on for eighteen months. (python, tk, postgresql)WSU, Vancouver 2000 - 2001
Taught a series of classes in software development, focusing on using web technologies to bring learners into the world of programming. Classes included "Intro to CGI", "Python I and II", "Database Fundamentals" and more.
ELC TechnologiesAgile Mentor March 2008 to Present
Came to work with ELC's multi-team, multi-client consultancy. I was asked to help the teams with their Agile practices. Brought Agile Retrospectives, and other principles and rituals to a number of projects, improving customer satisfaction and the team's effectiveness. Led an Agile Workshop, teaching and training the leaders of the teams.
CAESYSoftware Development Manager Sep 2005 to Sep 2007
Rebuilt a failed development organization. Left with a team of 11 working well together to build CAESY Enterprise 6.0, the mark of excellence in the patient education industry. CAESY ships a Linux-based server written in Ruby on Rails; client applications written in C#, Flash and HTML (xhtml, js, ajax). Full development management, 7 developers, 3 QA and 1 human factors engineer.
MediaRewards.com, LLCTechnology Director March 2000 to November 2000
Recruited to replace the limiting NT/ASP technology that the proof of concept had been based on. Formed the development team, mentored them all in object technologies, UML, unix and python. We completed the project in 1/5th the initial estimated time.
Creative Media Development, Inc.Consultant, System Architect November 1999 thru February 2000
Creative Media (CMD) does multimedia content and communications for a variety of delivery tools, web, CD-ROM and software. I hooked up with CMD through RHI (Robert Half, Intl.)
Worked with Joe Niski on the Thinking Economics project. Designed a solution that allowed contributions from authors across the country to courseware on Economics. Data storage and manipulation were handled using XML. All author contributions were collected over the web. That content was then published simultaneously to the web, streaming video, CD and video tape for broadcast.
Cut a project headcount estimate of 15 down to 2.
Prior to that my assignment was to design and build a tool for negotiations navigation to be used by BP/Amoco and many other clients. Completely redesigned the initial underlying database to support requirements that had not been captured. Application written in ColdFusion per customer request.
Able Solutions, CorporationVice President of Emerging Technologies March 17, 1999 to November 1, 1999
Able Solutions produces AbleCommerce, the "premiere, up-and-running, e-commerce package for ColdFusion" (their words).
My role at Able was to prepare them for the move into the future, beyond the creaky Cold Fusion foundation they built the company on.
To do this, I explored internet platforms with broader support and stability, focusing on Unix variants and several technologies from Python to PHP to Java Servlets. Built limited case experiments in each of these technologies, working to prove possible whatever seemed most impossible. (Including a complete, working ECML-compliant XML implementation with a Python xsl translation for ecommerce and wdsl based Cold Fusion javascript communication with that python service.)
Along the way, I worked with Rusty Burson (internet architect at US Bank, to design AbleCommerce 4.0, hire the development team and set future directions for product development.
imPressive solutions, Inc.Director of Development January 15, 1998 to March 15, 1999
Managed development, support and consulting activities on the commercial APS application for the publishing market.
APS is a structured publishing application for Windows that automates the layout and composition of complete publications using user-defined rules and data streams. For the narrow (vertical) market that uses APS, it provides enormous costs savings.
Did all hands on development work for php/mysql Issues web site. (Acquiring company dismantled that web site :) This site allows customers, support and development staff and managers to get a real-time view of all the issues surrounding the APS application. New bugs, enhancement requests and best practices can all be shared and reported on in real time. Support staff are paged with the alpha description of all new issues and comments providing world-class responsiveness.
Intel Inc.Software Engineer October 10, 1997 to January 14, 1998
Wrote software with the Manufacturing Applications group, on site at Intel Hillsboro. Did C++ development (Windows/NT using VC++) for maintenance and Year 2000 conversion tasks.
All development work accomplished on time and above specifications.
Instituted bug tracking and version control within the group, solving a host of problems with conflicts in developer coding due to Year 2000 affected modules in MAX.
Started a group web site for information sharing and public visibility for the Bug Tracking application. This provided the application users a voice back to the development team.
PelicanWare Software Inc.Software Engineer February 15, 1997 to October 1, 1997
Newton development in NewtonScript, C/C++ and Assembler. Wrote the pc-card driver enabling VGA support for Newton devices. Lead developer for the team that wrote the PointPro application. PointPro is a PowerPoint compatible presentation package enabling presenters to leave their laptops at home. Managed the group as an internet distributed virtual team.
SoftCare Corp.Software Engineer June 15, 1995 to October 15, 1996
Developed two applications targeted at the healthcare industry.
DietLog is a commercial product for the Apple Newton MessagePad used to accurately track the nutritional activity of one person. MDPad was a client server system for the healthcare industry providing an automated patient record in a wireless handheld form factor. All work was done from my home without supervision.
Merant (formerly Intersolv)Support Engineer, Trainer, Developer Relations March 18, 1994 to June 9, 1995
Provided technical support on PVCS products to developers by phone and on site. Worked with Sales Reps to assure successful installations and best in class functionality.
Provided consulting and implementation services to companies adopting formal Software Configuration Management techniques. Aided companies in re-engineering their development processes, training teams to develop software together avoiding the usual costs associated with concurrent module change (stepping on one another's feet).
Customer support frequently required 'make script', PVCS VM and Builder, and shell scripting to accomplish complex file manipulation, version control and software build tasks.
The Techniflex Corp.Software Architect November 1, 1992 to March 17, 1994
Planned, designed and developed DOS/Windows based packages for the print advertising industry. Hired and managed software teams for two projects. Managed all customer service and support. Designed and developed internal methods for coordinating all requests for service.
The company marketed two applications: a structured publishing package and a wysiwyg data entry package for receiving materials to publish. The structured publishing package built pages for classified and display advertising designed to reduce the amount of user involvement to create complete publishing quality documents. The wysiwyg data entry system was designed to maximize sales production and allow sales staff to see all materials on screen exactly what they would see in the paper. These packages together represented a savings to client companies of 60 to 90 percent over manual methods and provided a ROI of 3 to 6 months.
Developed internal applications and processes to handle customer service and support. Customer service had been the cause for customer loss and lost revenue in contracts. Cut the turn-around time in customer request completion. Applied TQM principles to achieve customer confidence and retain customers. After statistical proof was available, convinced lost customers to return.
QualMed Oregon Health PlanNetwork Administrator March 1, 1991 to October 1, 1992
Developed in house applications. Administered a 30 workstation Novell network and an hp3000 business system. Provided all end user training and support.
As the sole developer, designed and developed QuoteLog a complete marketing and quote tracking system. Developing QuoteLog in-house allowed QualMed to avoid purchasing a costly and less applicable system and to target the system to their analysis needs. QualMed is now quoting rates smarter and more competitively.
[Update: As of Jan, 1999 this system is still in use!]Designed and developed a system for coordinating MIS response to users; user requests for reports, data files and analysis tools. Managements confidence in MIS was so low they often did tasks by hand rather than involve the computer people. Created the system that allowed for verification of requests made, the progress and the estimated completion of all requests.
Other support development involved data transfer between the hp3000 SQL database and the dos tools available for reporting and finding value in the data.
Marion County Department of HealthSystem Administrator August 1, 1990 to December 31, 1990
Designed and developed a Drug Inventory and Purchase system. Designed and implemented information analysis and reporting tools for a patient tracking system. Developed a large number of reports requested by management and end users, eventually building a catalog of over 200 reports still in active use.
Performed all system administration for the hp3000/935, organized all system operations and routines.
Did all user training and support on PC and HP applications.
Truax CorporationMIS Manager July 1, 1989 to July 30, 1990Did all system management for an hp3000/MicroXE with 20 users. Planned and implemented a complete conversion from DOS/Text to MS Windows at version 3.0. Installed and configured all systems. Evaluated and selected applications and trained all users.
Developed a credit collections package using Foxpro 1.1. All credit card payment collection had been previously on a shoe box basis resulting in embarrassment for both sides of the collections process. The system created managed accounts receivable aging, penalty assessment and call-back generation. The improved turn-around in AR brought a 2% improvement in revenue company wide.
Replaced "sneaker-net" with a "pass-tHRu-net" using the HP3000 and the terminal application being used to access it from PCs. Management would not consider the installation of a network, despite user requests. This system of scripts and programs automated the transfer of files from user to user eliminating the need to "sneaker-net" the files.
Did all payroll, fixed assets and some general ledger accounting.
James River CorporationAccountant January 1, 1989 to June 30, 1989
General Ledger and Audits accountant. Did ledger entries for various cost centers in a cost accounting environment. Audited and did ledger entries for all expense reporting.
In addition to accounting duties, took on projects to aid MIS and created file filter and translation programs still in use at 8 James River sites. Files received from James River corporate headquarters came across in a format that required weekly user editing to prepare for use in local processing. Developed shell scripts and programs in the available language (Pascal) to do the file manipulation programmatically saving 14 hours every month.
patrick@patrickcurtain.com -- cell 360.521.9625