56

I'm in a technical position as a software engineer for a startup. At the beginning of my job (4 months ago) I was brought on with the expectation that I would be coding full time. I was the only developer for the company.

It became readily apparent that the project would require at least a team of developers to work on it as I continued working. I recommended to my boss he hire some people and offered to do the interviewing for them. Fast forward to now that we've hired one developer and are looking to hire several more.

I'm in a management role for the quality of the software as well as the entire engineering department as well as being the most experienced developer.

I feel totally overwhelmed by the position (I've been a developer for a few years but never a manager) and by the sheer technically colossal task the software is trying to accomplish as well as the problem of managing an entire department as it looks I will now be doing.

What do I do? I'm extremely stressed out.

  • 37
    Its a startup, I think its the norm to be stressed out. It does mean as the company grows you will be in a higher position as you joined the company before – par Jul 7 '15 at 8:34
  • 5
    The International Institute of Business Analysis publishes a brochure (I think at some 50USD) called the Babok Guide (Business Analysis Body of Knowledge). While this is not strictly aimed at managers (as the name says it's for aspiring business analysts) I found it contains a wealth of simple, actionable tools to help you to organize a project and formulate project requirements. If you are planning to read books on project management I would suggest you add this to your reading list (I'm not a IIBA member, just a happy user of the guide). I found that helpful in a somewhat similar situation. – Eike Pierstorff Jul 7 '15 at 12:06
  • 4
    @user2662639 It's not unusual to find more qualified people parachuted in above the old guard. Better not to have too much ego about that. – Spehro Pefhany Jul 7 '15 at 14:04
  • @EikePierstorff: You know there is a roughly matching book called the PMBok Guide? (Project Management Body of Knowledge)? – Lyndon White Jul 7 '15 at 15:00
  • @Oxinabox, I know now - thank you for pointing that out ! – Eike Pierstorff Jul 7 '15 at 15:02
49

First, know that many people get promoted in this sort of way - two of my former managers were. Whether this is good or not depends on the person - but you can read about management and project management and get the company to help with leadership courses and the like to fill in your knowledge gaps. To do this you have to take a deep breath and believe in your ability to overcome.

That being said, management is not a good fit for many people, and having it thrust on you in this way is very stressful - if you think you are truly not up to the challenge (and kudos to you for recognizing it...it can be difficult), you need to talk with your managers. The best thing you can do is convince them to hire for the management role. The best specific approach for this depends a lot on your communication with your management and your company culture, which I do not know and cannot get into here.

If you do not wish to get into management, there are two major possibilities,

  • A. you do not want to get into management ever
  • B. you simply feel you are not ready for that challenge.

If A, you would stress this to your management. You would explain that you prefer being "in the code" and do not really want to be a manager and think it would be best to hire in a fully qualified manager to take that responsibility.

If B, stress your relative lack of experience managing and say that you think it would be best to hire in someone who has more experience managing (as Guy Schalnat noted you could request a program manager specifically). Since you mentioned they are looking to hire more technical staff, you should be able to persuade them to hire a manager in as one of those people.

  • 13
    I would also add that if you ask for it, your direct manager can perhaps coach you to assist you. It worked for me when I started with team leadership (and I was also enrolled to a team leadership workshops) – Sigal Shaharabani Jul 7 '15 at 8:55
  • 2
    The "If you are more B" part is a bit confused, not really clear what you are suggesting exactly. – o0'. Jul 8 '15 at 12:34
  • @Lohoris thank you, I was having a hard time phrasing that right! – Emerson Jul 9 '15 at 4:29
  • @SigalShaharabani That is a fantastic point - it can really be a great way to grow. – Emerson Jul 9 '15 at 4:30
  • @Emerson np, I only fixed a bit the format, but the text is as it was before, ad still not clear, I'm afraid… – o0'. Jul 9 '15 at 8:13
22

Management is a funny one, because despite being studied very thoroughly, there seems very little consensus on how to do it right. Especially in practice it seems that good intentions that came with the material learned at university go out the window.

What I am trying to get at is that, although you may feel under-qualified, in the vast array of "managers" out there you might actually not stick out at all. One thing you probably do not have is experience, but this can only be gained by actually doing the job, so keep at it.

Stick to the basics: prioritize tasks, track tasks, review how long it will take to reach your goal ever so often, track tasks again. Try to keep as efficient and focused as possible. Gain some experience. I'd advise to take a stab at it. Not knowing whether in your specific case the stress is a particular phase or has been building up over a period of several months.

You're employer isn't helped if you bail, and you may be able to achieve something really meaningful.

Also find ways to deal with stress. Even in non-managerial position you will find yourself in a position where stress can dominate the workplace. Sport is a great one. Remind yourself that the workplace is far from everything in life and find a way to wind down at the end of the day.

10

In my experience (and I've worked in a few startups), what you need is a project manager, not a manager. You also need someone to do quality assurance. While these really should be separate people, you may be able to get away with one person in a startup (in one of my startups, that same person was the President of the company). I personally don't think you need the "people" manager until later in the process. You will have to spend some time doing technical lead and mentoring work, but that is programmer work you will grow into anyway, and is good for your resume.

Good luck, and do your best. Also, give yourself the time needed to relax a little. I've burnt out more than once when I was younger, sometimes before the project was completed.

  • 1
    +1 for Project manager does not equal people manager. Interesting idea. – James Khoury Jul 8 '15 at 3:18
8

If you and the new person are coding just now- STOP

You need an idea of what needs to be done (what some methodologies call a backlog). Start with big chunks (epics), and do some simple estimation (t-shirt sizes work well, s/m/l/xl etc). The epic could be something like "user security" or "reporting".

Now get the person who is driving the project to make a call on what's more important by putting the epics into order. Now start breaking down the most important epic into smaller chunks and the two of you start giving high level estimates. This will still likely be at mutiday/week level. Again gey agreement from the business and start doing moscow on it (must or should or could or won't).

Now break down to a realistic level the must chunks, usually no more than a couple of days level.

At this point you can start to plan blocks of work, and show your boss what's/who's needed. If you can show just what's involved you can get buy in from your manager and push for a manager. If no movement start your blocks of work aim for a 60/20/20 split (must/should/could).

Good luck

  • 3
    I don't think they are asking about the development practices. This seems to be about the management position and stress which you don't seem to be addressing. – James Khoury Jul 8 '15 at 3:16
  • This is a great description of a Work Breakdown Structure. – fectin Oct 9 '17 at 15:40
3

As I didn't notice it mentioned elsewhere I'd strongly suggest finding a way to distribute the workload. If you can find ways to distribute chunks of responsibility to others you may find that you aren't feeling so over your head. This may require effort to justify the need for other resources (perhaps minimized by outsourcing non-key aspects though that does involve overhead).

I'd also suggest, assuming you want to stay hands on, that you have strictly defined periods where you will be hands-on or hands-off when it comes to coding. If people know which hat you are wearing at any point in time, and respect/support the concept of partitioning your effort (such as by not asking you for leadership related questions on coding days) it would probably help as being deep in the code is not conducive to discussing higher level business issues.

Aspects to be delegated may include overall architecture proposals, specific solution proposals, module development, test planning, project scheduling and so on. This can lead to you finding that you can "promote" someone who shows serious skills in these areas under yourself. It's a team... and if you can grow people into it then it would help you grow into it.

However, as others have said, if you can't find a way to be comfortable in your role you'll have to address it.

Also, keep in mind, you might be able to push some of the management upstream, requiring non-development team leadership on product/feature planning and prioritization -- as, legitimately, you're busy with helping get those features out to the market and training newer people.

1

Take a deep breath, try and ignore all the current stresses and calmly consider one important question. What position do you want to be in in two years time? Do you want to be the manager and feel like you are qualified and know how to run the place? What about being team lead and organizing and mentoring all the developers to come? Or do you want to be "just" a developer, but the person who solved all those vast technical problems you are now looking at? Or do you want to be the person who accomplishes it all? It is very possible to be both manager and a developer providing the development team remains fairly small and the overhead/reporting requirements don't become excessive.

Once you know your shorter term goal, look further down the line at 5 years or even 10 years from now and ask the same question, Then decide if what you are doing now is getting you where you want to go, even if it means diving into the deep end or simply getting some useful experience to apply elsewhere later.

Motivation and the will to succeed will make a big difference to whether you feel overwhelmed or simply challenged. A management challenge really isn't that different to a programming challenge. First you look at what needs to be done, then you break it down into the steps that need to be accomplished and then you start working on those steps. Even if you can't see how to climb the whole mountain, seeing how to get to base-camp, or even just getting your supplies in order can help by giving you manageable chunks to handle now. You already solved the first problem by seeing the company needed more developers and handling the interviewing to get the right people involved. In a start-up a lot of the people will be doing jobs they haven't had to before and showing a willingness to learn and take on those tasks should be very much appreciated.

On the other hand, if you don't want to take on the manager role, explain to your boss how these tasks are taking you away from the important role you were brought in for in solving the technical problems and ask for his help in making that a priority. But again, if you can suggest solutions to the problem (hire someone who is already experienced as a manager, pass the responsibility to someone else in the company who has the right talents or just lessen what needs doing) that will go a long way to showing you are not just shying away from the workload but are actively trying to improve the company.

1

Eventhough this is a startup - it tends to be a bad idea to manage/product manage at the same time. You can read up on this. Many organizations want you to do both. So, try and move more code into other people's hands. You are the lead. It will be more effective if you spend a good part of your day working with people, to get them to be productive and move in the right direction.

-3

I've been in a similar situation.

  1. How much equity did you negotiate up front? Is it worth it? See if you can re-negotiate if unhappy. Either more shares or vest sooner.

  2. It's a startup, plan on failing. It's okay. I was part of 2 blows up before I got lucky on number 3. Learn as much as possible in order to prepare for the next attempt.

  3. Timeblocks for coding vs managing - Allocate a certain number of hours at set times : looking at pull requests /code reviews, pair programming vs coding

  4. Get as much for free as possible. If you can get away with using AWS for infrastructure or an open-source project instead of rolling your own then do that. Focus only on your core value.

  5. Adopt the Valley mentality : Fail fast, lots and lots of trial and error. Spend 1-2 spiking a concept if it doesn't work, move on. It was small investment. NEVER GET INTO A SUNK COST TRAP. That is why the VC are giving you money to experiment.

  • You missed the secretary part! But +1 for otherwise hilarious post – user18524 Jul 9 '15 at 9:46

protected by Community Jul 8 '15 at 12:55

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.