How to grow at a small company?
October 31, 2010 1:29 PM   Subscribe

I'm a developer and I'm looking for career advice on whether or not to stay at my current company or move on.

I work for a small company and after some contractions during the peak of the crisis, I'm the only developer left. I've been with the company since I got out of college and in general I really enjoy it. I can make my own hours and, more importantly, decide the direction I want my project to go.

While I love the company, I don't see any growth opportunities. The only people above me are executives and there's no clear path for advancement. It is wait until someone retires or dies. I'm young and I could easily see it being 10 years or more before someone above me goes. I've brought this up, but I always get vague answers both praising me and assuring me that I'll be taken care of. I have no problem waiting my turn to rise the ranks, but given that it could be a very long time away, I don't want to wait 9 years, get passed over and still have the same title and pay I had when I got out of school. Again, I have incredible freedom to grow as a developer and I can pursue I what I want, I'm worried that professionally, being at one company without a steady stream of advancements will hurt me. How important are these things? I keep my resume up to date, and try to make it as clear as possible that I'm taking on more complex responsibilities and projects, I worry that without some sort of outside validation this is kind of useless.

Any ideas on how I should proceed? I'm completely lost and feel guilty about bringing this up after two years of layoffs. It almost seems that the only way to move up is to move to another company. Is this the way things are generally done now? I have friends at larger companies and these places all have nice career programs in place. I never see anything about how this works at small companies, but I can't imagine people don't grow and small places.

I should mention that I don't develop a product the company sells. I develop for their back-end programs that are used internally. I can track money and time I save, but I don't have sales figures to back me up. This makes it hard for me to look like anything but an expense. Any advice is appreciated.
posted by anonymous to Computers & Internet (11 answers total)
 
I suggest you move on because of the following reasons.

1) They said they will take care of you. Nothing is guaranteed if business conditions change, they will not be able to keep their word whether they want it or not.

2) If you stay there you will not be diversifying your skill-set. Right now I am in a similar dead-end position, going to other interviews quickly made me realize that not only am I in a bad place but that the things that I am learning there are only marketable to those places that use similar tools of software suites. Basically had I switched jobs earlier I would have gotten more tools under my belt that make me more marketable.

3) You have to stop feeling guilty and you have to do what is best for you. You also have to start realizing that a career is not only about you, but about your family AND your future family. The better off you are the more you are able to utilize your time and resources to help them. I love my boss, but I realized that he just does not care about inflation that affects my ability to pay the rent as much as I do.
posted by The1andonly at 1:58 PM on October 31, 2010


You're way too young, and young in your career, to coast. You should be looking for another gig, guilt free.
posted by DarlingBri at 2:09 PM on October 31, 2010


I don't see how long you have been at this company. If its less than 5 years I wouldn't be in any rush, enjoy your youth at a decent company. If its been more than 5 years, maybe its time to jump, just to get a more interesting career and not get stuck in a place (and potentially in a place you get guilted into staying)

If for some reason you do decide to stay, get real equity in the company. That's a real way of "taking care of you" even if they don't give you a promotion right away.

While everyone wants to take care of workers they rarely ever do in the long term, esp. in small companies.

The time to take care of you is now.
posted by bottlebrushtree at 2:18 PM on October 31, 2010


Some thoughts:

Developing back-end systems can be one of the most rewarding jobs around. It's rare enough for a developer to have any access at all to customers, let alone working (presumably) in the same building. Just imagine working on software for unspecified individuals, to specifications written by other unspecified people for reasons which no doubt made sense to someone somewhere at some point. Then imagine the project going terribly wrong due to reasons beyond your control and then being cancelled after three years because a competitor brought out something better. I guess this doesn't happen to you. I hope you appreciate it!

It's also very rare for people to be as self-directed as it sounds like you are. That's an opportunity not to be sniffed at.

On the other hand, working as the best or only developer somewhere can get stifling unless you really make an effort to get out and about, go to conferences, read trade journals and so on.

still have the same title and pay I had when I got out of school

I hope you have asked for a pay rise! If not, please do.

If I were you, and I was enjoying the job, I'd stay put but put a lot of effort into keeping up to date and making sure I was taking on interesting work that would contribute to personal development. I don't see why you would have a problem moving on, even after 20 years, if your CV looks good enough.

If you don't enjoy the job or you need the extra cash, that's a different matter.
posted by emilyw at 2:18 PM on October 31, 2010


I'd suggest that your intuition is already doing wonders for you. Small businesses are great, and you obviously know what you want out of your next position. Start looking for that using all the spare time you have.

The big thing is that right now you're depressed because the mood at the company isn't that you're a core contributor to a thriving business. I'd say that's all the reason you need to either:
a) pony up the PM skills to turn that around; or
b) leave and go find someplace where you aren't wearing all the hats.

The big thing is that you aren't going to be hurt professionally in any eventual outcome. That is, unless, you let it hurt you. If you stagnate professionally, a good interviewer will suss that out. The good news is that mitigating this stagnation is as easy as sitting down and developing (say) your sales side, or studying your company's industry, or something else that will bring you into the realm of being that core employee. Being an amazingly excellent developer means that you aren't just a box full of code, much as being a great HR person doesn't just mean putting up minimum wage posters in the break room.
posted by ohrite at 2:25 PM on October 31, 2010


in general I really enjoy it. I can make my own hours and, more importantly, decide the direction I want my project to go.

OK, let me see if I understand this; you…
  • …enjoy what you do
  • …have autonomy
  • …have responsibility
  • …have the respect of your bosses (at least, from what they say)
In addition…
  • …the world economy is in the worst shape it has been in living memory
  • …IT jobs—particularly "internal" (non-customer-facing) jobs— are rapidly being transitioned to cheaper labor markets overseas
And you want to know if you should quit your job? Tell me this, what's another year or two? A couple of years is not a lifetime. And being able to pay your bills is really, really nice. While there's no harm in finding out what else is out there, I would want to make sure that new job offer's ink is very dry before giving notice.
posted by Civil_Disobedient at 2:30 PM on October 31, 2010 [1 favorite]


You should look for another place to work if for no other reason than working alone as a developer sucks in so many ways. So much learning in this industry comes from other people teaching you, leading by example, leading by counterexample, learning how to work with their code, learning how to write code they can read, learning how to manage them, learning how to be managed by them... You can get *some* of this from working on, say, open source projects in your spare time, but it will be much less effective than getting it from coworkers.

The danger of staying here to me, then, is that you are potentially limiting your growth as a developer (and likely your future employability). If you are truly interested in being a great developer, who gets to develop truly complex systems and feel like you're at the top of your game, you need people to learn from, and you need bigger projects than one person can take on.

I disagree with civil_disobedient on the state of the IT market for actual programmers (if only because the performance of outsourcing and "low cost locations" is still on average so abominable), but 100% agree with having a job in hand before you leave this one. Start looking. And maybe find an open source project (perhaps for a tool you use already) that you can try to contribute to, just to start the process of learning from others.
posted by ch1x0r at 4:18 PM on October 31, 2010


You probably already know it's much, much easier to get a job when you have a job than it is to find work when you're out of work. So start looking for your ideal next-step job now, while you have time to be picky. There are dev jobs around, jobs doing interesting stuff -- go find one, but don't quit your current job until the new one is solid and signed.
posted by anadem at 5:52 PM on October 31, 2010


Find a new job. Recent articles on IT career management basically point out that you need to be aggressive about managing your career to show growth until you're in your 40s -- and then you either need to make a move into management, or you need to have a very specialized technical field where young guys won't be able to move in on your career.

Past a certain point (~10 years worth), having more experience doesn't help you. I'm 30 years old, and I have 10 years of experience in Linux Systems Administration. Having 15 years won't do anything for my career. Having 10 years of DBA experience and 10 years of Sysadmin experience and 10 years of programming in a specific edge-case field might, though. If you have 30 years of backend programming experience, you have salary expectations and needs (retirement savings) that exceed that of a guy who has 10 years worth -- and you're in the same pool of applicants. Guess who's going to get the job?

To answer your question directly, though, you need to move around because you don't have the experience that will get you a job immediately in your field. You will have to look carefully and find an employer that wants you. Be picky on your end; if you don't feel like you're walking into a workplace that is doing cool stuff and has a bunch of rockstars working there, don't. For instance: I just made a lateral move between companies because I was sort of falling asleep and letting my skills slip at my old job; I'm in a new position where I'm being challenged on a daily basis, and this will be good for my career and my mental state. From the way you talk, you might be in the same boat.

If you don't aggressively manage your career, or that sort of thing isn't your cup of tea, then you need to have a "plan B" figured out. For many software guys, this has been consulting, working in a field or job that is less desirable because of hours or workload, or running a MicroISV. Start plotting your course now.
posted by SpecialK at 8:05 PM on October 31, 2010 [1 favorite]


Tell me this, what's another year or two? A couple of years is not a lifetime.

And after those 2 years, you're still in the same job, maybe making better pay, but with similar peers and similar responsibilities. Now you're a software developer with current_experience + 2 years of experience in a dead-end job, which makes it even harder to move forward. Lack of knowledge/skills/accomplishments gets less and less acceptable as times goes on.

Software development is a field where you need to be constantly working with other smart people who challenge you and share ideas. I know from my own experience that it's all too easy to stagnate and fail to advance yourself when the environment you're in isn't conducive to that. This will then manifest itself in a very real manner when you find that you're wildly underqualified for any job you might want.

That being said, you absolutely want to find something new before leaving your current position. Don't say even a word to your employer until the words you're saying are "This is my 2 weeks notice."

From what I can tell, the software development job market is really not that bad right now. When I applied for jobs last December, I got an interview and then a (very generous) offer within a month or so (I didn't take the offer.) I applied for jobs again starting maybe 1-2 months ago, and got 2 interviews and one offer, again after about a month, and maybe half a dozen or so resumes sent out. YMMV of course, but the opportunities are definitely out there.
posted by !Jim at 12:25 AM on November 1, 2010 [1 favorite]


Every time I've gotten a new job in IT, i've gotten a raise and a significant salary increase out of it. I have never really been promoted very far within one company.
posted by empath at 7:53 AM on November 1, 2010


« Older Securely erasing memory   |   HD TV channels on a data-only cable package? Newer »
This thread is closed to new comments.