Live data from Hacker News

How to be a wizard programmer

twitter.com

31–40 of 69 posts

Re: How to be a wizard programmer

#31
post #21
post #6

Until the more senior member quits because they are wasting the vast majority of their time answering questions that could have been answered by just trying for more than 30seconds after hitting an obstacle...

Parade: always ask "what have you tried?" first. Then it's acceptable to just give just a direction (the simplest of which is "try googling for it") and to tell them to come back when they've tried if the problem persists.

See also, rubber duck problem solving: https://blog.codinghorror.com/rubber-duck-problem-solving/

Re: How to be a wizard programmer

#32
post #30

I'm going to be the token buzz-kill senior dev: If you run into problems none of the senior devs have experience in and have no answers for, my first concern is that you're massively over complicating something we've solved in a simpler and less risk-exposed way. My second concern is that you're intentionally reinventing the wheel in a way that is massively over complicating something we've solved in a simpler and le…

[deleted]

Re: How to be a wizard programmer

#33
post #18

Earlier quoted context omitted.

What I would prefer, is somebody who tries to figure it out themselves, even if it takes more time ... just maybe I don't have the answers and would like somebody to give me information for a change rather than just take take take ...

I think there is a balance somewhere.

I once talked to a teacher about that problem. He told me that most of the time it's hard to tell what is the right balance between giving the answer or pointing towards the answer, if you do it too early you kill the opportunity for some one to improve their knowledge acquisition process or simply their cognitive ability to reason about a complex subject(or more often, a subject they are not familiar with).

However, if you intervene too late you can make a student go on his way for too looking for an answer that's too complex(for the time frame given to solve the problem) or that's in wrong direction(like trying to optimize a small part of a project that's not all that important) or even more commonly, the student can remain oblivious regarding a shortcut that can make his life a lot easier.

I always think of those problems when dealing with a new intern and I'm still unsure on how to deal with it, but one thing I'm starting to understand is that different people have different personalities(that are constantly changing), so they require different approaches at different moments

Re: How to be a wizard programmer

#34
post #6

Until the more senior member quits because they are wasting the vast majority of their time answering questions that could have been answered by just trying for more than 30seconds after hitting an obstacle...

You're demonstrating why people become afraid to ask questions, and stop doing so even when they should. I'd much rather have someone ask when they get stuck, or even if they're kinda stuck. If someone happens to ask me a question that's easily found via poking around a bit more, I'll show them how they could have found the answer, and then they'll have learned two things: the thing they wanted to know and a new patt…

As long as they dont keep asking the same question over again... Now that does get annoying.

Re: How to be a wizard programmer

#35

Earlier quoted context omitted.

> it's the first search result for a term they didn't happen to know > even the concept of "search for the error message" is a pattern someone needs to learn I suppose if we're talking about a graduate or intern this is okay, but when you have somebody that supposedly has a few years experience this is just infuriating. There is also the point that you shouldn't be getting a graduate/intern to be doing work they have…

>but when you have somebody that supposedly has a few years experience this is just infuriating. You know how sometimes programmers on Hacker news talk about toxic team mates who are hard to work with and bog the whole team down through arrogance? Becoming furious when someone asks you a question and truly wishing they'd waste half a day deriving it from first principals themselves rather than just asking you and hav…

Sir, I have worked with many a toxic team-mate who did nothing but wander around the office, making noise, and getting other people to do their work. Because they didn't do their work themselves they didn't have ownership of it, and it simply "didn't work" and when something inevitably went wrong with it others had to sort it out because it's the team that matters, not blaming an individual. This slowed the overall velocity of the team, despite our best intentions in giving these guys a dig out. I really see no need to smear me for having a countering opinion.

Re: How to be a wizard programmer

#37
post #18

Earlier quoted context omitted.

What I would prefer, is somebody who tries to figure it out themselves, even if it takes more time ... just maybe I don't have the answers and would like somebody to give me information for a change rather than just take take take ...

I think there is a balance somewhere.

Indeed there is, and I'm just providing a counterbalancing opinion.

As the man says "there is no silver bullet".

Re: How to be a wizard programmer

#39
I once wrote some code that unintentionally smashed the interpreter's error-tracking data structure at compile-time. If you had even the slightest error in that module, like a misspelled variable name or type error or unknown function, you'd just get "Unknown error".

I never bothered to fix it, so I believe it's still in production. You better hope you're not assigned to maintain that module.

The one bug at my last job that gave me trouble was one where somebody deep in the stack called the C close() on a filehandle managed by the interpreter. The bug report was "My reports are showing up empty when I run them". The language interpreter kept track of its filehandles separately and wasn't informed about the close, and this led to an off-by-one error when you later went to write to a language-managed filehandle. I noticed stat'ing the filehandle gave a different inode than the temporary file it was supposed to be opening. I moved over to an ext4 filesystem so I could use the debugfs command to look up the inode, but the error only showed up on the same xfs filesystem. A brute-force search of the filesystem turned out that the report was being written to one of my Perl source files, which was opened read-only and so the writes were being rejected. The commit that introduced the error caused it by adding an include, which shuffled the order that filehandles get allocated, which exposed the off-by-1 error that had been around for 10 years which usually didn't cause any trouble.

Took me a solid week to track that one down.

Post reply on HN