I’m often asked “What do you do?” Depdending on whose asking I’ll give an answer ranging from “I work with computers,” to “I design and implement custom solutions that help business operate more efficiently.” A common followup question is, “Can you design a website?” Well…yes, but that kid down the street can probably do what you want for cheaper. Now if you want your website to interact with your back-end systems, I’m your guy.
Here’s an example of a project I just finished up:
My client has an accounting system they’ve been running for quite a while. It’s written in Visual FoxPro, my speciality, which allows for infinite extensibility and keeps its data in Microsoft SQL Server. A few years ago they also started using SugarCRM to keep track of their leads, workload, trouble tickets, sale details, etc. SugarCRM keeps its data in MySQL. There’s a lot of functional overlap between those two systems, so I wrote code that would synchronize data between the two. For example, if they change their customer’s address in the CRM, the change flows from one system to another. Easy enough.
We then exposed selected data from both of those systems onto a web portal for their customers, integrated into their existing website. After their customer logs in, they can see their account information, their payment history, and their upcoming invoices. We recently added a system so they can refer their friends using the portal and their names automatically get added into the CRM system. If the referral becomes a sale, the customer gets rewarded with free service credits. The customer can see their credits right there on the portal.
We then added the ability for the customer to actually pay their bill through this portal with a credit card.
The coolest thing though is that we just added the ability to allow the customer to increase their internet bandwidth service label right on the portal. When they make the change, a trigger fires in the SugarCRM database that addes a records to a queue. We then set up a cron job on a Linux box that queries that queue, parses the results with AWK, an ancient Linux command line utility, and sends the correct commands via PLINK and SED to the customer’s wireless routers. Within minutes of making the change on the server, the user’s internet service is updated – all automatically. Oh, and of course the correct changes are made in the accounting system, pro-rating the previous invoice and starting a new billing rate.
So that’s what I do. To be honest most of it involves using StackOverflow.com and Google to find the details of how to do what I need.
And then I document it. And support it. And sometimes I blog about it. But I always love it.