STEVE C. JORGENSEN, PROFESSIONAL SOFTWARE DEVELOPER 8269G SW Wilsonville Rd, PMB 123 ~ Wilsonville, OR 97070 503-703-2386 ~ jorgens@coho.net ----------------------------------------------------------------- A skilled professional software developer with over 20 years of experience in a broad range of technologies, industries, and application types, emphasizing software interaction with relational database systems. === TECHNICAL EXPERTISE === LANGUAGES Visual Basic ~ VBA ~ Ruby ~ Java ~ JavaScript ~ HTML/XHTML ~ CSS ~ SQL ~ Salesforce APEX ~ Visualforce ~ BASH ~ Windows Batch File ~ C/C++ FRAMEWORKS Ruby on Rails ~ Visual Basic ~ VBA ~ Microsoft Access ~ Salesforce/Force.com ~ AppFuse ~ Java SE ~ Netbeans APIs Windows ~ Net::SMTP ~ SOAP4R ~ Memcached ~ Mechanize ~ attachment_fu ~ RMagic ~ Java SE ~ Swing ~ JavaMail ~ JSP ~ SiteMesh ~ JDBC ~ DAO ~ ADO ~ Google Maps ~ PayPal ~ PaySimple FILE FORMATS CSV ~ XML ~ JSON ~ YAML ~ Rich Text (RTF) ~ Microsoft Word 2003 XML (WordML) ~ MIME ~ HTML Email ~ mbox ~ .ini Files CONCEPTS Object Oriented Programming (OOP) ~ Dynamic Language Programming ~ Refactoring ~ Unit and Integration Testing ~ Test Driven Development (TDD) ~ Design Patterns ~ DRY/OAOO ~ Domain-Specific Languages (DSLs) ~ Model-View-Controller (MVC) ~ Relational Database Design ~ Object/Relational Mapping ORM ~ Extract, Transform, and Load (ETL) SOFTWARE Microsoft Office ~ Visual Studio ~ Microsoft SQL Server ~ MySQL ~ PostgreSQL ~ SQLite ~ Oracle Database ~ Legacy databases (FoxPro, Paradox, dBase) ~ Eclipse ~ Netbeans ~ Subversion ~ CVS ~ RCS ~ XMail ~ Firebug ~ JSLint ~ Google Apps ~ Comindwork ~ Photoshop ~ GIMP ~ Inkscape APPLICATIONS Elderly Care ~ Marketing ~ Customer Relationship Management (CRM) ~ Inventory ~ Bill of Materials ~ Material Requirements Planning ~ Online Shopping Cart ~ Real Estate ~ Higher Education ~ Unit Testing Frameworks SYSTEMS Microsoft Windows ~ Linux (Ubuntu, Slackware) ~ Cygwin ~ OS X === ORGANIZATIONS AND PROJECTS === * President in 2003 and Vice President in 2004 of Portland Access User Group (PAUG). * Author of VB Lite Unit testing tool (http://sourceforge.net/projects/vb-lite-unit) === EDUCATION === * Highline Community College, AA (Physics & Mathematics emphasis) * North Seattle Community College, Electronic Engineering Technology === PROFESSIONAL EXPERIENCE === VIGILAN, INCORPORATED * PORTLAND, OREGON APR 2005 TO PRESENT Senior Software Engineer Developed and maintained software for the Assisted Living / Long- Term Care industry in Java, Ruby, Visual Basic, Microsoft Access/ VBA, and Salesforce APEX/Visualforce. * Maintained and enhanced Vigilan's marketing and administration applications used by businesses in the Assisted Living industry. * Developed integration between Visual Basic, VBA, and Java desktop applications and Salesforce using the APEX API and custom HTTP-based APIs. * Designed and implemented improvements to resident monthly and prorated billing logic to make reports more informative and customer bills more clear. * Developed an HTML-email billing system in Ruby, integrating with Vigilan software and the PaySimple (http://paysimple.com/) on-line payment system. * Enhanced the lead tracking capabilities of Vigilan's Web site using APEX and VisualForce code in Salesforce Sites. * Developed most of the business logic and much of the user interface for Lifestyle Reward, a Web application written in Ruby on Rails: customizable branding, content-management, product catalog, shopping cart, PayPal checkout integration, image uploading/resizing, and many other capabilities. Currently in use at http://www.lifestyle-reward.com/. * Developed a Java desktop application to generate SMTP email and printed postal mail by merging template documents with customer or marketing contact data: WYSIWYG HTML editor for email; Microsoft Word 2003 XML files for postal mail. * Implemented cross-application data synchronization between 2 major Vigilan product lines and to/from 3rd party products, including ACT!, Microsoft Dynamics SL and GP (formerly Solomon and Great Plains), Peachtree, You've Got Leads, and REPS. * Developed a Web-based navigation system for a suite of applications, using Java JSP Model 2 Architecture, JSP XML Document templates for HTML output, and SiteMesh for page decoration. * Implemented a new unit-testing system and unit tests for new code in legacy VB and VBA applications. INDEPENDENT CONSULTING * PORTLAND, OREGON FEB 2002 TO PRESENT The Service Department - Portland, OR Performed maintenance and implemented enhancements to a service request tracking and billing application in Ruby on Rails with a PostgreSQL back-end. * Created a Subversion source code control repository * Added new customer fields and searching/sorting capabilities. * Made enhancements to PDF output using Prawn/Prawnto. DataWing Software - Portland, OR Implemented improvements and enhancements to several product lines. * Improved performance and source code structure of a medical payment reconciliation application written in Microsoft Access/VBA, with data storage in either of Microsoft SQL Server 2000 or 2005 databases. * Implemented a high-performance, HIPPA 820 file import procedure. * Profiled and optimized the performance of a Web page data scraping application. Maintenance and improvements to Ruby on Rails applications in use by non-profit, educational organizations, including Columbia University and The READ Foundation * Created new reports and CSV file exports of student disability accommodation data. * Implemented several bug fixes and enhancements to existing capabilities. Optomec, Inc. (via Jordan Lev) - Albuquerque, NM (remote) Made improvements to an existing customer support Web application written in Ruby on Rails. * Added uploading of attachments to new trouble tickets * Added recording and forwarding of attachments included in customer email replies received by support system. * Added ticket text content search capability. * Modified existing ticket assignment logic. Krause Team Real Estate Group (via Jordan Lev) - Portland, OR Helped complete the http://allportlandcondos.com Web site written in Ruby on Rails. * Created the administrative content management interface. * Integrated with Google Maps to display property locations in embedded maps on site pages. Adidas, US (via Meridian Technology Group) - Portland, OR Developed a prototype system to help reduce costs incurred by having inconsistent data between several legacy systems in several countries. Implementation: ~ A data-driven, rule based application written in Access and VBA that compares data-extract batches from new and legacy systems containing parallel data in different schemas. Features: ~ Identifies and reports updates required to synchronize legacy data to be consistent with current authoritative data. Reports in a format similar to the automated TIB data update messages to be generated by the future, fully automated system. ~ Reports discrepancy rates for measurement of data quality for progress tracking of on-going data clean-up efforts. Used as a key performance indicator (KPI). Whitney and Associates, Inc. - Portland, OR Trained the primary developer and assisted in the development of an Access ADP and Microsoft SQL Server application to plan mailing campaigns and analyze campaign results for non-profit organizations. Bates Private Capital (via Compass Computing) - Lake Oswego, OR Authored new software and enhanced existing software to support investment fund analysis processes. Helped establish new software development processes and practices. Performed large- scale refactoring of legacy code, improving structure and maintainability. Mentored new developers. * Developed a rule-based ETL application in Access to load and normalize fund performance data from exported spreadsheets into a PostgreSQL database back-end. * Enhanced and maintained VB and VBA programs for investment fund activity input/extraction and analysis/output. * Migrated database in MS Access to PostgreSQL to improve reliability with >50 users. Used an Access database with table links to PostgreSQL as middle-layer to preserve compatibility with legacy front-end applications in Excel, Access, and .NET, pending future code updates. * Performed recovery from corruption of mission-critical PostgreSQL database through the use of Linux command line tools, MS Access queries, Excel formulas, and VBA. * Developed a system to track request and receipt of missing financial statements identified during input and review. * Provided advice on new development processes for expanded development team, borrowing concepts from Extreme Programming and other processes and methodologies. * Mentored programmers on how to produce high-quality, maintainable code efficiently. Applied Test Systems - Hillsboro, OR Authored new software and enhanced existing software in MS Access to streamline purchasing and repair authorization (RA) processes, and to enable significant new sales options. * Developed a "System Configurator" to price construction of circuit boards or entire large systems: pricing computed from bill of materials (BOM), current inventory, construction costs, and standard purchase prices. * Developed an RA and component repair tracking system: tracking of shipping, receiving, and inventory; generation of shipping documents; support for combined shipments for multiple RAs. * Developed a component purchase ordering (PO) system. * Developed a module to specify and track manufacturing jobs: required parts determined from BOM; reservation and back- ordering of components; job progress tracking. * Developed an employee-task scheduling and tracking system. * Developed an automated data migration tool from the older to the newer generation of BOM/Inventory system: data remapping from older flat model to new, normalized model; up-front checking/reporting of consistency errors that impede successful migration; automatic resolution of many common forms of inconsistency. CSG, Inc. - Portland, OR Developed applications and worked on teams developing applications for CSG's clients. * Developed the administration interface for a large travel agency's outward-facing Web site, using MS Access as a front- end to PostgreSQL. * Salvaged a project (nearing final deadline) for generating reports and graphs in MS Access from data collected by an Intranet QA application. * Worked on a 4-person team, overhauling a Web-based billing application written in ASP and ASP.NET and used by an intellectual property escrow company. NDE Professionals (through Compass Computing) - Portland, OR Rearchitected projects, formerly in Access 2.0, for sale to companies that perform non-destructive inspection of architectural structures and machine parts. One application component tracks certification status of test engineers; the other generates certification exams from sets of possible questions in various classifications. * Implemented a more modern, intuitive, and attractive user interface design. * Merged database schemas of separate applications, and improved data normalization. * Extended database schema to support multiple companies per database. * Implemented importation of data from old versions of one or both old applications, including cross-application data merging. * Implemented import/export of reusable question banks with awareness of question revisions. Fisher Nursery (through Compass Computing) - Gaston, OR Produced new MS Access reports for a legacy, vertical business application written in FoxPro for DOS, fixed bugs in legacy FoxPro code, and wrote new FoxPro code for data clean-up operations. EverGuard Insurance (through Bradson Technology) - Seattle, WA Enhanced scalability of existing insurance policy tracking application to handle more complex business cases by migrating the data storage from MS Access to MS SQL Server. * Developed rule-based custom code to upsize database schema to Microsoft SQL Server 2000. * Developed system to infer default up-sizing rules from Access database object characteristics. Times Lithograph - Portland, Oregon Developed an Access application to produce printed output for a lobbying organization's annual membership directory, including a lobbyist section with photos and lists of clients, a clients section, and page numbering for the combined package. NEW-TEC CIRCUIT SALES / INTERTEC SOFTWARE SVCS. * SANTA CLARA, CA NOV 1995 TO JAN 2002 Programmer Analyst & IT Administrator Developed the software and IT infrastructure to operate and manage New-Tec's business in the consignment resale of surplus electronic parts and equipment. * Developed, enhanced, and maintained an extensive custom MRP system in MS Access and MS SQL Server with labor tracking, costing, payroll, invoicing, shipping/receiving, warehouse management, powerful custom searching and reporting, etc. * Installed and administered SQL Server, Windows NT domain, and MS Exchange Server. * Trained and supervised other IT support personnel. EARLIER EMPLOYMENT & CONSULTING * SEATTLE MAY 1989 TO OCT. 1995 Software Developer & IT Service Provider Developed software applications: ~ A/R, A/P, Bill of Materials ~ Truck fleet maintenance scheduling and tracking ~ LAN hardware requirements-analysis and pricing software ~ Internal IT Help Desk system with intelligent known-issue lookup and statistical reporting ~ Reporting and graphing systems for management decision support ~ Image editing and HPGL2 image printing Performed IT Support functions: * Installed computers and local area networks. * Supported IT infrastructure and PC workstations.