Hacker News new | ask | show | jobs
by Pfhreak 2383 days ago
Write down the things you got called out on in review. Build a checklist of them. Perform a self review for them.

So more code reviews and design reviews for others and try to ask why whenever you don't understand what you are looking at. Asking questions is a sign of strength.

Spend a little more time on design, and whiteboard with a coworker before you implement. Draw the boxes and arrows of your approach and reason about where it will break. It will break on some axis sometime, tell yourself where it is.

Find a mentor. There are tons of folks who would spend an hour every week answering questions about design that you were too shy to ask in the bigger group.

Stop meetings when you don't understand a term. Ask for a clarification.

Talk to your manager, be open about wanting to improve this specific skill. Speaking as an engineering manager myself, one of the most fulfilling parts of my job is seeing someone ask for help and giving them a chance to stretch and learn.

Accept failures. A failure just means you learned something. I've seen some big failures and caused some big failures. I learned and moved on. That said, don't fail the same exact way more than once if you can help it.

Ask for peer feedback. Maybe no one else thinks you aren't performing. Maybe you've set up a false narrative about yourself.

Ask, specifically, "am I asking for help too soon or too late" and really listen to the answer.

2 comments

Great list, also spend money on a coach, both technical and soft skills. It will pay for itself many times over.
What kind of coach?
A bus to get you to the green place where they don’t talk about velocity.
Seconded. It may be that you're in a toxic environment. In such places it doesn't matter how good your design is or how tight you're implementation, you still get hostility and nit picking on code review. And not in a constructive way. Sometimes it's not you, it's them. When development turns into a dick swinging competition, walk away. It's better for your health.
"walk away. It's better for your health"

In situations like this, if you don't make the decision to walk away, the decision will probably be made for you.

If it does get made for you, don't take it personally. Just like dating, there's a better fit out there for you.
Sometimes it's this attitude that is toxic to profitability. OP didn't say it felt unfair, and it's not right for this community to constantly reinforce the "big bad wolf" theory of senior engineer dick swingery when someone honestly wants to get better.
Sorry maybe I’m dumb but I’m not following this.
It's a play on words. The great grandparent suggested hiring a coach, i.e. a mentor or instructor, to improve his skills. The word coach, shortened from stagecoach, also refers to an intercity bus (what I would have called a highway bus as a kid). So, the reply is suggesting taking the bus to another city where jargon like "velocity" is not used. It suggests the problem is the company culture rather than the individual. I thought it was quite clever.
i didn't get that one, but i did get the one about the grass, which is ultimately greener on the other side.
>Asking questions is a sign of strength.

Hell no ! Asking good questions absolutely - asking generic questions that can be googled in less than five minutes shows that you either can't search and solve problema on your own or don't respect my time.

I've seen a lot of newbies take this approach when someone tells them this advice - I usually tell them after a few times and then if I see this pattern I recommend not keeping them because they end up being a net negative.

Also a confused guy stopping meetings is the worst - taking time out of the entire team who now has to listen to stuff they already understand explained again. Pull someone aside afterwards for clarification.

>Also a confused guy stopping meetings is the worst - taking time out of the entire team who now has to listen to stuff they already understand explained again. Pull someone aside afterwards for clarification.

"Also a student stopping lectures is the worst - taking time out of the entire classroom who now has to listen to stuff they already understand explained again. Pull someone aside afterwards for clarification."

You are part of the reason why people are scared to speak up and ask "stupid" questions, and I feel like that ends up being a net negative.

Right, but there is another side to this coin. There are good questions, and then there are questions that evince/exhibit:

* basic reading comprehension issues

* trivial matters that could have been looked up in an obvious reference

* completely unrelated tangents, asked out of idle curiosity

* questions asked solely to demonstrate "participation" (nothing wrecks a classroom like a "participation" grade)

In my experience, these comprise the bulk of questions that are asked in non-STEM university and graduate settings.

I don't call these questions stupid, but they are a waste of time, do not move the ball down the field at all, and discourage self-learning.

Just out of curiosity, where does your experience with "non-STEM university and grad settings" come from that you are judging and contrasting it so harshly with STEM?

Seems like you've been in higher level STEM settings and your experience outside of that has been low level electives, you've had limited and unusually poor samples, or you're just speaking out of bias for (presumably) your own path in life.

I don't think people who are not "STEM" are generally going around navigating the world and school like uninformed, idiot freshman who don't know how to participate in their own education... At least not any more then people in STEM are ;-)

Not him, but I used to sign up to various courses while coursera was starting and free. Which means courses from American universities. Non-STEM were more likely to mandate questions if you want good grade. It was a fight to convince teachers that it is bad idea in online setting at first. They were also more likely to try to force or encourage discussion between students even when questions were not mandatory.

So I think that cultures are much different in that regard. A lot of it makes sense give topics that were taught. It is not that non-stem was inferior, it is that different topics have different pedagogy.

But, if students get points for asking question often enough, they will be trained to ask any question that cross their mind. They will be used to actively desperately look for any question to ask cause they are used to need that point.

Agreed, provided one is not so aggressive at preventing the questions you list that you effectively chill the environment for questions out of fear subsequent questions are “the bad ones”.

That for sure is a much worse outcome than the occasional “really?” kind of question. Some simple nudges to colleagues as checks (did you do the reading? Did you try to answer it yourself first?) before asking questions to keep things productive, for example, might be a good starting point rather than a Potentially more hostile approach that could frustrate well-meaning questioners.

> basic reading comprehension issues

The student was assigned reading material beyond their level. They will need mentoring, which a good teacher (i.e. senior developer) is well equipped to provide and should be willing[1] to provide. The teacher should also ensure that no other student is in the same situation but is hiding it due to risk of the social stigma.

> trivial matters that could have been looked up in an obvious reference

Student is not aware of resources available to them or does not yet have this habit. Provide them with pointers to resources, or engage them in habit-forming exercises for looking up references[1].

> completely unrelated tangents, asked out of idle curiosity

Idle curiosity is the best attribute (correction: skill) you can ask for in a student (any developer). Stifling it will cause a drop in creative thinking and therefore damage problem solving skills.

An unrelated tangent is unrelated only if the teacher (senior developer) does not possess the skills necessary to relate the question back to the topic at hand. Something made the student think of the so-called tangent. In such occurrences, explore[1] the tangent and how it may possibly relate to the topic at hand, with the help of the student, as a learning opportunity (an opportunity for the teacher, rather than the student, to learn).

> questions asked solely to demonstrate "participation" (nothing wrecks a classroom like a "participation" grade)

If a student participates just to demonstrate participation, this is usually because the class dynamics (work politics) are skewed against the student (damaging their self-esteem), or the rewards for good performance are not distributed evenly -on merit.

When you think a student is participating just for show, assume good faith. That is, assume that the student is genuinely interested and explore the idea together[1] with the student. If it turns out that the student was actually interested, you just prevented a misunderstanding caused by your own burn out. If they were participating just for show, you just helped them hone in on their skills and provided guidance on how to better participate in class (meeting/workplace).

--

[1] If you are not willing to do this, stop teaching (read: either stop hiring non-senior developers or quit). Your role in the university (read: workplace) as an instructor (read: senior developer) is not only to manage and produce research (read: projects and deliverables) but also to develop your students' (read: non-senior developers') skills. Earn your salary.

> Idle curiosity is the best attribute (correction: skill) you can ask for in a student (any developer). Stifling it will cause a drop in creative thinking and therefore damage problem solving skills.

And meanwhile the rest of us is waiting twiddling fingers, because someone could not google that tangent or asked question anyone who is paying attention could answer.

This does not annoy just teacher. It is annoying students who were paying attention and were there whole time way more.

> If a student participates just to demonstrate participation, this is usually because the class dynamics (work politics) are skewed against the student (damaging their self-esteem), or the rewards for good performance are not distributed evenly -on merit.

When you have one-two people out of over 100 asking such questions all the time in multiple unrelated classes, the issue is not all of us or all those teachers.

> If they were participating just for show, you just helped them hone in on their skills and provided guidance on how to better participate in class (meeting/workplace).

Please, please, please, don't teach students to make meetings longer by asking tangents. That is for after meeting when those not interested can leave. Meeting moderation is literally about ability to keep discussion on point.

The student arrived late, fumbled with his phone the first 20 minutes, then started talking with his neighbor about something apparently very funny and now - when assignments are handed out - starts asking to explain everything again.
> The student arrived late, fumbled with his phone the first 20 minutes, then started talking with his neighbor about something apparently very funny

You are not the best at maintaining discipline ;) If this is happening with a lot of your students, seek out guidance from the more experienced teachers in your department that you know are liked/loved/adored by students or the cohort. (It helps if you attend their classes to observe their approach and the class dynamics.)

Somehow engage the student in the first 5 minutes of them looking at their phone. (Beware, they may have had an emergency before the class.) If you let them be on their phone for 20 minutes straight, the student knows that you don't care about their presence in the class. Or, worse, they now think you are one of those teachers who don't care about all or a subset of the students.

> when assignments are handed out - starts asking to explain everything again

This happens much more often than you'd think. Having the instructions clearly laid out in the assignment sheet usually helps. The quality of education they received prior to college (before your company) is usually worse than that they receive in college, leaving them confused starting with 100-level classes (and their confusion gets worse and more complicated as they advance).

> explain everything again

If, by this, you meant everything you talked about in class, ask the student to come to your office hours. You may have to accommodate their schedule, which usually is not too difficult though inconvenient.

Think of the teacher as the management. If the student (employee) fails (is fired) or drops out (quits), it is usually because of the teacher (management).

Man, my favorite ("favorite") is the "I don't actually have a question, I just want to make sure everyone sees that I think I know something by rambling about it semi-incoherently and then trying to turn one of those run-on sentences into a question halfway through it."

I find this more in public talks than in classrooms, but yeah, that guy is always out there somewhere.

In my experience, this happened just as much in STEM classes, if not more.
“non-STEM” — care to be more vague?
Friends of mine that are teachers say, if one student speaks up and says they don't get it. Then most of them aren't following either.
had this in Uni. I was the annoying student who asked questions all the time. After a few units, I had other students thank me for asking all those questions, because they also didn't understand but were too shy to ask.
Well the old adage of not caring of looking stupid or asking stupid questions.

If one is engaged in conversation, one should not restrain himself from asking whatever for politics/social issues.

Let the question be asked, it can be esaily dismissed or ignored if it's a bad/not useful question, but it can be asked too anyway!

Like someone else said - this is entirely different from a team setting - when you have a team of say 5 people and a newcomer - the new guy interrupting the meeting for every thing he doesn't understand is just sucking the time out of 4 other people on the team.

Thinking that you get to ask for clarification whenever you feel like it just because you don't understand something is very self entitled - you have to consider the context first. If someone is explaining something to you directly or the purpose of the meeting is to teach something to the whole team by all means ask for clarification.

There has to be a balance. Usually in work meetings it is not so bad, because the groups are smaller and people asking questions are a bit older and more socially mature, and they can judge from people's reactions when their questioning should be taken outside the meeting, but in college lectures it can be absolutely devastating when there are a few underprepared or inattentive students who convince the lecturer to run the entire class at their pace so they can put in less effort outside the classroom. A teacher doesn't have to be cruel, but they absolutely should politely but firmly turn aside persistent questions that indicate that the student has not done the reading or does not have a grasp of the prerequisites. I sat through several classes in college where the professor decided to spend the first eight hours of lectures in a physics class, for example, reviewing basic calculus or linear algebra. That's an insult to students who have prepared for the class and showed up expecting to be taught physics, especially when there are plenty of seats in the calculus and linear algebra classes for students who need to learn that material, and it adds insult to injury when the final exam for the class is consistent across different lecture groups, and your lecture group is handicapped by skipping or rushing through the difficult material at the end of the semester.
>"Also a student stopping lectures is the worst - taking time out of the entire classroom who now has to listen to stuff they already understand explained again. Pull someone aside afterwards for clarification."

Well, for a classroom with high velocity that would indeed be an issue. Mixed capacity classrooms might help less apt students, but can at the same time slow down more advanced ones.

The purpose of a lecture is learning and the entire class is expected to have some minimum level of background knowledge.

In real world projects you often get new people assigned to the team, outside people and some of them are very bad at evaluating context for asking questions.

I just had a cross-team sync meeting where this annoying guy from another team with no clue about our requirements or what we attempted started to drill questions on some random library choice - wasting the time of 10 other people and not arriving at anything other than being curios about the tech and wanting to talk about libraries.

Or the other day we had a junior argue with a PM about the requirements because he clearly miss-understood it - it took 10 minutes for the PM to drill down to the source of confusion and wasted 10 minutes of 4 people on the call ! Meanwhile two of us were eye rolling after 2 minutes about how stubborn this kid was when he was completely missing the point - this could have easily be don one a call after our sync meeting.

There are simple questions that are being asked just to show initiative or to show that the student came up with question. A student asking simple question he could answer by himself or by looking into book in front of him if he bothered to think for 4 seconds is not gain for anyone.

There is trade-off to which questions should be asked right now and which should not. Both in lecture hall and on meetings.

Yes, exactly. Just made the same point.

IMO, instructors who indulge this kind of thing do the whole class and especially the asking student a disservice because the opportunity for self-teaching is lost. Self-teaching is much more important than whatever the lesson of the moment is.

Wow, I don’t agree with this at all. The odd question in a lecture can mean the difference between you following along the whole lecture and losing track completely after 5 minutes. The reason you are in the lecture is to absorb the lecturer’s exposition of a subject. If you miss out on that because you didn’t understand one small point near the beginning, you might as well just read a book and not attend lectures.

The whole value of being lectured by an expert in your field is that you follow along the material with them and can ask for clarification where necessary.

I am asking to first check whether the answer is not on blackboard right now, in your notes or whether cant be derived quickly.

And don't ask just to show how clever creative you are to think of the question. And don't ask question you know answer to, and I am quoting schoolmate here, "so that other students hear the question too". Headdesk.

This is maybe good on one on one lecture, but when situation is one to many, it is better to assume the part you don’t understand as a fact, and try to move on, then later try to figure out off lecture time.

Unless there is a Q/A time, interruption of lecture for sure not good for the whole group.

The most epic was an online course with thousands of students (dont recall exactly) where you was required to ask three questions per semester.

Eventually someone convinced prof that there cant possibly be well over 3000 meaningful questions and that forum quality will go down if we try.

One notable difference between meetings and lectures is the variance in skill level. In a lecture, it is reasonable to expect that if one student didn't understand something, he was not alone. A junior (or newcomer to a project) in a meeting, however, is a different story. That's a relevant distinction for deciding whether to write down your question for later, or speak up.
When a team hires a new person, they expect a lot of things to slow down for awhile as they explain things to that new person. This is the cost of onboarding. You pay the short term cost for the long term benefit. It is not fair to the new person or good for the team to refuse to invest in onboarding.
Lectures are explicitly for learning. Meetings aren't. Apples and oranges. There are stupid questions, and asking them predictably without awareness of the cost is a performance problem.
Either your team has a problem hiring the right people, or you guys are just horrible, snobby people to work with.

Newbies often need more than a 'few times' to become net positive assets. They are junior, after all.

> or you guys are just horrible, snobby people to work with

... Or they work for a (typical) organization that pays lip service to teamwork but punishes individually - by obsessing about meaningless metrics like “velocity”, putting everybody in a position where they have to choose between being helpful productive members of a team working together toward a common goal OR meeting the arbitrary goals and deadlines that lazy managers are actually incentivizing them with.

I agree strongly that questions are critical and important and junior devs should always feel comfortable asking them. However, if you've never had to put up with useless, aggravating questions that only waste everyone's time, consider yourself lucky. There is definitely a difference between a snob and someone who doesn't do their own due diligence before involving other people.
Of all the mildly irritating experiences in the life of a developer I think juniors asking what you consider redundant questions ranks lower than office politics and a daily commute. Fortunately juniors can be sculpted by quality teamwork and leadership. My job as a tech lead is to be patient and use my experience to point people in the right direction. Some juniors don't know what questions to ask Google so I am glad they ask me and don't push a PR riddled with wasted time that I could have helped with.

I consider myself lucky to be in a position to teach and curate happiness. I was once a junior and probably asked some stupid questions that I could have just Googled but I didn't know what I didn't know.

If people are holding up meetings with low level questions you likely have involved the wrong people in the meeting. Every problem presented in the original comment has a solution. By all means let someone go if they are struggling so much that they are unhappy, else it's on you for hiring poorly or leading poorly.

Asking stupid questions from time to time is fine, asking stupid questions all the time while never getting anything done without handholding is not fine and will destroy team morale unless the person is fired.
There's a difference between "is it print or printf in python" and "I'm thinking about architecting this code in this way; what do you think?" I don't think they're talking about the former, and I hope for your team's sake you aren't talking about the latter.
The meeting might be 1 minute shorter, but the 50 minutes of time that one confused person lost when they stopped following for the rest of the meeting is also a waste, as well as the 10 minutes of time it takes the one person they pull aside to catch them up afterwards.
No - 50 minutes a junior spends trying to solve stuff on his own is 50 minutes invested in being more independent I consider that an overall gain.

I would take a junior that comes late with his tasks but mostly works independently over a guy that's asking the rest of the team for every setback so he can deliver the stuff he promised any day of the week. Juniors are almost always a net negative for the team - the ones who know how to reduce that are a huge benefit.

That might be true for independent development work but not for meetings, which was your original point
If people on the team exhibit a pattern of asking stupid questions, it may reflect poorly on the team, rather than the person asking stupid questions. It could mean there’s a lack of proper training and proper communication, or at the very least a lack of good hiring practices.

It is, however, important as a newbie to attempt to answer one’s own questions briefly before asking them, that’s one important way to learn and grow. My mentor at one of the best jobs I ever had instructed me on the day I was hired: “you must spend at least 5 minutes trying to answer your own questions, and also you must stop and ask someone as soon as you spend ten minutes trying to answer your own question.”

I try to factor this in by, when someone asks me for help with something of that nature, I first reply "what have you tried so far". Its important, and so I don't feel bad saying "Go try X or lookup Y and then come back and we'll go from there". I feel like it's a reasonable trade off.
As a manager and a hiring manager, the first time you do this, I'd explain to you that software is built and maintained by a team and not individuals, so you need to do a better job figuring out how to help that individual or create documentation so the team as a whole doesn't run into this issue again. The second time you'd do this, I'd explain to you that you're not meeting expectations as a team member and you've got exactly this window to fix things. By the third time you would have been managed out.

Don't do this kind of thing. It's extremely unprofessional.

This is like super simple. Every question should be asked, because others may have that question etc etc. The answerer should feel that they can defer the answer until afterwards or something.

I’ve always found its best to operate on the principle of “there are no dumb questions”.

"There are no stupid questions, only stupid people."

Sorry -- couldn't resist ;-)