For those of you who don't know me (and I'm guessing that's most of you), I'm a partner in a software company. I think we're over the hump of starting a business now, being over 7 years into things now. And while staying afloat isn't a concern, I feel we are starting to experience some growing pains. Or rather, I am starting to experience them.
I've always been a programmer, and it's really where my passion lies. Over the years, my role has changed from being just a programmer to our lead developer, and I enjoy the challenges that designing our software has provided. Now I find myself on the brink of another transition, and I'm not sure it's one I'm wanting or ready for.
More and more I find myself not only designing our software, but large parts of our corporate infrastructure, and frequently find myself out working with various IT departments and discussing technical issues with prospective clients. I feel like I'm ending up as more of a CTO than a developer, and I don't think it's what I want. I want to program and not deal with the other crap.
I realize that in a small company, an owner/partner needs to be able to wear multiple hats. But the extra stuff is not just getting in the way of my passion, but the overall development effort. Right now, in addition to all the programming I'm supposed to be doing, I'm maintaining company web and e-mail services, the company network, the phone system, all of our web products, and one of our tax products. I'm lucky if I spend a full day of each week writing new code. This week, for example, I'm going to have to investigate phone systems to replace our presently-dying PBX. This will leave me with less than a week to implement and debug a module that we promised to a client by the end of next week.
Frankly, I don't enjoy being out working with existing and prospective clients. I don't want to be responsible for the company infrasctucture. But there's no one else here that can. The frequent interruptions and hassles incurred by non-programming issues are causing me huge amounts of stress and, unfortunately, some rather severe anger management issues.
There are two options as I see them: 1) Suggest we find the money to hire another developer and embrace the set of duties I seem to be moving into, then code for fun on nights and weekends to satisfy my programming urges, or 2) find someone that has the skillset to manage all aspects of our corporate infrastructure so that I can deal with the development issues. The problem I see with #2 however is still lacking someone to meet with and schmooze potential and existing clients.
Has anyone else found themselves in my position? What did you do? What would you do differently if you could go back? What would you do in my shoes?