Ask HN: How to deal with 0.1X programmer colleagues?
51 points| startupfreak | 2 years ago | reply
In the last sprint, I chalked up 41 story points. The rest of the team (3 other devs and a mostly hands-off tech lead) collectively achieved 9 story points. That's 1 medium-sized ticket each over the space of a fortnight. Everyone has a good excuse, but they ALWAYS have a good excuse.
It's driving me nuts. I'm a good coder, but this isn't about me being good, this is about them all being, on paper, completely ineffective. No one inside or outside the team seems to be batting an eyelid about this. I feel resentful and... confused.
It's hard to stay motivated when the bar is so low, but I would feel guilty slacking off all day. What do I do?
[+] [-] neilv|2 years ago|reply
* If you're relatively new, are they giving you starter tasks?
* Are the other team member's tasks harder, less-straightforward, involving less-familiar tech, slowed/blocked by dependencies, less amenable to just crunching through mechanically, etc.?
* Are the other team members doing higher-quality work? (A big corp. might have very different ideas of what software engineering is than you did in a one-person-tech-team startups. Are you a one-person tech debt machine?)
* Do the other team members have more responsibilities separate from this code?
* Is the team in a catch-your-breath period, after a big push to ship something, and people also taking summer vacations, etc.?
* Is there a morale problem going on that you haven't picked up on? Were there layoffs recently? Or do people know something you don't know, like that the project is going to be canceled? Is this a team or company that people want to be in? Is everyone interviewing or practicing Leetcode?
* Why is the tech lead or people manager not on top of this, if it's a problem? (Or maybe they are, but they're handling it discreetly, one-on-one with people, rather than embarrassing people in front of the team?)
These questions also suggest one way to broach the topic with a tech lead or people manager, if you don't yet know whether it's safe to speak more candidly: you could ask how your work is fitting the conventions of the organization, are you blowing through tasks too quickly, is there something you should be doing differently, etc.
[+] [-] fnimick|2 years ago|reply
[+] [-] icedchai|2 years ago|reply
[+] [-] Fire-Dragon-DoL|2 years ago|reply
In this case the problem could be just miscommunication, it's worth asking some help from the team
[+] [-] that_guy_iain|2 years ago|reply
[+] [-] agentultra|2 years ago|reply
I can't tell if that's what you're doing but it was a good lesson for them to think more strategically and be focused on what matters to the team and to them. Being able to deliver and make progress at a reasonable pace is a good thing but, in our case, delivering lines per hour was not the metric we were measuring.
Maybe what you need to do is have an honest conversation with your team or team lead. What does the team value? What are the expectations?
Update: fixed spelling/grammar
[+] [-] sambeau|2 years ago|reply
When a new coder joined our team they always got loads done as they were left to completely concentrate on their work on the board. Meanwhile, the rest of the team where dealing with support requests, sales requests, pulling stats from the database for random execs, security audits, fixing the build system (again), CV reviews, design documents, code reviews, customer requests, 20 email or slack chains that they are somehow on, invites & menus for the staff party, …
[+] [-] itake|2 years ago|reply
It probably isn’t number of JIRA tickets.
[+] [-] snapplebobapple|2 years ago|reply
[+] [-] that_guy_iain|2 years ago|reply
They don't seem to be bothered about promotion. More that they think they're doing a lot more work than everyone else.
[+] [-] ghotli|2 years ago|reply
The phrases 'driving me nuts' and 'them being completely ineffective' are what reinforce this view, to me at least. They may be working far less hard on the code than you are, but it sounds to me like you're working far less hard on being a good teammate and given your history that may take time.
To be completely honest it sort of sounds like you're taking stimulants and they aren't, at least from the way you wrote this up. Get in, get good work done, get out. If you work remotely, all the better. Do some laundry, read a book. Meet and exceeding expectations sounds like about half of what you're getting done and getting worked up about (which I assume is tanking your mood into your evenings).
Focus on the soft skills and be a part of raising your team's morale (yourself included) rather than torpedo-ing it. I suspect the look on your face in some meetings says everything you wrote up here already.
[+] [-] qrohlf|2 years ago|reply
Attempting to create accountability or meaningful changes to velocity in a “don’t rock the boat” org is usually a one-way ticket to workplace politics hell. If you value building things, small-startup style, you will likely want to avoid this.
Finding a good manager who is willing to give you special-mission style projects to execute on quickly and effectively is often a far better strategy than trying to deal with widespread molasses speed dev culture. Even better, typically, is moving to an organization where the culture and peers match up better with your desired speed and quality of execution.
[+] [-] icedchai|2 years ago|reply
[+] [-] ryandvm|2 years ago|reply
The startup pace can be grueling, it can have terrible hours, it can be unrewarding, but at least you're always working. At big orgs with plenty of funding you just sort of marvel at how so many people can accomplish so little. Everyone is always blocked by another team or some arcane bureaucratic process. It never ends and it never gets better.
The good news is you're probably well compensated and have complete job security. The bad news is you're at heightened risk for existential crisis.
[+] [-] noirbot|2 years ago|reply
Ironically, part of the point of having so many people accomplish so little is agility. It's the HR equivalent of owning a gigabit internet line when you're mostly browsing HN and checking your email. Most of the time, it's a waste and no doing anything for you, but when you need it, you don't want to be calling your ISP to try to upgrade. Having tens of "hot spare" engineers who are already used to the product and system who can jump on a big product need on a week's notice can be worth paying them the rest of the time to do very little.
It doesn't mean you're going to feel like you're solving amazing problems every day, but it doesn't mean those other engineers aren't sharp people who can get through a meaningful ticket when it needs to be done. They just know when it doesn't need to be done.
[+] [-] brd529|2 years ago|reply
[+] [-] Apreche|2 years ago|reply
Your colleagues have the right attitude. They are doing the absolute bare minimum to collect a paycheck and go home. I suggest you do the same.
Caring about your job is only acceptable if your labor is sufficiently rewarded, you own the company, or if it's some kind of non-profit or public service job that actually benefits society. If you're working for a for-profit organization, the goal is not to work hard, but to be exploited as little as possible.
[+] [-] CookieCrisp|2 years ago|reply
[+] [-] michaelmior|2 years ago|reply
This suggests that it's unacceptable to care about doing your job well because you enjoy it or simply because your morals compel you to work hard at what you do. I don't think there's anything wrong with someone choosing to work hard for these reasons if that's their choice.
[+] [-] ojhughes|2 years ago|reply
[+] [-] neilv|2 years ago|reply
We don't know that. That's one stereotype theory that comes to mind when we hear "big company", but that's not the only plausible explanation.
Also, some people told to do the bare minimum at their jobs will think "Alrighty!" But the same advice could be very counterproductive for people who take pride in their craft or professionalism, or who want to see the mission happen. Those people should be nudged towards improving their situation (either at the current place, or somewhere else), not destroying their strengths.
[+] [-] Arch-TK|2 years ago|reply
[+] [-] agg23|2 years ago|reply
Ended up horribly burnt out, to the point that I'm still struggling with the idea of working 2 years later.
[+] [-] basicallybones|2 years ago|reply
This is the time to work on yourself. Do not let your team change you or slow you down. Do the work required, improve your skills, and go find a better team.
[+] [-] basicallybones|2 years ago|reply
Under this loser/clueless/sociopath framework, the skilled engineers at many organizations (including yours, it seems) simply are highly paid "losers" with cushy benefits (I do not mean this as a personal insult!). Your colleagues may have an experience-driven grasp of this and are acting rationally, in a way.
[+] [-] n_time|2 years ago|reply
How do you get things done in a larger organization? At AWS it's solved by having APIs and documentation for everything. This leads to a janky UI, a lot of redundancy in their systems, and a pretty bad work environment from what I hear.
In a lot of technical organizations, this problem is solved instead informally through relationships between members of the organization. You want to get something done outside of your constrained contexts? You'll probably need some relationships. Getting a lot of cards done is great, but if you're pushing too hard all the time you're going to sour those relationships.
What I'm saying boils down to this: being a developer in a large organization is about 1-3 parts coding to 7-9 parts communication and relationships. Further, if you spend time communicating you can often realize that the feature you're implementing was already implemented two years ago and there's just a regression that's caused the line of code to no longer be executed.
You can say fuck it to the communications with your peers if you'd like. However, keep in mind that most of your jobs as you become senior are going to come from referrals from former colleagues. Your boss right now isn't going to help you get your next job–the people sitting around you might.
Consider reading [non-violent communication](https://www.amazon.com/Nonviolent-Communication-Language-Lif...).
[+] [-] phoe-krk|2 years ago|reply
You're not working with 0.1X colleagues, you're working at a 0.1X company. If that's too slow for you but acceptable for your manager, talk with them about it; in the best case, consider yourself free to spend the henceforth-saved time doing something else.
[+] [-] mettamage|2 years ago|reply
[+] [-] crop_rotation|2 years ago|reply
[+] [-] WhatsName|2 years ago|reply
Having worked both at startups and large organizations, I can tell that there are two extremes and neither are healthy.
It seems like you got used to the constant crunch time that startups use to burn faster through their usually young human resources. From my experience, noone can sustain that pace without getting burned out or/and (willingly) compromising on their spouses and personal connections outside work.
Looking at the bigger picture you might realize that there are different point of views what progress means. In big corp it's usually about getting rid of/around obstacles, while startups focus on growth, happy VCs and other metrics that mean very little to a big corporate machine that by itself got enough intertia to keep moving even if it doesn't hit those metrics.
Conversely if your current business is running on billable hours. Finishing earlier and providing unrealistic client expectations might activly hurt your employer.
[+] [-] sonicshadow|2 years ago|reply
[+] [-] JacobDotVI|2 years ago|reply
[+] [-] jrochkind1|2 years ago|reply
So I agree with you that "just do less" is not a good answer, and will not actually lead to satisfaction. The risk is not only guilt, but even worse, the soul-destroying feeling of being a useless person just keeping a seat warm. Although I agree with another commenter that doing things like learning new technologies and reading and commenting on Hacker News is "work" that you can definitely allow yourself to do if you would enjoy or appreciate it. If you start resolving somewhat fewer story points but still way more than anyone else, nobody is going to notice/call you on it.
But meanwhile, you are doing work you enjoy doing, what exactly is the nature of your annoyance? Just that it doesn't seem "fair" that they don't work very hard? I think you have to get over that. It's not your job to discipline them, and who knows how hard they are working (maybe they work very hard, they just aren't very skilled) or what else they have going on in their lives that may be very hard and distracting them.
If you would just appreciate working on a team with other people at your level you can collaborate with, if you would just enjoy that more -- you aren't going to get that on this team. That situation is really not going to change on this team, and there's no point in trying to. You will have to find another team/job/role (maybe at the same organization, possibly not) to find that.
Perhaps there is someone on your team who would like to learn from you and get more productive? You might enjoy mentoring them if so, including even pair programming etc.
If you can't control your disdain for the other team members, you will have to find a new job. Neither you nor they are going to be happy if it becomes clear you think they are incompetent slackers.
[+] [-] onion2k|2 years ago|reply
I wonder if you picked up any bad habits, like forgetting how to work on a team.
[+] [-] superchroma|2 years ago|reply
At no point in your career is holding your peers to account part of the role of a developer. Get that through your skull quickly.
Either find a job where you're under the hammer more and the comp is what you want or learn to live with this. Or work on your own projects on the side. Do anything but what you are doing.
The best employees don't get promoted or celebrated for working super hard. I've never yet met one who was.
[+] [-] hoosieree|2 years ago|reply