As a coder-founder, you are obsessed with automation. You will have a 100 problems in your startup and you want to solve all of them by writing code. That, however might not always be the right choice. In fact, sometimes, not automating and being crude and manual will help you scale better.
Lets take for example support calls. Your product is steadily picking up and you are answering around 10-15 support calls everyday. As you scale up and have two choices. a) Keep hiring more support engineers as you scale - or - b) Build a cool IVR that will automagically ‘answer’ most of your customer’s problems and throttle only the rest to your team.
Option b) is far-far cooler, AND, you think, that way, on the long run you save cost by hiring less support engineers. But is it really worth it? Do the math, you might not have considered the following
* Support-engineer-time usually costs less than developer-time hence it
might take years to just compensate for the lost ‘developer time’ with
the saved ‘support engineer’ time
* The developer time might have been spent on actually improving the
core product
* If it’s something that’s easily looked up by the IVR system, the
support engineers themselves will invent ways to make it quick(like
having an excel and searching in it).
* Customers might not use the IVR and still prefer to directly talk to
support engineers
But the most important of all is the fact that such an ‘automated’ system is never ‘done’. It becomes a product in itself. You need to depend on the developer for every “new feature” causing a vicious circle. If it we all manual with only support engineers and no code, all it takes is sending a mail - “Hey guys, from now on if the customer asks for the annual price, it is $200 and not $150”.
I understand as a coder it feels just wrong to not automate. But hold back. Not everything that can be automated is your cup of tea. Sometimes, crude, manual and redundant means cheap, easy and less expertise, hence easily distributable and thus more scalable.