This is a huge milestone for my career as a software developer. Not because I’m finally releasing code for customers to use in production, but I’ve also been able to introduce some new shiny toys to the development team over the past few years. Since the day I started to what we call our “biggest and most complete [release] that we have done to date at Secure Vantage,†we’ve been introduced to a few tools:
- Source control – Subversion
- TortoiseSVN
- VisualSVN/AnkhSVN
- Continuous Integration – CCNet
- Build automation
- Test automation
- Package automation
- Bug and Feature Tracker – Mantis
- Notified using RSS in Outlook
You might be thinking, shouldn’t every successful software development team already have this in place to start with? Well, we didn’t and I made it a point to get it setup before I got too deep into code. Now, some of you might be wondering what we used before, but I’ll leave that to the previous development team to answer that. I joined the team on a green-field development project, most of which is the only C# we have. I was able to introduce new tools in order to help me track my progress and deliver products with confidence. Now, everyone on the development team is onboard with these tools.
Now, if you don’t know, I took a few courses from Venkat Subramanium, a pretty well known polyglot in the software development world, and I learned a lot about software development, best practices, and even picked up a few books just because of him. Who knew we have such a great asset at the University of Houston? GO COOGS! Anyway, I made it a point to use process, tools, and techniques I learned from his classes for the rest of my software development career.
Since then, and even more so while working at Secure Vantage, I’ve got pretty anal with software development. Especially about doing things the right way versus just getting things done, but it’s hard when we as a team have committed to a delivery date. I just follow that cost-quality-time triangle thing (what’s that called again?) and guess what always gets dropped first. I think I’ve been able to counteract that out with the Pareto Principle. On top of that, in the last few weeks I’ve been able to knock out a lot of those bugs put in the backburner to get where we’re at today. =)
So that’s cool, but what’s next for me? I definitely know I’m nowhere near complete. I’m going to have to start figuring out a way to manage the branching strategy, but I’m reading and hearing about so many different things it’s so overwhelming. For now, I’m just going to try my best and keep things as simple as possible. This is a new frontier for me, and I hope I’m ready for it. I need to get back to reading blogs, articles, and books again. I’ve fallen off that boat for far too long.
Oh, and today is my half-birthday!