Live data from Hacker News

The Worst Programmer I Know (2023)

dannorth.net

321–330 of 385 posts

Re: The Worst Programmer I Know (2023)

#321
post #98

Honest Question: Are there any metrics around developer productivity that actually work? Reading stories like this and others over the years I've come to the conclusion that you simply can't measure developers productivity on a granular level, it's just about the final product. However, I would love to be proven wrong.

I don't think there are realistically any good "individual" productivity measures that work across a broad spectrum of employees, even when all of those employees are in the same role. Every team I've ever been a part of, even before being a developer has been made up of people that all contributed to the overall project in different ways. Imagine trying to measure all workers on a car assembly line by the number of…

It's prone to its own biases, but I always figured the best metric was simply to ask how others on the team (or coworkers you need to work with) think of you. Your lead obviously has a bigger sway on this, but overall the idea is that you're generally doing a good job if the people around you overall see you as productive and feel more productive when working with you.

I can only really see an exception for some gnarly Principal who's off deep into some very specific problem where this evaluation would fall apart. But such an individual problably isn't one you're worried about productivity with.

Re: The Worst Programmer I Know (2023)

#323

Earlier quoted context omitted.

At my last gig I spent the last year and a half as staff engineer and made almost no commits because I was constantly writing proposals, defending them to execs, doing architecture reviews, doing design consultations, and planning long term responses to large incidents. I know for a fact that I brought a ton of value to the company but it was very uncoupled to commits. I didn’t really like it because I need to code,…

Writing proposals, doing architecture reviews and doing design consultations sounds to me largely like busywork and bureaucracy rather than real and productive work. Maybe in a business where the cost of iteration is very high, it makes sense to do this. But in a good business you should not be doing architecture reviews and writing proposals, you should be doing refactoring and creating prototypes, respectively.

Funny, I've evolved the opposite attitude over time.

Solving business problems using bespoke software solutions surely is the absolute most expensive option on the table, and should be aggressively avoided unless no other options are available, AND the problem is in a domain which is a core competency and market differentiator for your business.

The process of figuring out what your company needs, and how best to solve that problem long term, is dramatically more valuable to a business than software/technology implementation.

Re: The Worst Programmer I Know (2023)

#324
post #5

Earlier quoted context omitted.

There are different types of managers. I'd use the term technical lead for tim. Someone needs to maneage product delivery. Someone needs to manage the backlog. Someone needs to manage the training of everyone. Someone needs to ensure people are getting setup for their next job. Someone needs to ensure everyone is paid right. Someone needs to handle it when two people don't get along. The above is a small subset of th…

Not to be a total fucking asshole... but: > Someone needs to manage product delivery: You mean the 2-week delivery cycle into an automated CI/CD? Good lord I hope they don't have a useless scrum master too. > Someone needs to manage the backlog: I'm curious what input the manager has into this besides reading through a list of engineer curated items. > Someone needs to manage the training of everyone: Tim seems to be…

> You mean the 2-week delivery cycle into an automated CI/CD? Good lord I hope they don't have a useless scrum master too.

If you can automation that job good for you. However some people work in a regulated industry where not getting FDA/FAA and their equivalent for every other country in the world before shipping software means someone will go to prison.

> I'm curious what input the manager has into this besides reading through a list of engineer curated items.

They better have a lot. You might call it product owner (in scrumm), or some other title. Every project I've never worked on has more great ideas than they can invest in today and so you need to figure out what the priority is. It better not be only engineering that has input to this - marketing (a very different skill from engineering) needs to have input, as does finance...

> Tim seems to be handling that. [training]

It is normal to handle more than one management task. I doubt Tim is handling harassment training. This is the main job of HR (not making sure people are paid as you seem to think)

> Hey Tim can you id the asshole? How comfortable are you hiring/firing?

probably not. As one manager of mine told me, he always knew long before the team if someone would work out. The team is close, knows that person is nice (most people are nice), and seems to be smart. If you are the first to notice someone isn't getting up to speed quick enough you are the "asshole" that needs to be removed from the team, an outside manager will be much quicker because they are removed from personal contact with the person in question.

Re: The Worst Programmer I Know (2023)

#325
post #263

Earlier quoted context omitted.

> Leetcode is bad, but it’s bad in the sense that it errs too heavily on filtering out false negatives But, it doesn't. It filters for something orthogonal to development, which is ability to obsess over clever algorithmic solutions. Ok, well my company does HackerRank instead of LeetCode, maybe LeetCode is magically better, but I'm not seeing anything that tells me someone who grinds LeetCode is actually going to be…

It only appears that HackerRank/Leetcode isn’t good at filtering because you’re viewing it from your perspective, and not the perspective of the entire population that is tested. To you, the predictive power at the top tail end of the distribution is low, because you’re thinking of two strong developers Alice and Bob. Alice happens to know algorithm X and would pass the test, whereas Bob does not. But that’s not the…

> It’s absolutely fantastic at filtering the lower 95% of applicants because they will _never_ be able to pass.

This is the part I disagree with. It hasn't been true for years. Anyone with the free version of ChatGPT can pass a hacker rank today.

> but that doesn’t matter to the outcome of your company

It does for mine, because we've hired all of the good developers that get through the process you're describing and it isn't enough. We actively moved away from what you're describing and turned the interview into a 2-3 hour pair programming session where the person completes a mini version of a ticket.

This has much more predictive power than what you're describing.

Re: The Worst Programmer I Know (2023)

#326

Earlier quoted context omitted.

Not to be a total fucking asshole... but: > Someone needs to manage product delivery: You mean the 2-week delivery cycle into an automated CI/CD? Good lord I hope they don't have a useless scrum master too. > Someone needs to manage the backlog: I'm curious what input the manager has into this besides reading through a list of engineer curated items. > Someone needs to manage the training of everyone: Tim seems to be…

> HR has but one fuckin job as far as I can tell. Yes. Protecting the company. As long as anyone's paycheck doesn't have a slur actually written on it, that's roughly where HR's interest ends in the matter. Don't feel too called out. If I thought you were wrong on anything else here, I would say so.

HR generally gets a secondary job of checking with other companies are paying someone for similar work. The primary job is protecting the company as you noted. (though paying someone a competitive wage protects the company from people leaving for too little, or the from paying more than they must)

Re: The Worst Programmer I Know (2023)

#327

Earlier quoted context omitted.

In other words, the "10x programmer".

Not really; as a 10x programmer, to some, improves outcomes by 10x regardless of the team members and project status, but LLM and agents built on it, may soon qualify.

The only thing more wild than thinking 10x devs is more than corporate speak is thinking that LLMs could be 10x devs.

Re: The Worst Programmer I Know (2023)

#328
post #292

Earlier quoted context omitted.

Until a coworker needs to debug a specific edge case that was too specific for the single expression, and it all has to be rewritten back to long form. Dense code is not always better and sometimes makes a code base incomprehensable.

I've experienced this watching a coworker debugging that sort of code, he had initially written it all as a long chained statements, then had to undo it all to allow him to debug. Once it was extracted it could be debugged and step through it, great! Once he was done debugging it he put it all back to how it was originally... The mind boggles.

Ahh, the fabled "write-only" code.

Re: The Worst Programmer I Know (2023)

#329
post #89

Earlier quoted context omitted.

> But if it's the case that all day, every day there's at least one person on the team who is blocked, then you don't need a "Tim", what you really need is a new team, because that's an unacceptable level of blockage. I don't think your opinion is educated, or based on any experience working on a functioning team, let alone a high-functioning one. Any team working on non-trivial projects does stumble upon critical bu…

> I don't think your opinion is educated, or based on any experience working on a functioning team, let alone a high-functioning one. That's an incredible assumption about me. What is your empirical justification for such an insulting claim? > Any team working on non-trivial projects does stumble upon critical bugs that are hard to catch or features that are faster to roll out if a subject matter expert sits down wit…

> That's an incredible assumption about me.

Not really. You introduce yourself to the world by the statements and opinions you express. Advocating for firing everyone in a hypothetical team because of a hypothetical scenario where hypothetical team members help each other out is a business card of your level of experience, expertise and awareness.

Re: The Worst Programmer I Know (2023)

#330

Earlier quoted context omitted.

How was that society taught this? Or how did they come to know this?

What are you asking

I’m not asking you if you read carefully. This is not to be mean, I asked the GP specifically because they demonstrated that they understand the spirit of what I am talking about. Your own confusion is stemming from something else, not my question (you don’t even recognize my question, as evidenced).

For example, who raised you? See, that’s a question you might not understand but it’s the spirit of my original question.

So what am I asking?

Post reply on HN