Live data from Hacker News

The dispassionate developer

blog.ploeh.dk

101–110 of 262 posts

Re: The dispassionate developer

#101
Last year, I wrote about the prisoner's dilemma of training your employees[0]. As Mark points out, many companies don't invest because they don't find it valuable. What I tried to point out was that big tech companies already _are_ investing heavily in their talent, and especially as these companies start pulling in less experienced people to train up, companies that don't invest are going to fall behind.

I don't know how convincing that argument is, but hopefully realizing how much investment the big tech companies are putting into their talent is eye-opening for some people.

(Note: I talked about investing in junior employees, but the idea applies to all your employees.)

[0] https://hiringfor.tech/2020/09/07/the-prisoners-dilemma-of-t...

Re: The dispassionate developer

#102
post #16

Earlier quoted context omitted.

Taking that a step further, we often actively discourage looking at OSS contributions during resume review for the same reason we don't offer take home interview assignments: it's biased against people who don't have a whole lot of extra time at home. When we have done either of the above, the singles who work part time have a bunch of time to perfect their work suddenly have a lot to show over the single parents who…

Thank you! When I was single I had a lot of free time to tinker and go through coding tests, etc, etc, and cater to whatever hiring shenanigans were in place. First marriage, then a kid, and I find myself grabbing my laptop after work maybe once a fortnight. I'm always "open for new challenges" and I regularly apply to positions in interesting (to me) projects, but more often than not, at some point in their process…

I wrote open source initially because I wanted to skip those assignments but still be fair to the hirers and because it took less time and was WAY more fun than take home tests.

What I discovered was that they'd be willing to make me work 5+ hours on their assignment but wouldn't spend 5 minutes reading my code.

Though it wasn't my intention it inadvertently gave me a quick and easy way to filter companies which actively disrespect candidates' time.

Re: The dispassionate developer

#103
post #88
post #75

Earlier quoted context omitted.

Yes it can tell a lot about people who have the bandwidth to be able to be able to contribute to such. Others may and do have the same level of skill but didn't have the bandwidth to contribute to PRs, so by looking at PRs as an extra we're effectively penalizing those without time, which has the practical effect of biasing us against people with kids, people with a full time job and in grad school, or you name it. W…

>Others may and do have the same level of skill but didn't have the bandwidth to contribute And even more have the potential to become excellent coders but didn't have the bandwidth to develop it. It seems peculiar to single out one quality in particular that sends a clear signal that a skill has been honed on the basis that it took time to hone that skill. All skills take time to develop.

All skills to take time to develop, well said. I am confident that looking at how a candidate interviews will no doubt show the fruits of that time spent without weighting too much the time spent, regardless of whether that time spent comes from contributing to open source, from their full time job, or just studying and honing their skills efficiently under harsher time constraints. We don't want people to target the metric of "time spend coding on OSS projects" do we? I don't.

Besides, having a diverse experience base and pipeline (parents, non traditional developers, non traditional paths to SWE, and even single people with a ton of time and fortune to be able to do things like robust side projects) has served us particularly well in having a team with a wide breadth and depth of experience and viewpoints. Specifically weighting side projects in lieu of technical/EQ interview performance would ruin that in favor of the latter group.

Re: The dispassionate developer

#104
post #76

Earlier quoted context omitted.

> we've had many people in the past who've interviewed very well but turned out to be completely incompetent when assigned to a real project. Unpopular opinion on HN: This is actually quite common when you hire based purely on resumes or credentials. Some people are really good at interviewing and being charismatic enough to convince people to hire them. There are a lot of candidates who can talk the talk but really…

We spent some time on making up a quite simple project with a readme about the tasks to be implemented. It's something that can be done in half an hour when you are fast and we always thought we need to make it a bit harder. Turns out it's good enough to weed out quite many people who can't keep a deadline or don't get their shit together in other ways. From reviewing the code you can judge how people think, if they…

Interesting, could u share a bit more pls?

Re: The dispassionate developer

#105

Maybe it's the jobs that I've worked, or the country I'm in ( UK ). But I've really not seen this shift towards looking at portfolios of open source work rather than CV's. Every company I've worked for has requested a CV, and often does some form of test or in person interview centred around programming problems. The tests vary in quality and depth. I wouldn't think of myself as a passionate developer. I have a famil…

Same here in the US. Forums like HN and /r/cscareerquestions overrate how many people do OSS or care about it. I think maybe 5% of devs I've worked with do anything beyond the 9-5.

cscareerquestions is heavily weighted towards graduates fighting tooth and nail to secure a first job with companies that mostly view them as an undifferentiated commodity. There's way more supply than demand.

It probably is a better way for graduates to differentiate themselves than experienced engineers.

Re: The dispassionate developer

#106

As an engineer in the US who's worked at three very different companies, I haven't seen any of the things that this article is complaining about. While most applications had a space to link your GitHub account, I've never had the sense that a company expected me to have open-source contributions. My co-workers don't do open-source work in their free time, or if they do they don't talk about it. The author also claims…

From the US as well (Austin specifically) and I think there are some grains of truth in what the author describes, but it's not clear whether the author's viewpoint is influenced by the developers that requested paid mentorship or if it's entirely his own.

I've seen what he mentions in regards to self-improvement. Management under a large engineering company I was previously at would encourage self-learning and improvement, but disregarded it the moment deadlines became a concern or if you requested resources for it (e.g budget for tech conferences). They had a lot of long-time employees who were content with mediocre salaries (due to family, complacency, poor marketability/atrophied skills, etc.), so they literally had no incentive to invest in meaningful training for employees.

In regards to the focus on open-source contributions that he claims, I've found that the credibility and clout that comes with being a prolific contributor really only matter online. It most definitely helps you get your resume in the door, but you're still expected to whiteboard some bullshit like everyone else when it comes to interviews. I'd imagine that the majority of applicants have zero open source contributions and that the companies not only expect but are also okay with that. That was the definitely the experience I had back when I had did interviewing for my team at least.

Of course, it could be possible that what he's describing is more of a trend going on in Europe or Denmark than the US. But I think he has some hits and some misses with his takes.

Re: The dispassionate developer

#107

> If you're tired of working with legacy code without tests, most of your suggestions for improvements will be met by a shrug. We don't have time for that now. It's more important to deliver value to the customer. This is what bothers me the most. Whether it's about tests or something else. Even clean slate "let's get everything right this time" projects degenerate into legacy code within weeks with this mindset. The…

I have seen this be the fault of developers as much or more than management - even for that "let's get everything right this time" sort of project, devs who interpret that as "let's build a beautiful intricate machine that does exactly what we want it to today" are fare more common than devs who build something that will be able to evolve for tomorrow's needs. Management rarely is involved or interfering there, when a dev or dev team decides to abstract over messy rules to make something "clean" - but in the process just encodes the messiness deeper, and in a harder-to-change way.

A dev who's also focused on "how can I deliver value to the customer" is really the only person who can make the right choices there, because the code has to be designed to make sure future valuable changes can be made, vs designed for a specific "snapshot" of specs.

And yeah, it often becomes a cycle, where management doesn't trust devs to build systems that won't suck, because devs haven't shown they can build systems that won't suck, because they're constantly just fighting the old systems that suck instead of having good training/experience building ones that don't... but I can't put that on non-technical management. We don't want non-technical management trying to tell us how to build a system, we just have to get better at it ourselves. You can do that by working on a bunch of broken systems, but you have to be thoughtful about it, and reflect on what you learn, and not just be distracted by "ooh, new shiny framework will make this better!"

Re: The dispassionate developer

#108

"As you start to ponder the implied ethos, the stranger it gets. Would you like engineers to be passionate as they design new bridges? Would you like a surgeon to be passionate as she operates on you? Would you like judges to be passionate as they pass sentence on your friend?" I'm not sure what exactly he means by passionate, but I do know a surgeon who spends time reading and lecturing about the history of surgery.…

I've seen a doctor who didn't seem to care, as well as one that did. One just tried to throw prescriptions at any problems I took to him, and the other one was more interested in root causes and the sum picture of my overall health. I definitely want the passionate one there, all other things about their knowledge and potential competence being equal.

Re: The dispassionate developer

#109
post #57

> ... employers want employees who are passionate about their craft. > ... I'd like such people to care about their vocation, but I'd prefer that they keep a cool head and make as rational decisions as possible. > Why should programmers be passionate? While I agree with the gist of the article, the author should realize that "passionate" as used in this context is effectively synonymous with "cares", and is only used…

100% this. I don’t expect you to go crazy over programming, but the gulf between passionate programmers and just-collect-the-paycheck programmers is extreme. Just-collect-the-paycheck programmers are useful and necessary, but a team composed exclusively of uncaring engineers is pretty much doomed to fail.

Lightbulbs are flashing for me right now because I’ve never really thought about it like this, despite caring a lot about passion.

In the teams I’ve been on that have over-performed (aka released quality software on schedule), there was always at least one or two (sometimes the majority) engineers who actually cared. Cared enough to push back when we tried to skimp on standards compliance. Cared enough to upstream a fix to a library we use. Cared enough to notice patterns in problems we had and write internal articles about how to avoid those problems.

I’ve also been on teams of (primarily European, as the author points out, the culture is very different) engineers who really are just collecting a paycheck. As long as they keep working, it’s really not a big deal if the product ships on time, or a year late. It doesn’t really matter if the product meets customer needs well, because we know they will buy it anyway. It doesn’t really matter if your colleague knows enough to get their work done. And if I see a new problem the team encounters, I’m certainly not going to learn anything to solve it, or assist a colleague who does; job descriptions are there for a reason.

I guess a good test is the “job description” test. Does an engineer ever say “that’s not in my job description” and refuse to do needed work (note this is very different than pointing out there would be someone better equipped to do it, if that is the case) to the detriment of the team? Does an engineer not bristle when someone else brings up “the job description”? If so, that’s a pretty sure sign that they don’t care about their work, which means they don’t care about your team’s success.

Re: The dispassionate developer

#110

Maybe it's the jobs that I've worked, or the country I'm in ( UK ). But I've really not seen this shift towards looking at portfolios of open source work rather than CV's. Every company I've worked for has requested a CV, and often does some form of test or in person interview centred around programming problems. The tests vary in quality and depth. I wouldn't think of myself as a passionate developer. I have a famil…

On the hiring side, it’s rare to see someone come through with significant OSS contributions. A small bug fix here or there is about the most I see from 90% of resumes. Every once in a while we see someone with a lot of open source contributions, or even full leadership of a popular project. These people would really prefer if we believed that OSS contributions and GitHub profiles replaced resumes or CVs, because it’…

Companies should have different hiring processes for prolific open source code contributors and folks that don't do open source (presuming they want to hire both).

There are plenty of amazing developers that don't to open source and are great employees.

Other devs have extensive open source code. It doesn't make sense to give popular open source devs coding tests. Open their GitHub account, see their popular repos, see how they communicate on issues, etc.

The most powerful teams I've worked on have a mix on OSS devs and folks that only do closed source work. Hiring both is the best from what I've seen.

Post reply on HN