My primary focus was on a shared code base of modern C++14 which was used by five different servers, including XMPP and SIP. As my first task, I rewrote the build system for all five servers, using bash and GNU Make, to be more standard and idiomatic; we used Linux exclusively, including CentOS, Ubuntu, and Arch.
To aid in the quality of the products, I was able to spend a great deal of time improving processes; I introduced continuous integration, unit testing, and all changes to the servers were reviewed by me. To improve type, memory, and thread safety, I reworked, rewrote, and improved many existing systems.
A challenging task was to reimplement our C++ authentication code as a generic RESTful authentication server, written in Node.js. This required reading and understanding the TURN RFC’s requirements on authentication, implementing the server, and integrating it into all of the Eyeball products.
I also gave multiple technical talks, during lunches, covering topics such as debugging with GDB, smart source control with Git, and practical uses of modern C++. As we were actively recruiting at the time, I had the opportunity to play a key role as the last stop for candidates interested in the server team; I grew comfortable with the process and testing a candidate’s abilities in a cool, respectful fashion.