Live data from Hacker News

The worst programmer I know

dannorth.net

381–390 of 668 posts

Re: The worst programmer I know

#381

Evaluating someone’s performance, especially, software engineers by non-tech people might produce dramatic results. Let me tell you a story about a friend of mine, codenamed tommy . Tommy was an IT guy with incredible skills in networking. He moved to an energy company, fully-owned and operated by the government. Just a few weeks from his arrival, they had to rebuild the entire network from scratch with new, modern,…

Was Tommy upset?

Absolutely! But after a while he knew why there was no kind of reward whether in the form of a financial compensation, a promotion or even additional days of vacation. Simply because the law of work does not have a section for exceptional performance/achievement.

Re: The worst programmer I know

#382

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…

this post is really strange because it actually describes a good environment - code isn’t changing in code review except for really good reasons - people who need help are reaching out - projects that need help get additional help brought in what else are you looking for? this example is about as pair programming as it gets at most places. they’re called silos when people don’t like them and layers of abstraction oth…

I don't think code reviews are the _best_ way to teach. Because for a start, you're usually working with a complete task. Someone can have a perfectly fine pull request that implements the feature or solves the bug, but it might not be the best way of going about it.

Now, as a reviewer your spidey sense tingles and you get the feeling there's a better way. But now it's significantly more effort to pull that change apart or start from scratch and experiment with a new approach, then write this all up on the pull request with the caveat "but what you've written works, so in the interest of time we can merge this".

Pair programming would get you on the right track from the start. You are able to assist an inexperienced dev and guide them through the process step by step. Imbuing your knowledge, raising questions, suggesting fixes. This is exactly what the blog post describes. The developer was seen as unproductive because their time was spend pair programming rather than directly doing the work themselves.

I don't see how my post comes across as "I'm smarter than everyone". I know things that less experienced developers don't know, and that's a fact I know from talking to them and reviewing their code. But the culture just isn't there to be able to spend significant portions of my day effectively being their teacher (which I would love to do!). Instead it's often "the blind leading the blind" while the more senior members of the team are off delivering important projects and not having the capacity to imbue their knowledge onto the less experienced members of the team.

It's a culture thing and I wouldn't say it's a good environment for nurturing new staff. Spending 2 hours in a Teams call or at someone's desk is uncomfortable for both parties in a company that doesn't encourage this sort of collaboration. And so there's a sense to not "waste someone's time". The person you're helping sees themselves as a burden rather than seeing themselves as a student. And as a teacher, you're conscious of the other work you're supposed to deliver because it's not expected for you to be spending significant parts of your day pair programming.

Re: The worst programmer I know

#383
post #226

Earlier quoted context omitted.

> "This change is hard for me to read and understand" Believe it or not, I consulted at one place where the manager decided I was the problem because I was consistently assessing problem code and team processes in similar ways. She asserted that "everyone else understood", even when they plainly didn't understand but where just going through the motions. Said manager had a number of other issues as well. Worst gig I…

I would start being less diplomatic once I get the hunch polite phrasing isn’t getting through - “this code is badly structured, brittle and will make debugging harder”. As programmers being tactless is expected so might as well use it to your benefit.

In this case, I could have, but I felt my time was better spent thinking about why things were complex and hard to understand and made notes on that, mostly for my future self. Whenever I found the opportunity, I would include some of the reasoning and explanation, in written form, in my feedback. I didn't get much out of that gig, but I did end up with several thousand words of ideas and observations. I wouldn't be surprised if some future programmer on that project ran across something I left behind and found it useful, or at least comforting.

Edit to add: in 1:1s with the manager I was more direct. About the best I can say about that is "at least I tried".

Re: The worst programmer I know

#384
post #221

Earlier quoted context omitted.

(I am from Europe, so I have a fairly good idea of what Unions can do, also thanks to having lived and worked in two different countries). I am not against Unionizing "per se" but the role of Unions has never been "tell the management how to run their business". There has been some cases of (smallish) company being "acquired" by their own workforce, and the Unions might have helped with formalizing the deal, but this…

Unfortunately union / labor movements in the US suffer from a big problem: due to historical circumstances they’re very combative. The labor movement here never grafted the idea of being business oriented on behalf of workers into the movement (like in Germany) rather, they treat the business as the enemy pretty much from the outset. Some of that is indeed earned by the businesses reputation, but ultimately this is w…

That is because of historical circumstances, but it continues to this day because it's encoded in the law; we don't have codetermination or sectoral bargaining.

Re: The worst programmer I know

#385

Earlier quoted context omitted.

Unions may be different in your part of the world. In America, it's one of the only ways for blue collar or other production-oriented workers to have any degree of leverage at the negotiation table. We are treated like cattle in the workplace, and though unions come with their fair share of problems (due to it being yet another leadership structure to work within), the idea of workers holding power as a group is esse…

It’s funny you mention it as a charisma roll, because it’s not really a roll, is it? High charisma is high when it’s with your interviewer, when it’s with your peers, when it’s with your business stakeholders. High charisma is useful in getting a job, in arguing for addressing tech debt, in pushing back on unreasonable timelines. Why would you not consider charisma in a job interview?

Why should you have to spend your time on being charismatic with your own management if your job duties require doing it with everyone but them?

Re: The worst programmer I know

#387

Some 20 years ago, I worked at a moderately large software company that sold a desktop application for Mac and Windows. The team had mostly Mac experience and they were just getting their feet wet with Windows. So naturally the Windows version had some problems. At the time, I was known as a "Windows expert", so they hired me to help improve that version and help the team get more familiar with Windows programming. I…

I hope that feedback didn't discourage you from continuing with your approach to software development and teamwork.

It's easy to say that until it affects your paycheck.

Re: The worst programmer I know

#388

Earlier quoted context omitted.

Was Tommy upset?

Absolutely! But after a while he knew why there was no kind of reward whether in the form of a financial compensation, a promotion or even additional days of vacation. Simply because the law of work does not have a section for exceptional performance/achievement.

must’ve been Tommy’s first rodeo lol

Re: The worst programmer I know

#389

Earlier quoted context omitted.

Just say whatever point it is you are trying to make instead of making people guess

I'm actually quite enjoying how divisive a simple quote can be. I wonder how often I've made a comment and gotten no engagement. This quote seems to have gotten more engagement than the original comment. And quite emotive engagement. Makes me wonder what that means. Is it genuine curiosity? Or is the quote saying something that the original commenter couldn't see themselves? It's interesting they suggested if I was i…

> I'm actually quite enjoying how divisive a simple quote can be

The word for that is "trolling".

> Importantly, they did not ask me. They told me. That too tells us something about what pairing experience with them would be.

I asked and you avoided answering. What does that tell us?

Re: The worst programmer I know

#390

Earlier quoted context omitted.

why? most code is not some complex algorithm where 100 lines of code can take years of genius work to figure out. Unit tests, for example, have near linear proportionality between LOC and utility. Same for comments, same for standard business logic.

Nonsense. Most people write pretty useless unit tests. Gotta get that test "coverage" high though!

Unit tests are useful if you write them alongside new code, but then become not useful since if you never change the code, they never break, and so are wasteful.

It's better to have tests more sensitive to failure, like integration or regression tests.

Post reply on HN