Live data from Hacker News

The worst programmer I know

dannorth.net

151–160 of 668 posts

Re: The worst programmer I know

#152

Reminds me of an anecdote about Bell Labs. Someone calculated who the most productive employees were (based on things like patents received), and found that many of them would eat lunch with the same person. That person wasn't individually very productive, but he would always ask thoughtful, compelling questions that in turn made his coworkers measurably more productive.

This type of person needs to start a company, they never get paid a fair wage otherwise

Re: The worst programmer I know

#153
post #107

Earlier quoted context omitted.

I can relate though I wish I could get into a position that I could say such things and not get fired. In some circles "This change is hard to me to read and understand" would be interpreted as "I'm an aging dinosaur who doesn't understand this new tech; you youngsters are too clever for me." (though I realize how completely wrong it is). I'm 33 but I feel like I already have to make an effort to avoid the dinosaur l…

I’m 10 years older, my experience has been that getting to ask stupid questions is one of the joys of age/seniority/security. Very often everyone else in the room has the same stupid question but you get to look like a stone cold genius because you were willing to risk looking silly.

Don't mislead yourself, that benefit comes exclusively from security. Age and seniority only contribution is some weak correlation to security.

Re: The worst programmer I know

#154

I wish I could pair program more. I have so much knowledge to give other members of my team. Domain knowledge, programming knowledge, common pitfalls, etc. You get a code review pass at the time of writing the code, and it means you have more opportunity to change things for the better. Once it's written there's not much appetite for drastically changing working code during code review unless there's a really good re…

Frankly it sounds like you need to make this happen. I don't know your company culture but at places I've worked Staff+ engineers aren't meant to wait around for permission to be catalysts and mentor other engineers.

Re: The worst programmer I know

#155

I wish I could pair program more. I have so much knowledge to give other members of my team. Domain knowledge, programming knowledge, common pitfalls, etc. You get a code review pass at the time of writing the code, and it means you have more opportunity to change things for the better. Once it's written there's not much appetite for drastically changing working code during code review unless there's a really good re…

Yes very similar. It makes me very happy when I'm called over by a junior proactively. Not mainly because I'm able to help them, the real reason is that they sensed something about the problem that needed a second pair of eyes, and they didn't waste time. That's them gaining intuition and experience and I get really happy for them.

I don't actually say it though because I don't know how to express it.

Re: The worst programmer I know

#156

It sucks being that person today because everything is about optics and that person will get purged. I know from experience. Team players, mentors, software architects; they tend to be tossed aside to make room for coders who can churn out large amounts of code, even as the company's capacity to deliver and maintain features declines over time due to tech debt. Managers always love a developer who can consistently wr…

>Managers always love a developer who can consistently write 5000+ lines per code per week

What managers care about this at all?

Re: The worst programmer I know

#157

It sucks being that person today because everything is about optics and that person will get purged. I know from experience. Team players, mentors, software architects; they tend to be tossed aside to make room for coders who can churn out large amounts of code, even as the company's capacity to deliver and maintain features declines over time due to tech debt. Managers always love a developer who can consistently wr…

Depends on the company and management. Google codifies this role to some extent as Tech Lead, which is an engineer expected to act as a force multiplier and mentor more than an individual contributor. It doesn't always work as designed (ok, maybe rarely works as designed), and TLs can get too bogged down in cat herding, planning, and bike shedding to actually work as an engineer. But at least the spirit of the role i…

It also doesn't get people promoted to that position just because that's what they're doing. Because politics.

Re: The worst programmer I know

#158

Earlier quoted context omitted.

> Management can't, at scale, consider such factors. Why not? Peer feedback is a prime component of most performance/rewards discussions at companies. Work outside of points is certainly not a new concept. A manager's job is to distill this information amongst others to their own management chain at the right time. > We don't have the counterfactual where Bob didn't ask the questions, and Alice did great anyways. Bob…

It isn't wrong, it's right; because pontification of things (in a vacuum) yields no results. I cannot sell my customers Bob's ideas. All I can sell them is software that does something. The people that can do this without needing Bobs around are the people that will be rewarded.

Well that software you sell them is fundamentally better and more maintanble because a person like Bob is around to give directions.

> The people that can do this without needing Bobs around are the people that will be rewarded.

Unicorns are few and far between, but sure, you do you.

Re: The worst programmer I know

#160

Earlier quoted context omitted.

I believe that’s the conventional approach in Python, though? It is a duck-typing language, try-except is a legitimate way of seen if an operator works on an object, and objects should do sensible things with operators. The funny example is that the hasattr built-in just tries to getattr, and then catches the exception to tell if it has the attribute.

If you are calling something immediately, a try-except is ok. If you are calling with a try-except just to simulate hasattr or getattr then why do we have the built-ins in the first place?

“Just try and then handle the exception” is a pretty weird paradigm for this sort of thing, to those of us who come from more typical languages. So I suspect they just included hasattr to make us more comfortable.
Post reply on HN