Let’s talk about fast food for a minute. How would you describe fast food? Maybe use some of the following characteristics?
- It’s inexpensive.
- It’s quick.
- It looks tasty (on occasion).
- It smells good.
- Lots of people consume it.
- It’s generally unhealthy (fatty, salty, etc.).
- It’s generally high in calories.
- An hour after eating it, you are hungry again. (Or maybe that’s just me…)
Now how does that compare to software development? Pretty simple, actually.
Have you ever picked up a side project that you thought you could make a quick buck on? Maybe a small application for tracking inventory for a local business or a website for a neighbor. Some small side projects like that are great – they are as easy as they seem, pay well, and are quick to complete. The trouble is, many of them aren’t so simple, take two or three times as long to make, and in the end you get sick and tired of your neighbor coming over at 10:00 pm to ask you to add something else to his website. Projects like that become the fast food of the software world. They are supposed to be quick, make a quick buck, but in the end they harden your arteries and can kill you.
My recommendation is to be very very very careful of what small projects you take on.
Without leading on too much, I know of a certain software company that is quite terrible at taking on small “fast food” projects. Rather than putting their focus onto their core product, they allocate half their development team to work on other small side projects that are designed to be a quick cash grab. The problem is, it is costing them. Don’t get me wrong – they are making money on the side projects, but the opportunity cost of not having all the developers on the core product is huge. It is only a matter of time before someone else sees their core market and how it has yet not been saturated, innovates in ways that they have not, and eats them alive.
Don’t ignore your core market. Don’t eat nothing but fast food. Don’t get eaten alive.