Early on in my career I worked for a company that developed bespoke websites and software. Almost all the internal systems and processes were bespoke developments. In each instance the process complimented the solution and vice versa. When I was asked to create a solution that would generate a word document for new projects from our bespoke CRM, I naturally started building a bespoke method.
For the first time, I was about to learn the important balance of cost versus effort.
Cost & Effort
There’s nothing wrong with putting effort into building a bespoke solution. There’s nothing wrong with spending money on the cost of ready made products or outsourcing a task. However, not weighing up the cost versus effort for different tasks and budgets can lead to regret, ineffective performance and lost earnings.
It’s a simple formula really – “Will this cost more in paid man hours versus buying a ready made solution?”
Thinking this way was unnatural for me when I worked in my first job, because costs aren’t really the responsibility of a Junior Developer. In fact, my responsibility was to develop bespoke C# ASP.NET websites and software, so I would always try to solve a solution with code.
Taking too much time
Trying to create a bespoke solution for my company’s CRM took an awfully long time. In fact it probably took about 2-3 days, which to the frustration of my boss, was a little too long.
I also made the mistake of getting to work and starting early, then leaving on time. Which for some reason always appears worse than arriving on time and leaving late, despite being in the office for the same amount of time!
The Cost was cheaper than the Effort
The worst part was that the particular bit code I was struggling with could have been massively simplified with a paid code library. I think it was about £75, which to me sounded a lot at the time. There was an alternative method which required coding, so I thought this would be the better route.
What I should have done was look at my hourly rate and the required time to achieve the coded method. Then, weight this up versus the cost of the paid product.
From the company’s perspective, they were paying something like £10 an hour for my development (it was a long time ago).
product price / hourly rate = 75 / 10 = 7.5
For the bespoke method to be a viable option I would have had to have been able to fully develop the solution within 7.5 hours. However, as I’ve said it actually took me 2-3 days as well as involving the end user (my boss) who kept feeding back issues.
A lesson in career performance
At the time I didn’t look at this equation as a cost efficiency equation, but more of a career performance equation. My boss didn’t look favourably on my position as a result of my performance on this occasion and I could sense that I’d made a big cock up (in fact, much later in a conversation he implied that he was considering letting me go!).
I continued to look at jobs and tasks this way going forward, but now that I’m self-employed it has a new meaning. There are no points for developing a beautiful piece of code when you could have paid for a solution and saved both time and money. The client will only see the result of the work done, not the method of how it’s done. With the client’s happiness being equal the best thing to do is to stop and weigh up the cost versus effort and take the easiest and most viable path.
That boss of mine sure gave me some stick and although it didn’t feel very positive at the time, it was a valuable lesson, one that still serves me to this day.