A friend of mine asked me in March 2009 “exactly what it is I do” (for a living, that is). I thought this was a great question, and a good time to try and answer it, since I had recently been laid off due to the Great Recession.
The short answer is, I build web applications, soup to nuts. At least that’s what I’ve done the most of in my 18+ year software engineering career. I really enjoy doing it, and I intend to keep on doing it for a very long time.
Some examples of these applications include:
- a system for tracking sales leads (a la salesforce.com)
- apps that enable marketers to create and target ads and surveys to consumers
- apps for US Postal Service employees to receive and track incoming service requests from call centers and other sources
- online banking applications (First Chicago National Bank)
- supply chain management applications (allowing Nortel‘s vendors to order their own supplies on line)
- apps to support knowledge-base creation (NativeMinds)
- content management applications (allowing giant auto insurance companies to create “co-branded” web sites that share content and functionality) (Terrace Consulting)
- productivity applications that provide private email, calendaring, and file-sharing to small/medium size businesses (Bluetrain Inc.)
- Digital Asset Management (DAM) applications that allow companies to consolidate, version, archive, distribute, and protect their critical digital files (WebWare/Clearstory). I developed the asynchronous media processing architecture behind WebWare ActiveMedia, a DAM system in production at Sony Pictures, Martha Stewart Omnimedia, National Geographic, etc.
- Customer Relationship Management (CRM) applications to keep track of customer profiles, manage their accounts, etc. (BBH Media)
- Ad management applications that allow call center employees and/or advertising clients to create online ads using a streamlined workflow that results in consistent, approved content (BBH Media)
- Applications that automatically extract text and keywords from video (DigitalSmiths).
- Applications that help analysts find associations in large, unstructured datasets (Saffron Technology).
- Advanced Email Marketing solutions
- Sites for building and maintaining online communities
I’ve been building web apps nonstop since the web was born in 1994 or so.
The technology of web apps keeps changing, but their basic architecture hasn’t really changed that much since I wrote this white paper in 1997. Relational databases are still used in every big web app. I’ve developed software for every major RDBMS – Oracle, Sybase, SQL Server, MySQL, DB2, Postgres – and I’m pretty familiar with their strengths and weaknesses. Most big enterprise apps involve some kind of “middleware” as well: object-relational mapping frameworks like Hibernate, Doctrine, and ActiveRecord; various Object Request Brokers, Messaging frameworks, etc. And of course the user interface of these apps is critically important, and needs to be tailored to the needs of each project. I’ve found that the most productive software engineers have deep expertise in all of these areas. The approach of splintering the dev team into separate “silos” is far less effective in my experience than finding engineers who can “own” an entire application from the bottom up. That’s one reason I’ve tried not to get “pigeon-holed” into a narrow niche.
So that’s how I earn my keep. If you’d like to learn more about how I can help with your web application needs, you can reach me by email at mpelzsherman at gmail dot com.