Hacker News new | ask | show | jobs
by LAC-Tech 1250 days ago
I wish developers talked and asked each other for help more. Not just juniors but seniors too.

This idea that we're all supposed to solve problems in a shared code base completely independently and we're wasting time helping/asking for help is poisonous.

Things get solved lot faster when someone comes in with a different perspective. And it keeps communication going.

Of course maybe everyone else is a lone genius and I'm the problem. Maybe. But I kind of doubt it.

4 comments

It's also just silly to get stuck on little things for too long because of ego. I've done it, and honestly it still happens sometimes, but it's so freeing to not have to feel that pressure.

In one of my previous jobs I had a great relationship with one developer in particular. We've both seen great work from each other so knew we weren't just coasting but it took one of us to just say, hey dude any idea why this isn't building? I took one look and it was something obvious - easy fix and he could move on. That didn't make me feel like a genius, it just made me happy to know there was such trust. He knew I wouldn't judge him and since then the back and forth was super simple. Greatly improved both our work, since now it's also way simpler to ask eachother for input on other things.

Agreed, but this is a cultural issue, which has a lot to do with management constraints. I've worked at places where everyone is teaching everyone else at all times, and therefore where everyone grows, year to year. But in those places, there was very little practical competition among developers. They where either all consultants, or they expected their results to have more to do with team performance vs individual performance.

On the opposite situation, when programmers are stack ranked, or where it's otherwise clear that they should be playing zero sum games, nobody asks questions, and nobody answers them if they are asked. Tasks that are important enough to lead to chances of advancement are fought over. Everyone wants to build infrastructure for other teams, but using other team's infrastructure is admitting that they are going to get the up level and not you. In any of those world, every programmer is an island, and people get better far slower.

Only in the middle, where there are few incentives, one can change a culture from one side to the other. In those cases, it's easier the more senior you are: No better way to get juniors to ask for help when they see seniors asking for help in public. Many a senior engineer is not socially aware enough to try techniques like that though.

I mentioned this elsewhere in this thread, but something I've seen first-hand is that people sometimes with less time in the industry will assume someone else more senior "knows everything and shouldn't need help". So you get this imbalance of knowledge and it becomes "why don't you know this already?" instead of "what can we do processes/documentation/team knowledge-wise?" to bridge the gap.

I think once you spend enough time in the industry, you learn that even younger/more "inexperienced" people could have better skills or knowledge of certain things (certain types of message queues, certain parts of a network stack, React, etc etc) than someone with more time. It's important to figure out how to balance that. But many people kind of gloss over it or frame it as "well why _don't_ you know this??"

Solving things faster is not always the goal. I make a point to fully "rubber-duck" the problem before asking for help. Is this slower, yes. Does this build deep knowledge in a way that is superior to just being handed the answer, absolutely. Knowledge comes from direct experience - if you always rely on someone else's direct experience to get the job done, you might move faster in the short term but are missing out on a vital part of learning.