Live data from Hacker News

How to avoid humiliating newcomers: A guide for advanced developers

opensource.com

61–70 of 80 posts

Re: How to avoid humiliating newcomers: A guide for advanced developers

#61

Slightly off topic. In big non IT corps I have worked with people whose title was developer but they couldn't do a thing on their own. I am not talking newcomer here, but people mid career. They basically mastered, I am helpless look and would rotate whom they ask for help. My turn would come every third week. Great people but just not interested in programming.

If I am a great guy but not interested in cooking maybe I should not work in a kitchen?

Re: How to avoid humiliating newcomers: A guide for advanced developers

#62

Most programmers are assholes because they are unhappy. Most programmers are unhappy because most software is terrible. Most software is terrible because most programmers are assholes.

Lately I think that this is a social issue. It seems that most normal (non-technical) people are not going to expend so much mental effort in their job that they can't interact with people to a socially acceptable level. For whatever reason, programmers feel comfortable pushing themselves past the point of normal mental effort instead of simply admitting that things are hard and they won't be able to get them done in overly short time-frames.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#63
post #8

[09:00] Hi. [09:16] Hey, what's up. [09:23] I have a problem, do you have some time? [09:24] Sure, what's it about? [09:27] Have you worked with X thing before? I have to do Y thing but don't know how. [09:28] So, I just googled "how to do Y thing in X thing" and got this blog entry explaining in detail, and also this other Stack Overflow answer with a very similar problem. [09:29] Sec, gonna try that. [09:35] I got…

I had this problem as well. The same trivial shell scripting problems came up over and over. My solution was to write a static analysis tool (ShellCheck) that would recognize them automatically and with enough confidence would even auto-answer. It's gotten way more use than I ever expected. Haven't made much progress on the plaintext question problem though. Some day!

Cool! It's also written in Haskell. I always wanted to take a closer look at that language and this project seems just about the right size!

Re: How to avoid humiliating newcomers: A guide for advanced developers

#64
post #60

Earlier quoted context omitted.

Just going off the article. If improper capitalization of "Python" makes him have to take a deep breath and count to five, he's probably an asshole, and if that asshole just happens to be " one of the most senior programmers at MongoDB ", then the universe makes sense today. edit: What are the actual issues? I want to know. Change my mind.

If the edit was because of downvotes, no downvotes here, but all I'm saying is I think software has nothing to do with programmers being assholes. If you can be a mean person because of a tool you use, no matter how badly or sadistically the tool is designed, there's a very different problem. People also just objectively aren't vengeful when making design decisions for software - that's just not how people work. Bad…

Just wanted to hear the complete thought.

I'd say that the assholery on the design side comes more from ego and lack of consideration than intentional sadism.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#65
post #8

[09:00] Hi. [09:16] Hey, what's up. [09:23] I have a problem, do you have some time? [09:24] Sure, what's it about? [09:27] Have you worked with X thing before? I have to do Y thing but don't know how. [09:28] So, I just googled "how to do Y thing in X thing" and got this blog entry explaining in detail, and also this other Stack Overflow answer with a very similar problem. [09:29] Sec, gonna try that. [09:35] I got…

I've had the same experience. There's a bright line separating people who want to learn from those who want to offload the hard work of learning onto someone else. The latter almost always ask simple questions serially - it's obvious they're looking for a sequence of steps to follow instead of sussing out the problem on their own. They want to use your problem solving abilities instead of developing and using their o…

This is the point I was trying to make in my top-level comment, although you expressed it much more eloquently.

Practical programming involves dealing often with problems that are messy, obscure, and vague. They don't teach you that in CS101. Some beginners detest that class of problems because purism is trendy, but they still have the patience to work through them, and because those moments are what teaches you programming, they make progress despite their own objections.

Some people simply don't have the patience. They put up a lot of resistance to spending time on any problem that's not immediately recognizable to them. As a result, they never advance in the discipline.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#66
post #41

Earlier quoted context omitted.

This is simply not true. Not everybody looses patience and not everyone finds programming frustration. Not everyone ends up yelling at newcomer. Also, it is possible to communicate reality of programming and "right mindset" without loosing control in the process.

It is easy to stay calm if you do not care.

No, I mean I care. I just don't let people make me frustrated. With the exception of people who are manipulative or assholes, I don't make other people responsible for my feelings. I try not too. It's not healthy to be like "I'll be calm if you learn to act in ways to not me angry."

Re: How to avoid humiliating newcomers: A guide for advanced developers

#67
There’s great wisdom here from an obviously enlightened crowd, but I will say, as a php dev for 9 years, permissive attitudes toward bad advice about programming did hold me back as an engineer.

I know php is the butt of many jokes about bad language design and bad architecture, but I wasn’t helped by the glut of terrible, outdated advice about php programming that just wouldn’t go away. I could have benefited from a forceful, constructive voice that not only helped me solve my problem, but taught me to seek a higher sophistication for the code I was writing.

And that’s where I think advanced developers turn into humiliating jerks. I would wager that most of them aren’t deliberately trying to excoriate junior devs, they just are frustrated that developers are repeating the same inefficient path to good practice that they may have trod. Instead of being short-fused and curt, they should take time to inventory the positive things that helped them, and pass those tidbits of effective advice along.

It’s very hard to pause and take note of resources or insights that made you much better as a developer. However, those who can are able to give junior devs a shortcut to excellence that is a net benefit to everyone around them, instead of just getting frustrated that the junior devs aren’t achieving enlightenment as fast as they themselves would have liked to.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#68
post #8

[09:00] Hi. [09:16] Hey, what's up. [09:23] I have a problem, do you have some time? [09:24] Sure, what's it about? [09:27] Have you worked with X thing before? I have to do Y thing but don't know how. [09:28] So, I just googled "how to do Y thing in X thing" and got this blog entry explaining in detail, and also this other Stack Overflow answer with a very similar problem. [09:29] Sec, gonna try that. [09:35] I got…

My solution to this problem is (1) avoid instant messaging at all costs, and (2) delay responding to any mail that is either (a) a contextless plea for handholding ("I have a problem, do you have some time?"), or (b) best solved by the asker taking some time to educate themselves. It's a win-win, because either the asker learns they can solve their problems more quickly by Googling it themselves, or I can limit my re…

"Avoid instant messaging at all costs" is definitely good advice. I usually forget to take three breaths before answering there, but I usually remember before I answer an email. Plus, I have GMail's "undo send" feature enabled so I have a few more secrets to repent before my message cannot be untyped.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#69
post #41

Earlier quoted context omitted.

This is simply not true. Not everybody looses patience and not everyone finds programming frustration. Not everyone ends up yelling at newcomer. Also, it is possible to communicate reality of programming and "right mindset" without loosing control in the process.

It is easy to stay calm if you do not care.

Yes, some level of detachment can help when advising strangers and caring too much may make people act in counterproductive ways. That holds true in other contexts too. But, that is not the only thing in play.

Some people find it easy to stay calm and patient, some much harder. And some are able to recognize that "I am pissed now, better not respond immediately". Yet others are able to be polite and nice even while pissed - e.g. have above average good emotional control.

Re: How to avoid humiliating newcomers: A guide for advanced developers

#70
post #8

[09:00] Hi. [09:16] Hey, what's up. [09:23] I have a problem, do you have some time? [09:24] Sure, what's it about? [09:27] Have you worked with X thing before? I have to do Y thing but don't know how. [09:28] So, I just googled "how to do Y thing in X thing" and got this blog entry explaining in detail, and also this other Stack Overflow answer with a very similar problem. [09:29] Sec, gonna try that. [09:35] I got…

That person lacks some pretty basic development skills. You can roll your eyes or you can teach coding 101.

I actually like teaching coding 101. Not everyone has to, but I do. And I find people generally appreciate someone going back to the basics and explaining the tactics and theory behind a problem, rather than just giving the answer or the steps to find it.

I just think coding is neat, and I love talking about even the most basic ideas. I always find new little improvements on my understanding of fundamentals.

I have had the “even the most experienced programmers spend most of their time having no idea what’s going on. The job isn’t to always know what to do, it’s to always find a way to keep moving even though nothing makes sense” conversation dozens of times. Maybe I’m weird.

Post reply on HN