While discussing what I should do with my spare time, a colleague suggested that I write a book. That sounds interesting, but what makes me qualified to write a book? He said what makes anyone qualified to write a book. Good point, but I still am not writing a book.
Today I spent my time on the (almost) daily dog walk thinking about that and came up with an idea “professional source code review”.
So, I’m now opening up my new service. For a flat fee, I’ll spend up to 5 hours reviewing source code and then I’ll prepare a detailed outline of issues and recommendations on how to proceed. Who am I targeting? In general I’m looking for companies that have outsourced their projects and want to keep an eye on the development to make sure they’re getting their money’s worth and to be advised of where things can go wrong. Many companies that undertake development don’t have internal resources to review source code and rely completely on the outsource vendor. While many applications work, reviewing code can assist in polishing the code and possibly preventing future issues.
What happens if your vendor fixes the issues and you want another review, I’ll spend an additional 5 hours (at half price) re-reviewing the code. Are my services cheap? Well, no, but how much is your vendor going to charge you fixing their own mistakes? Software development is a unique business where we’re paid to write the software and then fix mistakes (most projects I’ve worked on are on a time and materials basis).
Why should you hire me? I’ve been writing handheld software for over 16 years (yes, I actually have as I wrote Newton software while I was still in college). I’m very meticulous and have seen enough code to know what is good and what is bad. Software can work, but some of the hardest problems to track down are caused by poorly written code. I can help resolve these issues.
If interested, contact me. Of course, there are certain projects that I can’t review, so I’ll need a high level overview of your project before I can let you know about proceeding.