Does this sound familiar?
You know your business, but you are no coding expert and you honestly don’t know whether everything has been done correctly.
If your developer got hit by a bus or just left, is your code “understandable” by another developer?
Initially, your project progressed quickly with new features added on a daily basis, but now even the most mundane changes seems to take forever.
Your developer says that the new feature will take two months to develop, but you don’t have any expertise to know that estimate is right?
Here is how I help:
I am an independent software consultant with over 15 years experience working with both large corporates and start-ups. I can provide an unbiased insight into your project.
The secret sauce to a coding review is being independent from the development team. That way I can provide recommendations that are untainted by self interest.
A sad but common story
This has happened to me! A client asked me to take over a project that their long-term developer hadn’t quite finished. Before the developer left, he had reassured the manager saying, “It is almost done. There are a couple of minor bugs. But really that shouldn’t take too long to fix.”
The truth was quickly revealed! The project was never going to run error free, without considerable effort, as the code was poorly written with zero test coverage. It would take less time to start again than to unravel the mess that was left behind. The previous developer had coded himself into a corner and decide that the ”smart move” was to leave the problem behind.
To be fair on the developer, it is situation that a lot of developers get into. The problem is that you don’t know what you don’t know
and it is easy to add one new feature after another without having much of a thought to the maintainability of the code.
The above could have been prevented by:
- Adding continuous integration & test coverage metrics
- Adopt development best practises
- Adopt style guides (preferably via code analysis tools)
- Regular code refactoring
The Review Process
The review process includes the following:
- Whether you are using outdated libraries or libraries that are no longer being actively updated.
- Identify problem areas for refactoring - simplifying the code. These areas could cause unexpected behaviour in the application and cause a higher on-going cost of development.
- Check whether database backup strategy meets business requirements
What I will do:
- Interview you and the team
- Add coding metrics: to measure the existing state of your project and to track any improvements over time.
- Ensure that logging and performance information is being captured.
- Check whether continuous integration has been implemented.
- Summary audit of your entire codebase to pinpoint problem areas.
Commonly asked Questions:
Will my developers hate me for doing an Review?
No! In my experience they are already aware of the pressing issues and would appreciate the independent justification to do the work.
How much does it cost?
I work within your budget and focus on typical problem areas or areas that you are particularly concerned with.
What if my application is too small? Is it worth it?
The early stages of product development is an ideal time for a coding review. Having a project correctly set up prevents a whole host of future problems.
What if my application is huge, over 20K lines of code?
A coding review would still be beneficial. The shear number of classes means that there are likely to be problem areas. With such a large project, I would be looking at how you can improve the quality of your code over time.
Do you do all languages
My primary focused is on Ruby on Rails for the back-end server with AngularJS for the web client, as I find this combination particularly suited to start-up.
What’s the next step?
Lets chat!
I shuttle between Tauranga, Hamilton and Auckland so I am available to meet in any of those locations. Alternatively, I am available for virtual meetings via Skype or Google Hangouts.
Subscribe to What is it like to work with me
If you are not ready to chat but would like a short 4-week introduction of what it is like working with me, and my development approach then please sign up with the form below.
You will be asked to confirm you email address and then you will get the first of four emails