

After 5 years as lead dev small startup, what now?  - Throwadev

I wanted to know your thoughts on what I should do at this point in my career. I've worked for the same startup for 4 years now. I am not a cofounder but I have been with the company from the start as the head of development/technology. We are a very small shop, and I don't foresee the company growing more than 10% a year from here on out. I'm also a bit unhappy with my manager's tendency to micro-manage. He is non-technical, and I feel he has little appreciation for how good of a developer I am (something like this: http://xkcd.com/664/).<p>I have some stock options but I doubt they will ever be worth anything as we will likely never IPO, and acquisition is possible but I don't have any reason to believe we are moving in that direction. The company is profitable.<p>I make ~100K, + 15%-20% bonus, but I want my base pay to be at least ~125K + bonus. I'm unhappy with the personal and career growth opportunities at this company. I have to go way out of my way to keep current with even relatively recent tech (most of the first 4 years was spent on legacy systems with 8+ year old tech, the past year was the 1st greenfield project and I knocked it out of the park with new stuff).<p>I'm looking around to see what the opportunities are, but I also have a performance review coming up in early Feb, so I wanted to know what I should be aiming for in case I decide to stay. What's the normal next step for a director level lead developer at a small, profitable startup after the first 4-5 years? Besides a salary increase is there anything else I should be asking for?
======
ckdarby
Instead of pushing harder for a higher salary push the company towards more
adventurous things such as the last week of each month being a "hackathon"
week in the company.

If the founders have a problem justifying the cost make the "hackathon" week
around using any new technology but it must provide some
feature/fix/optimization to the current products.

I feel like you're not totally filling the shoes of your title because what
you're complaining about is the tech stack which is what you should be making
the decisions for...

If you want new technologies, you, as the lead have to push the company
towards it and instead of debating jumping ship you need to ask yourself, "How
do I get us away from legacy code and move towards a more robust newer stack".

~~~
Throwadev
Right, I agree with you that I am not filling the shoes of what I should be
doing, and that is one of the reasons I'm not happy here, but that's not due
to lack of awareness or effort on my part. I have never had issues
communicating to non-technical people before. My previous managers have always
commended me on my communication skills. In the past I consistently raised
issues and potential areas of for improvement, explained the significance, and
came to agreements with the product and project managers on a reasonable
balance between continually improving our systems, maintenance, and adding new
features. There is also another huge factor that complicates things, that is
out of my control -- our systems are tied to a partner company and to a large
extent they have determined our technology because our apps run in their
servers, on their datacenter. So we've been stuck on Windows 2000, SQL Server
2000, running COM+ stuff, because those guys never upgrade their crap.

However, some projects to improve systems and to finally start looking at
decoupling from the external partner are _FINALLY_ showing up on the roadmap
for 2013. I spent all of 2012 on a brand new project where I enforced my
vision of how things should work (totally modern tech stack, automated builds,
cloud deployments, etc). That project was a big success.

So if I were to stay one of the things I want to know is how I can convince my
manager to get out of the way more, and let me handle a bigger role in
planning and executing the projects. Because even though the projects are
coming up, he is already starting to try to "mentor" the jr dev's by trying to
get them to "own" specific new projects and feature areas for things that
we'll do in 2013. I strongly disagree with this approach; I want team
ownership, but with his hub and spoke approach (my +1 being the hub) to
managing, there is no real development team. The Jr. dev's practically never
increase their skills because they spend so much time on legacy code and
tedious operational stuff that can be handled by interns (i've recommended
this before, buy my manager doesn't agree).

Your point is well taken though, and it's something I've been thinking about.
I would welcome any advice on how to arrange a better environment for myself
at the company, that would allow me more autonomy in leading the developers.
How do other lead developers at small startups handle this kind of situation?
Who assigns tasks directly to developers? My manager micro-manages, and
assigns individual tasks to individual developers. I know that if I got to
lead the team myself I'd have been able to incrementally upgrade parts of the
system to free up the Jr. developers' time, and by today they'd have a lot
more free time to work on even more new features. How do I discuss this kind
of thing with my manager without offending his clear need to maintain strong
control over the Jr. developers?

~~~
ckdarby
A lot of the questions you raise are specific to the situation, feel free to
hit me up with some contact info: ckdarby+ycomb@gmail.com

