The illegible nature of software developmentĀ talent
surfingcomplexity.blog178 points by hackthemack 3 days ago
178 points by hackthemack 3 days ago
Please maintain your professional social contacts!
It's fine not to have a native interest in that. But it's part of the job. No blog or bragging needed. No Linkedin needed even, if you really don't want that one. Catalog and maintain some minimal contact with these people who have seen your work: bosses, colleagues, juniors, vendors, consultants, anyone. Expose a few EXTRA people now and then, so they can see your work. This way, when you need to find a new job after many years hidden in just one department, you will have all these people who moved - sometimes frequently - and only wished they could have taken you with them at the time.
And that has nothing to do with "10x" - no matter the skill level you think you have, you'll be better off with a wide set of people who know you. "Know you" to any degree - often people will prefer you to going through the circus of interviewing for pretty random results.
Someone followed up and then deleted - but good questions: We fear imposing on the others. We don't know what to message about. How often? What do we have in common? And I expect most of us have the same concerns.
Anyone has interesting recipes on this?
I feel that more or less we all have these concerns. One of the solutions is to recognize that both sides of the message will have the same concerns. The other person is then grateful that you did it - instead of bothered. They may well decline - but not angry at you - and accept the next time around 2 years later. What we have in common? We work in the same industry - that's what we have in common. It's enough. And you want to stay in touch with the ones who understand that this matters anyway, the others... less so.
Someone posted on HN ages ago about fishing for lunch dates. I have used this one. Having lunch once every few years with an ex-colleague works well. And applies to all kinds of other people that we didn't think of doing that with. Of course many people have no time for lunch with you. Especially if you want it "this week" - but if you are completely open ended as to when, that's will work easier.
One I have used is "I'm headed to XXX trade show. Any chance I'll see you there? What are you up to these days?" Same for local interest group meetings.
If you notice someone changed job or went to another company (from checking their Linkedin) - sure that's a message right there with an easy topic.
How often? 2 years too often? 5 years too little? Something like that.
Any other ideas?
It is interesting, the two best developers I know are on the polar opposite of each other, from the outside.
A: Started coding when he was 6 years old, was making 3D games from scratch at 12, and sold his first software at 15. Never went to college, as he was right in time for the dotcom boom. The man just loves coding, and always works on his side projects in his spare time, mostly software he finds interesting. At work, he's the closest I've seen to a mythical 10x
B: Hadn't written a line code before he switched majors in college. Went from having zero experience with programming, to being a straight A computer science student, finishing one year faster. Best student prize at university for masters, and then a Ph.D in record time. Writes flawless code, is a top tier architect, and just a machine. Doesn't write a line of code when he comes home (at least according to him), basically severs himself from work as soon as he leaves work.
> It is interesting, the two best developers I know
Over time I've come to appreciate the difference between people who are described as the best programmers and people who are best at delivering results.
Some times they're one in the same. It's wonderful when you work with someone who is both an excellent programmer and excellent and delivering results in a team.
Many times I've worked with or even hired people who are brilliant developers and praised as being very smart, yet they didn't deliver results as well as the average developer on the team who diligently gets their work done.
Looking back, some of the most stereotypically brilliant developers I've worked with have also been among the more difficult to work with. Not all of them, but quite a few. The two that come to mind have been bouncing from company to company for a long time. They'll always have job offers and be able to pass interviews, but actually working with them and getting good results is a different story.
One of them even founded a startup with a co-founder, but unsurprisingly they broke up less than a year into it. On paper he should be the perfect fit to get launch a startup product, but working with him is a different matter.
The brilliant devs I know who are great at delivering results usually find their way into good positions and good companies early in their career and then stay there for a long time.
> Many times I've worked with or even hired people who are brilliant developers and praised as being very smart, yet they didn't deliver results as well as the average developer on the team who diligently gets their work done.
Very smart programmers often have a very different way of thinking about programming problems. If the project structure does not accommodate for this way of thinking, brillant programmers can barely use their "superpower".
Also, great programmers often have a deep love for their craft, and thus be very opinionated about the best possible way of solving the programming problem at hand.
So my bet is:
- you don't have software problems that "need" superpowers (otherwise the average developer on the team would be of little use)
- you don't have a project structure that enables exceptional programmers to actually use their superpowers
- you already admitted that you are rather looking for people "who diligently get their work done"
Exaggeratedly: you hired a Fields medalist to fix your clogged toilet, and you are now complaining that the average plumber is much better at fixing it.
100% this. Nothing turns a 10x into a 0.5x faster than telling them they can't fix the horrible issues putting your api performance in the shitter under load, and instead they have to go help automate the QA build process.
Of course people have to work on what is most urgent at that time, that's just business. You can't just work on what you love to work on, unless you have practically unlimited funds.
Most projects of any size have a number of people working on them at the same time. At least to me it seems best if you have someone that is really good at something to keep them focused on that task with momentum and split other portions of the team on the urgent task.
The CEO doesn't work on what is most urgent all the time.
They work at being the best CEO.
Just because someone is available to be repurposed doesn't mean they are the right person for every urgent matter adjacent to them.
A manager wasting the talents of the talented this way, is the problem in this case. They don't know how to balance their team with their needs.
(Dire one off situations are one thing, but systematic tragic waste shouldn't be defended.)
There is also an element of office politics involved sometimes. There are very petty people who will throw road blocks in the way of a brilliant programmer, because he outshines them. There are program managers who will hobble a brilliant programmer, because they don't want to build dependence on a superstar fearing that star will ask for too high salary at some point. And the brilliant programmer? He's good at programming, not schmoozing.
> Doesn't write a line of code when he comes home (at least according to him), basically severs himself from work as soon as he leaves work.
I'm truly curios what percentage of programmers do write code outside of work. I'd bet the actually percentage is pretty low, especially those who've been at it for five years or more. I don't know that I ever did, except when I first started.
When I do interviews I like to ask candidates if they want to share anything interesting they've made, studied, worked on, or played with outside of their jobs. I explain their answer can only help, not hurt, as a non-answer is not a negative. It's simply an opportunity to bring up something that wouldn't normally come up during the work-history driven interview.
Very few candidates say they've done any programming outside of their jobs. At most, they share something like running Home Assistant on a Raspberry Pi and using Python to automate their house or something. Another common one is to hear about how they used an Arduino or Raspberry Pi to accomplish some small task.
Very few people say they have side projects. Of those who do, when I ask for details most admit it never went far beyond the idea phase.
So from what I can deduce, it's very uncommon for programmers to have true side projects that go beyond a couple git commits worth of code to solve some task, or an idea they had that they never followed up on.
>a non-answer is not a negative
I don't know how this can be true. Interviewing for a job is a zero-sum competition against the other candidates. If something isn't a positive, it has to be a negative.
Side projects are less interesting as the number of decades you write software for a living increases. Of course, everyone is different here and use cases arise.
I think this is a rude question to ask, and it would reflect negatively on you, the company, and the group dynamics, if I were asked it.
It shows an unprofessional and inappropriate interest in things unrelated to work, and, from my experience, is a good indicator that the person will either micromanage, has poor work life balance, or is not socially fit to be a manager.
I know that sounds super harsh, but you should seriously reconsider. You're going to scare people away. There's a power dynamic that you don't seem to be aware of, during the interview process. It's not your concern what they do with their free time, unless they present it to you, unprovoked.
This is from someone who has interviewed hundreds of people.
Besides all of that, it opens you up to litigation for discrimination, depending on the answer they give. I suggest talking with your HR department. Where I am now, questions about personal life are strictly prohibited, for that reason.
edit: please note the "unprovoked". If people want to share the projects they do in their personal time, they will include it in their resume as a line item. I've seen it in probably 30% of the candidates. It means "ask me about these things".
edit: better yet, just rephrase, so it's not a potentially uncomfortable probe into personal time: https://news.ycombinator.com/item?id=45543812
> It shows an unprofessional and inappropriate interest in things unrelated to work,
No, it's a chance for candidates to bring up relevant experience that might help their candidacy.
The question isn't about things unrelated to work. The question is asking if they have any additional experience outside of work that might help us better understand their skills for their job application. Many people have relevant experience for the job that they gained outside of work. Asking about that is not only okay, it's a good thing.
> and, from my experience, is a good indicator that the person will either micromanage, has poor work life balance, or is not socially fit to be a manager.
Asking candidates if they have any extra experience to share is not an indicator of micromanaging.
Jumping to completely unrelated conclusions and drawing extreme assumptions about people is not a good way to interpret a question like that.
I explained that the question cannot have any negative value to the candidate. It's a chance to bring up extra things if they have them and we didn't cover them. Literally doing the candidate a favor, not being rude or micromanaging.
> It also opens you up to litigation for discrimination, depending on the answer they give. I suggest talking with your HR department.
Asking candidates to share their work-relevant experience does not invite discrimination lawsuits. How are you coming up with these interpretations? Legal was involved in reviewing our hiring processes, so no need for condescending lectures about getting HR involved.
> Asking candidates to share their work-relevant experience does not invite discrimination lawsuits.
I suggest you talk to your HR department. This isn't my interpretation, it's that of our cooperate lawyers.
If they say "I just had a kid, I spend time with them", is a good example. This should be obvious to you, which is further evidence you should not be asking these questions.
edit: can't reply directly. No, that's not how it works. You being made aware of it, and you using that information is enough. Good luck!
> If they say "I just had a kid, I spend time with them", is a good example.
Your understanding of these laws is flawed. A candidate volunteering information doesn't make the company liable for discrimination against them.
It's a common misconception that if topics like having kids or being married comes up in an interview then the company is liable to be sued for discrimination. It should be obvious that a candidate can't entrap a company by injecting this information into the interview when it wasn't asked. Even if the interviewers do ask, a discrimination lawsuit has a much higher bar than the topic simply coming up in the interview. It has to be demonstrated that the information was used to discriminate against the applicant, not just that it was discussed.
Your interpretation of my question is also flawed. I'm not asking "Tell me what you do in your free time." I'm asking them if they have anything outside of work that they'd like to share that would help their case.
> I suggest you talk to your HR department.
Please read my entire comment. The legal team reviewed our interview process and had no problems with it.
I think maybe your HR department has tried extra hard to scare you away from subjects they want to avoid, which has led to a misunderstanding of how the law actually works. It's common for HR professionals to tell interviewers that there are "illegal questions" or that if a topic comes up at all then you're going to get sued for discrimination. In reality, the legal bar for these cases is much higher. HR professionals just want to scare interviewers away entirely and drive the point home.
Asking candidates if they have an additional experience to share isn't an invitation for discrimination lawsuits. I suggest you open your mind a little bit and consider that some candidates may have more to offer than appears on the bullet points under each job on their resume.
I worked for Google for a while and there was a whole set of banned questions and topics- for example, when interviewing, I was told to never ask where somebody was from- that's discriminatory.
Originally I assumed all of this was good-faith advice from lawyers. It was only over time that I recognized that the leadership at Google continuously got itself in trouble by doing illegal things around hiring, and was telling interviewers all sorts of stuff that simply wasn't supported by law (similarly true for the constant warnings about not reading patents, or speculating about legal problems in a discoverable medium- it was the execs who fucked up, not the employees). I had to unlearn a lot when I left for another company.
Please keep asking people questions like this- I like how you phrased it: "this can only help, not hurt you".
I think a lot of this is simply asymmetric incentives for the lawyers. If they give legal advice that is overly conservative, it's some other portion of the business that suffers - we hire the wrong people, or we provide a worse product, or we lose out on revenue, or deals don't get made, or the code is overly convoluted, or employees get muzzled. If they give legal advice that is overly aggressive, they have to deal with the consequences when we get sued (at best) or they get fired (at worst). So they will always err on the side of caution.
I've also noticed a dramatic difference in how willing legal, HR, PR, REWS, etc. is to take risks now vs. back in the heyday of the 00s when the company was smaller and everybody felt like they were in it together. Some of that is probably simply because the company was a lot smaller and hence less likely to get sued, but a lot of it is because back then people tended to act in Google's interests a lot more while now they act in their own interests.
> Asking candidates if they have an additional experience to share isn't an invitation for discrimination lawsuits.
It's the fact that you decided not to hire them, because you found out that protected information. It was unrelated? Prove it in court. That's the reality of discrimination lawsuits.
I think we'll have to agree to disagree.
If you're confident in this, maybe in your next couple of interviews try "That last question is something new that I'm trying. Do you think it's good, or do you think it's too personal?". You'll have to read their body language, since the power dynamics will prevent a direct answer, for many. If you're not comfortable asking that, then that's evidence enough.
> It's the fact that you decided not to hire them, because you found out that protected information.
Again, you don't understand how this works.
If a candidate runs into your interview room and declares that they are a member of 5 protected classes, that doesn't automatically open you up to discrimination lawsuits.
How is this any different than asking someone about a past job and then they answer with "I didn't finish that project because I had kids and left for parental leave". It should be obvious that a candidate can reveal information about having kids for virtually any question.
> It was unrelated? Prove it in court.
Once again, that's not how it works. The onus is on the applicant to prove that the information was used for discrimination.
A candidate can't claim that a company discriminated against them for information they volunteered during an interview and then the company loses. They have to provide reasonable evidence to proceed to discovery, which would have to reveal something substantial that showed the information was used to discriminate, such as e-mails or chat logs.
> I don't believe you asked your legal department.
Legal was involved. Why do you only believe that your HR department wants to be involved in hiring processes, but mine obviously would not?
If you're not interested in discussing in good faith or you only want to ignore what I wrote and inject alternate facts, I can't help you.