My first job was as a Ruby developer at a Japanese startup. The company had a stellar development team, and in a couple of months of working there I learned more about developing software than I did in my entire computer science degree.
The rest of the company was, well, it was hard to tell. You see, even though the company was only about thirty five people, we had a development team, an operations team, an operator team, a sales team, and a human resources team. Furthermore, there wasn’t much collaboration between the teams. Part of this was language issues (the development team was filled with English speakers, whereas the rest of the company was Japanese), but I also remember a manager telling me something like “it’s my job to insulate you from all the chaos outside the department so you can concentrate on coding”. At the time, I didn’t think too deeply about the implications of that statement, because I was grateful that I could do a job I liked, surrounded by other professionals I respected, and although I was a bit disappointed I didn’t get to interact more with the rest of the company, I coded on in happy oblivion.
Meanwhile, the company wasn’t doing so well. It’s telling that almost every party we had at the company was a going away party. Slowly our numbers dwindled. As the company struggled, it decided it’s new mantra would be “cut costs”. Measures like having the employees clean the toilets instead of paying for a janitor (so everyone could pitch in!) were put into place. Frequent all-hands meetings were held and we were presented with reams of financial data in incomprehensible formats. But the organization structure remained the same, and day-to-day life remained largely unchanged.
At the same time, the company decided to create a new product. I first heard about it by being asked to develop the server side component (a client application had already been developed by an outside contractor, but that’s another story). Looking at the effort create the product, plus the cost of running the service, the product didn’t make sense to me. So I came up with a spreadsheet that had a user growth model in it, and calculated the potential revenue. It appeared to me that even ignoring all the sunk costs up to that point, it would take us years to recover the additional costs we would incur in completing the development. I shared it with the president, but was shrugged off, and didn’t ever get a response to it.
Although I was never directly told “that’s not your job”, I also wasn’t encouraged to pursue my interest in the business side of things. This just frustrated me even more. Here I was wanting to make to help the company more money (or at least not loose money), and yet the only thing I was allowed to help the company with was coding, and it was clear to me lack of coding talent was not the source of the company’s problems. Soon after that, I left to start my own company.
As a startup, your top priority must be innovation, and innovation in today’s startups comes not from deep mastery of any one domain, but rather the coming together of many skill sets. By not encouraging your employees to broaden their horizons, you will fail.