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 rela- tional database systems. === TECHNICAL EXPERTISE === LANGUAGES Visual Basic ~ Ruby ~ Java ~ JavaScript ~ VBA ~ HTML/XHTML ~ CSS ~ SQL ~ Salesforce Apex ~ Visualforce ~ BASH ~ Windows Batch File ~ C/C++ FRAMEWORKS Ruby on Rails ~ Salesforce/ Force.com ~ Concrete5 ~ Visual Basic ~ VBA ~ Microsoft Access ~ AppFuse ~ Java SE ~ Netbeans APIs Net::SMTP ~ SOAP4R ~ Memcached ~ Mechanize ~ attachment_fu ~ RMagic ~ Windows ~ Java SE ~ Swing ~ JavaMail ~ JSP ~ SiteMesh ~ JDBC ~ DAO ~ ADO ~ Google Maps ~ PayPal ~ PaySimple ~ jQuery TEST TOOLS Test::Unit ~ Shoulda ~ RSpec ~ Capybara ~ Cucumber ~ Mocha ~ jMock ~ factory_girl ~ factory_data_preloader ~ JUnit ~ VB Lite Unit 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 bash ~ Vim ~ TextMate ~ MySQL ~ PostgreSQL ~ SQLite ~ Oracle Database ~ Microsoft Office ~ Visual Studio ~ Microsoft SQL Server ~ Legacy databases (FoxPro, Paradox, dBase) ~ Eclipse ~ Netbeans ~ Git ~ Subversion ~ CVS ~ RCS ~ XMail ~ Firebug ~ JSLint ~ ImageMagick ~ Google Apps ~ PivotalTracker ~ ScrumNinja ~ Photoshop ~ GIMP ~ Inkscape APPLICATIONS Elderly Care ~ Marketing ~ Energy Efficiency Funding ~ Customer Relationship Management (CRM) ~ Inventory ~ Bill of Materials ~ Material Requirements Planning ~ Online Shopping Cart ~ Real Estate ~ Higher Education ~ Unit Testing Frameworks SYSTEMS Linux (Ubuntu, Slackware) ~ Microsoft Windows ~ OS X ~ Cygwin === 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 === RENEWABLE FUNDING * PORTLAND, OREGON MAR 2011 to PRESENT Software Developer Developed and maintained Web application software as a member of an Agile software development team. * Implemented enhancements to Renewable Funding's Web content framework software. * Co-developed the Energy Champions Web site to coordinate Energy Champions program outreach to homeowners through various non-profit organizations. * Contributed to improvements and enhancements to the Web site software for Energy Upgrade California (https://energyupgradeca.org/) * Developed Web application software in the Ruby on Rails 2.x and 3.x frameworks. * Worked as a team member, following Agile software development practices, including Pair Programming, Test-Driven Development, Collective Code Ownership, Continuous Integration, and Fixed-Time Iterations. VIGILAN, INCORPORATED * WILSONVILLE, OR APR 2005 TO FEB 2011 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. * Participated in implementation and customization of the Concrete5 Content Management System to drive Vigilan's updated public Web site. * 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 BirdFellow - Wilsonville, OR Developed new features and enhancements to a social networking service for Bird enthusiasts written in Ruby on Rails, Javascript, and jQuery. * Implemented new annotation and commenting features. * Implemented new activity-reporting features. * Wrote new automated unit tests, functional tests, and Cucumber feature specifications. 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 database. Enhanced and improved the public-facing Web site. * Created a Subversion source code control repository. * Added new customer fields and searching/sorting capabilities. * Made enhancements to PDF output using Prawn/Prawnto. * Added Testimonials section and Testimonial-submission to Web site. * Added randomly-selected Testimonials to Home page. * Made Web site URLs more friendly and robust, with 301 redirection from older URLs and canonical links for URLs in the "www" subdomain. * Re-implemented some image-only captions using image- replacement for better SEO and accessibility. 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. Zocalo Software - Brooklyn, New York (remote from Portland) Maintenained and improvemed 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, Oregon * 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, Oregon 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 efficiently produce high- quality, maintainable code. Applied Test Systems - Hillsboro, Oregon 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, Oregon 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 for use 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, Oregon 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 JOBS & CONSULTING * SEATTLE, WA 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.