Salesforce (if you're not familiar with Salesforce, it's a hosted CRM that stores all of an organization's customer information). We needed to do some fairly complex calculations involving products and currencies, that wasn't possible with the base product.

salesforce-logoWe called a meeting that involved a number of Latitude stakeholders, trying to identify the best candidate to carry out the work - after some discussion, the room grew quiet, and I quickly realized all eyes were fixated on me. With internal resources tied up on customer projects, it seemed I made the best candidate to perform the work. (I knew my Computer Engineering degree would come back to bite me!)

Anyways, I dove into development and I must say, it was certainly refreshing to immerse myself back into the development world for a few weeks. Salesforce uses a server side programming language/environment called Apex, that is, of course, fully hosted in the "cloud". It's an object oriented, strongly typed language with Java-like syntax. Apex is designed to allow developers to extend the "out-of-the-box" functionality provided by the Salesforce CRM by building new functionality that goes beyond the scope of the core CRM product. (not unlike Geocortex Essentials!) Using the supplied documentation and user forum as references, I was able to deliver a production implementation of our calculating engine in a few weeks. Not bad for a rusty old software engineer!

Of interest to developers, was a curious (and welcome) requirement for test coverage. Apex requires test methods that cover a minimum of 75% of written code prior to production deployment. As a result, it made more sense to write the test methods first, (which aided in design) prior to implementing the calculating engine itself. Maybe I'll see if our products team is hiring..