Ask HN: Why am I underperforming?

2 points by dublinclontarf ↗ HN
I've recently been told that my performance is not up to expectations, that the number of features I'm getting merged into the develop branch is too low (and not of significant complexity) in comparison to my colleagues(it's not clear whether this is fact or opinion).

The concern my managers have is that I am very productive when I have a free hand but seem to progress slowly when I have to interact and integrate with the rest of the team(who I get along well with).

For example, in the React project we recently began I was quite quick in getting the UI components built and semi functional, progress was fast and noticeable(I was easily the highest performer). The same was true when we did a short practice React project prior to starting this one.

Now that we have formalised a develop branch, each feature begins as a ticket(pre-decided and handed down), features are then worked on as a branch and must be rebased before being merged. Only our CTO has merge abilities and he reviews all tickets before doing so.

It can take days to get branches merged as the CTO is quite busy and codes himself (on a different project)as well as other non-coding CTO tasks, if comments are made they must be resolved or addressed before moving ahead. Nothing gets accepted without tests (actions, reducers, ui components, integration tests etc.) and none of this code is currently live.

I do move along a lot faster when I'm not attempting to get features merged one ticket at a time, waiting for feedback, and using test driven development etc. although my code is not unreliable or brittle.

I got the impression that merely having comments made on my pull requests was not a good thing (a sign that I wasn't doing things right). And when my approach to solving an issue is different from the CTO's it's considered wrong.

I feel that there is something wrong, not simply with my performance but I can't put words to it.

4 comments

[ 0.27 ms ] story [ 71.3 ms ] thread
My guess your not kissing your CTOs ass enough for his liking. The others probably just mindlessly do what he says and probably even copy his solutions where applicable. Which he probably still complains about.
> I feel that there is something wrong, not simply with my performance but I can't put words to it.

Software devs are funny things and over my career I've seemed to notice that how well you mesh with leaders on your team has a big impact in your future on that team. Fortunately/unfortunately it can be the subtlest of things that leads those folks to support or condemn you in their mind. Once you've landed on one side it can be a real challenge to move to the other.

All this is fairly generic advice because IMO you can't hope to give HN enough context to give you specific advice on your problem.

If I'm right and there's a decent degree of unpredictability in how well you will get along with your team and it's hard to change, then it stands to reason that you should maximize your opportunities at making good first impressions until you succeed.

Metcalfe's law describes the utility of a network: increasing exponentially as more nodes join. Your network of friends and professional colleagues may be the most valuable thing you got from a university degree (if you have one). Challenge yourself socially to strengthen your relationship with acquaintances and make new friends/associates through work and professional groups.

Good luck.

Another possibility is maybe the others are working on multiple items while waiting? or asking for harder items? working more hours on things?
Having a ticket system like this and forcing reviews through the chokepoint of busiest person in the company is pretty stupid, and it's probably putting a lot of pressure on the CTO. If the CTO is under pressure, he will probably be more critical of things than he otherwise would be (even though it makes more work for him).

It's not abnormal to be better at working on tasks with a bit of leeway than on very specific tickets. That said, if you frequently solve problems in a way different from the CTO's preference, moreso than your coworkers, then it's possible that there are some patterns that the CTO prefers that your coworkers have picked up and started using; you might get less hassle if you're doing things in that way, even when that way is objectively worse, because it puts less cognitive load on the CTO.

That said, it's very possible that the company has just gotten into a bad state and everybody's being nasty and over-critical about everybody else. Structuring commits in such a strange and broken way is indicative of other problems, since nobody would make the CTO approve every commit outside of a real emergency situation with tons of broken code being pushed into the critical path. It may just be that the company is going in a downward spiral and you're an arbitrary target for blame for everybody who's feeling the pressure.