Senior Software Developer
   I design and implement custom business software applications on a contract basis.
   Extensive application development experience across many industries.
   Short and medium-term projects OK.

Expertise
   Application design
   Hands-on development
   Project management
   Excellent oral and written communication skills
   Budget management
   Business planning and strategy


Technical Skills
   ASP.NET MVC, ASP.NET WebForms, .NET WinForms, C#, web services
   Microsoft SQL Server, SQL in general
   JQuery, Javascript, HTML, XML, CSS, SOAP, Ajax
   Database design


Subject Domain Experience
   Business process management, workflow management
   Accounting and finance
   eCommerce, PCI compliance
   Real estate
   Wide variety of challenging, one-of-a-kind applications


Recent Projects

Just Birthday Cards, San Francisco, CA, 2010 -- Present
   eCommerce Web Application (PCI compliant)
   ASP.NET MVC, C#, JQuery, HTML, CSS, SQL Server, Web Services

Designed and implemented this web application, including shopping cart functionality and integration with card processer Authorize.net via a web-service interface. In addition to allowing visitors to view and purchase birthday cards, the site also allows them to maintain a list of friends' birthdays and to be reminded by email prior to each person's birthday.

In addition to the public pages which can be accessed at www.JustBirthdayCards.com, the site implements extensive administrative functionality, including comprehensive visitor activity analysis, management of the fulfillment process, inventory management, and sales analysis. Sales tax is computed based on customer location and is tracked for reporting to state tax authorities. A set of business rules can be easily adjusted by an administrator in order to modify system behavior.

The site automatically adjusts its content and/or landing page based on URL parameters associated with arriving visitors. For example, if a visitor clicks on a Google Adwords ad for "funny birthday cards", the link in the ad can contain a parameter which causes the website to initially set the card selection filter to "humorous cards." As a result the site is able to adjust its appearance and content to correspond to the expectations of a visitor based on which ad triggered their visit.



RSVP, Concord, CA 2008 -- 2014
   Business Process Management System (Paratis)
   ASP.NET, C#, HTML, CSS, SQL Server, Web Services, XML, Interface to Exchange Server

I collaborated with RSVP personnel and other outside contractors in the design of this system, then implemented the initial system and significant enhancements over a period of about five years.

RSVP managed activities required for foreclosures, including publication of legal notices at specified times, serving and/or posting notices, and auctioning of properties. These steps must be performed precisely in accordance with legal requirements and with exceptional efficiency because of government restrictions on profit margins for foreclosure-related services.

The Paratis System manages these steps from receipt of initial order through the sale of the property. Orders and other communications enter Paratis automatically, either via a web-services interface with Exchange server or via customer submissions to web-services published by Paratis. Then, based on the location of the related property and the type of service requested, specific "tasks" are created sequentially for each order. These tasks are dispatched to appropriate personnel based on staff roles, workload, and task priority. Task outcomes are well-documented and become part of the order history. All documents related to an order are easily viewed on-line.

The system increased productivity from 90 orders per month per person to more than 400.

The system is largely rule-driven, giving considerable flexibility, often with little or no additional coding needed for changes in the business process. Paratis is extremely modular, which means new "tasks" can be implemented independently of other system logic with very low risk. Since initial implementation the system has had essentially 100% up time.

Some of the features of the Paratis system: Automatic conversion of HTML "typeset" content to rich-text format (RTF) for export to publishers; automatic "diff" processing of edited HTML content so a user can see changes from one version of a document to another; several web-service components providing automated communication with customer systems; optimization algorithm to select best available publisher for any given ad based on pub schedule, ad costs, and publisher's location; ad cost estimates use linear-regression to estimate pub costs and avoid errors in pub cost quotes; built-in performance monitoring to notify administrators of any database performance problems; load-balancing logic dispatches tasks to users based on their current workload.



AccountNow, San Ramon, CA 2004 -- 2007
   Customer Portal
   ASP.NET, C#, HTML, CSS, SQL Server, .NET WinForms, Web Services

AccountNow is a provider of financial solutions for US consumers who do not have established credit or traditional banking relationships. Among the alternatives to conventional checking accounts offered by AccountNow are Debit MasterCard cards and Pay Anyone bill payment. (See www.accountnow.net).

After evaluating several prospective software development firms, AccountNow chose me to develop the website which would be the primary point of contact between AccountNow and its customers.

I implemented the first version of this website in less than three months. Subsequently, the capabilities of the site were continually enhanced over the course of another seven months.

In addition to providing prospective customers with information about AccountNow and its products, this site supports most aspects of the acquisition and maintenance of AccountNow customers. In brief, the web site captures information filled out by a customer, confirms the validity of the customer's identity data with a business partner database, uploads card requests via encrypted FTP to a banking partner, and processes response files from the banking partner. Administrative editing and reporting is a significant component of the system.

This is an ASP.NET application with processing logic written in C#. An additional component of the overall system is a remote Windows application which monitors and displays a variety of statistical values for the site, and generates "alert" emails to technical personnel if the site violates any performance thresholds.

In addition to the to the above, during the summary of 2007, I functioned as a temporary CTO for AccountNow while assisting them in finding a qualified individual to take the position on a long-term basis.






Keywords: Custom software development, custom business applications, .net development, mvc, c#, jquery, javascript, software engineering, contract software development, software development company, custom software development, mvc programming, computer programming, c# programming, c# coding, html, software design, system design, software requirements, requirements analysis, system requirements, software programming, system implementation