Software Dev Process

Kodama in graduation cap and gown

As someone who can easily find themselves up past midnight coding for fun, I figured this chameleon ought to learn something about the software development process formally for a change. Conveniently, the Georgia Tech cybersecurity masters (OMSCY) program includes Software Dev Process (CS 6300) as an elective. I was in for a bit of a surprise!

While nothing beats learning by doing, Professor Alessandro Orso delivered some of the best lectures I’ve encountered in my GA Tech journey. His enthusiasm, well-paced delivery, and clear content structure made the material genuinely engaging. In fact, I found myself enjoying the lectures more than the assignments — a first for me.

Orso and his team designed the course to be Java-centric — a little daunting for a lizard who usually sticks to more “reptilian” languages. Still, as an object-oriented language, Java wasn’t too hard to pick up quickly given my prior experience. The first four assignments were surprisingly easy for a master’s-level course: simple team matching, Git, basic Java with JUnit testing, and building a small Android app. The later assignments — an individual project using test-driven development and a group project — were more time-consuming but not necessarily more conceptually difficult.

Speaking of groups, most chameleons are known to be solitary and territorial. Not this guy! Ok, so I definitely need some good alone time; however, group projects are a great opportunity to network with your classmates which is a big part of any academic experience. True, a group can make or break your grade (and I’ve heard the horror stories), so I consider myself lucky to have landed on a team with a wide range of skills and experience.

Apparently, the computer science master’s program dwarfs OMSCY. I’m used to seeing a hundred or so classmates in a semester, so imagine my surprise when the “Introduce Yourself” thread just kept going… and going… until roughly 800 people had said their piece. Bless those poor TAs! Managing discussion forums looked a lot like herding cats. Rather than copy and paste answers, any TA who took the time to craft a thoughtful reply deserves a standing ovation.

The lack of cybersecurity content for a course in the OMSCY catalog felt odd. Don’t get me wrong — understanding how software is developed is critical in the security world. Still, you’d expect GA Tech to offer a course that also covers how the development process can go wrong. At least getting a better understanding of the “normal” gets you half-way there.

Speaking of a better understanding, that’s exactly how I’m feeling these days. There’s still so much more to learn about the art and science of software development, and I feel much better prepared to blend into the developer world. So, enough said for now. It’s time to get back to coding… and lots and lots of documentation of course. 😉