1

My employer is a small startup with about thirty people, and a tech team of 10, including myself. As the tech lead of the company I am end-responsible for all software we produce, play a supporting role in operations and have managerial duties in the sense that the tech team are directly reporting to me. One slightly unusual aspect is the fact that I am at the position were I am despite being the youngest person in the company. I am most definitely (as acknowledged by most) the most skilled person technically and have entrepreneurial experience. Most of my technical colleagues have no leadership aspirations. Some of them are twice my age. Personally I have a lot of leadership aspirations and in no small part took this job specifically for the possibility of opportunity to grow towards a position such as were I find myself today.

I am part of the Management Team, which consists of six skilled colleagues that are each experts in their respective fields - most of those fields not technology or software engineering. These are great people and amongst them are some that I consider friends.

The technical team that I lead vary quite much in skill. Some have just begun software development but show a potential, others have been trying to get "it" for two years and stagnate. There are a couple of senior guys, esp. considering their experience.

Today, in the office, I spend an hour considering to quit. To just stop, as I can not take it any longer. More and more days begin to feel like a hurdle that I simply can not overcome.

Let me describe what I consider to be some pain points:

I personally have much too much to do. There are a lot of "ask [my-name]"'s trown around for basically all problems exceeding a certain level of difficulty.

We have quality problem. In the relatively short timespan of the existence of the company a lot of code has been written by contractors prior to me joining the company. They produced what I shall describe as a "difficult to maintain mess that sometimes works". I'm trying to sort of be the gatekeeper for new bad code and try to improve the quality by only add / allow to be added code that will not increase our problem.

The position of gatekeeper means that most code does not enter production without my approval (currently that is our process, the product manager demands technical acceptation from me for every backend story). That of course means I am a bottleneck, which by itself is a uncomfortable position to have for a sustained period of time.

I am not the greatest leader in the world in the "non-technical" sense. When today I saw a lot of people wasting time on the wrong things, I had to grab myself together for half an hour preparing to get those people back focussing on their work. And I failed. I failed to grab the courage to say: "Hey you two, we have some deadlines and I do not think you are efficiently contributing towards catching them." I am still upset thinking about that. I do not want to be a leader that babysits. I want to be someone that teaches, inspires etc. However much of the people are not there yet. They need (a bit of) strictness and well complicated algorithms come easier to me than strictness.

People are very imprecise, often submitting code for me to review that is far from finished and that I would never consider "done" myself. This is not really improving over time. Combine that with some's tendency to arrive at 0930 and leave at 1600 and you get an impression of the level of professionalism I have to deal with.

I have been a freelancer for years and I was growing less, had less talented people around me (as I said my MT colleagues are great) but I felt like I made a difference every day. Today I produced nothing of value, was an inadequate leader and probably showed a lot of weakness in visible distress over the situation. I am tired. Do you have any advice? Much appreciated.

2
  • Have you considered trying to get people to pair up? Even if you have two less than great coders, together they may push each other to produce better code, or catch more errors, or do more testing. Alternatively, just insist on code reviews, and hold both people responsible if code isn't production-quality.
    – DaveG
    Aug 7, 2018 at 14:26
  • Do you have any advice? Can you edit your question to be more specific about what you're seeking advice on? Advice on how to quit? Advice on improving your team? Advice on your own management skills? You've listed several pain points but you should only have one specific question so your post isn't too broad.
    – BSMP
    Aug 7, 2018 at 16:27

2 Answers 2

3

You need to split yourself in half. In all seriousness you need two roles here. 10 developers is a lot of people to manage and you didn't mention QA or other roles. You need a technical lead that can be the go to for all technical questions and approval of code changes, while you focus on the larger more strategic initiatives. I would go so far as to say you need 2 teams under you, each with a leader and then you.

This may be a tough sell, but is part of growing and becoming better as a company.

Also consider implementing Agile. You don't mention that here, but Agile puts more ownership on the team for what work is being done, by whom and to what quality level. The 'team' meets daily and ensures that people are on track and working on the right prioritized tasks. Your role at first may be to keep priorities sorted, but really that should be a role on the team that acts as a proxy to your product/marketing team.

Good luck you seem like a manager I wouldn't mind working for, and yes, I am probably twice your age too. I have not worked for a manager older than myself in possibly 20 years. I have also managed a small team. There are bad days and good days, lean on those close colleagues on those bad days and see if you can expand your team to include some leadership under you.

0

Do you like your work environment? If yes, you need to make things change. If no, simply quit. (I lean on the yes, given that some colleagues as friends.)

Talk to your manager, or as you did not say you had one, the CEO/CTO or, as a last resort, the management team. Prepare a report with facts and numbers (time spent on futile tasks, time lost, etc) and list the issues you encountered. Also prepare a set of solutions to those issues, to show that you do not only complain but also want to improve the situation of the company.

In your report, present the facts, not how you feel about it, and specify that even though you like your job, it is not humanely possible to keep going. To make the change possible you'll need the support of the people above you first, then your team.

Maybe your team also needs a reminder, passive (take a week off so they'll learn to handle themselves?) or active by convening of a meeting together and presenting the facts.

Not the answer you're looking for? Browse other questions tagged .