I worked for eLogic for about 5 years. My job title was Sr. C++ programmer, however; a more accurate title would have been "Sr. Programmer" as, in addition to, writing various applications and tools in C and C++, I also had to know how to code and test using the languages of the other developers at my company. That means in addition to coding in C and C++, I also used the following for development and testing:
- VB Script
- Active Server Pages
- Visual Basic
- SQL & Stored Procedures
- Java
- C#
- HTML
- Javascript
eLogic was in the business of creating data driven websites. It was my job to create, maintain, and develop new tools for the company. eLogic was using Microsoft's Active server pages for presentation and backend development.
One of the first things I worked on after joining eLogic was something called "The Charter" and I'm sure it had more than sixty thousand lines of C and C++ code, it created many different types of financial charts. I maintained, expanded, and added new interfaces to the Charter.
Another project I completed involved developing a tool that uses the Microsoft Telephony and Speech library (TAPI & SAPI) to create a system that could be used to notify and accept actions remotely in the early hours of the morning. The tool could use text to speech and recognize both tones and spoken words for responses. I created a robust procedural scripting engine that had logical constructs, looping, and timeouts. The scenarios for it's use involved making sure that in the event of emergencies like a server going down, etc, the system could phone the person charged with taking action. There was a machine allocated exclusively to this tool.
Here is a typical interaction:
The website of one of the clients has not returned a ping for the last 15 minutes. The tool is triggered to contact Scott, the network administrator.
Hal Calls Scott: "..ring ring!!..Hello Scott the Economists website has not responded to a request in the last 15 minutes, what should I do?"
Hal: "Please select from the following options:
1. Reboot the webserver.
2. Forward this request to Jerry.
3. Hang up and wait for 15 minutes more."
(The options could be set to repeat n number of times, and a default action could be set as well)
(If you hung up the next person would be called in the list of contacts.)
(Written in C++)