Since GDC is a defense company and I worked in Research & Development, I don't want to write down a lot of particulars about what I worked on, so I'll specify some of the areas I worked in and what technologies were used.
One thing I worked on that is "out there" (at least on the GD website) was WOMBATS (PDF file). I implemented the core architecture of the system (but not the GUI or some of the tasks that run in the system). It was written in C++ and uses SQLite, a popular database engine for embedded systems, to store data for processing and transmitting between the different tasks running in the system. It's an MVC architecture, and I made use of design pattern principles when writing it ("Find what varies and encapsulate it" -- Design Patterns Explained by Alan Shalloway and James Trott).
My favourite thing I worked on was a cross-platform library written in C++ that is used by several other GD projects (including the company's biggest project, the Marine Helicopter Project). My responsibilities on this R&D project:
- Add new features; find and fix bugs
- Write CppUnit tests
- Write example applications.
- I was told by a newcomer to the project (a senior developer) that my examples were very helpful. I made them at a level that wasn't trivial but also wasn't so complex as to make it hard to learn. I also arranged them into a tree, so if you wanted to learn about topic X, you could see that you should learn examples Y and Z first in order to understand X, so you weren't trying to learn 3 things at once. Another topic W's example might also use Y as a base, so if you had already learned Y, you could go straight to W.
- Provide support to users
- Test on Windows, Linux, and Solaris
- created release packages
- Update documentation
I also worked a lot in a demonstration lab, setting up computers, installing software, troubleshooting problems, running software during demos to government, forces, and business personnel, and preparing documentation for the demos so that others could carry them out in my absence.