Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The complement of the Being a good mentor question.

I work with many very senior people that have vast amounts of knowledge and wisdom in Software, Engineering and our business domain.

What are some tips for gaining as much knowledge from them? I don't want to take up too much of their time, but also want to take full advantage of this since it really could help develop my skills.

What are some good questions to get the conversation rolling in a sit down mentor/mentee session? Some of the people providing mentorship have little experience in this area, so it would help to be able to lead some of these discussions.

share|improve this question

closed as not constructive by Walter, Yannis Rizos Mar 7 '12 at 17:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

4 Answers

up vote 1 down vote accepted

Warning: While this may sound like a smart alec answer and does have some humor, there is a legitimate point in this.

Do you just want to know more stuff or do you want to improve some technical skills? There is a difference here as I'm sure everyone has a lot of personal trivia that has questionable value in the grand scheme of things. If you want to develop your skills you will likely have to be willing to do a few things:

  1. Assess yourself or handle feedback of an assessment - This is about knowing where you are, which can either be something you figure out yourself or have someone help you get there. A key point here is to get to know where you are and why it may be both good and bad to be at this point.

  2. Attempt to determine which skills need work - While this may be seen as a finding your weakness, I'd be more tempted to paint this as you want to have basic competency in some areas and this is just ensuring that. Another way to see this is what areas do you want to improve and get better. Finding your focus may be another way to see this.

  3. Know how you learn and pick up stuff - Do you prefer to learn independently or as part of a group? Do you prefer to read stuff or listen to it? The key here is about knowing what learning style works for you which can take some trial and error. What kinds of methods make sense to use between interactions to try to get better before getting assessed again.

  4. Feedback on what's working and what's not - This is last on the list as this is more of a what to do a few months after you start to see if things are working our or not. This can be the trickiest point as the key here is to see where you are better and what may not have worked as well as you'd hoped. The flip side is to consider how well can you communicate these points as well as receive them since the relationship does have at least a couple of sides to it. Did you pick up the new material? If something was missed, how important was that piece?

  5. Personality differences - Does the senior person tend to joke a lot more than you like? Do they be overly serious in your view? There are many relationship dynamics that can make those initial interactions annoying but there is a fine line between being assertive and stating what you feel and ramming it down the other person's throat,e.g. picture the "I will not be ignored" line from "Fatal Attraction" if you want a visual on this point.

Most of the questions above are rhetorical, but tend to highlight how to see if something is working for you or not. The initial rules of the relationship shouldn't be that complicated at first though there is the acknowledging on each side that both of you want to be in this relationship and here is the focus for the next month or so. I'd expect the first few months to be the hardest as this is where all kinds of crazy stuff will happen that after you get into that rhythm it may be surprising how comfortable some of it becomes.

share|improve this answer
add comment

ask smart questions where you can. read before asking. see how much you can figure out for yourself. resort to spoonfeeding only when everything else fails.

share|improve this answer
2  
I would listen to them very carefully while they are talking about design, source code etc. And before asking any question to mentor I would ponder about my own several solutions to the problem and most of them time my mentor used to come out with better solution. –  PradeepGB Dec 5 '10 at 5:56
add comment

Don't take what they say for granted. Question all of their advice and (politely) point out any potential problems you see in it. More experienced programmers make mistakes and have biases just like everyone else. A good mentor will be patient with you and won't get upset at you for this.

Besides that, the why is more important than the what. Most bits of advice have exceptions, and you won't learn how to handle those exceptions without knowing why they exist.

And don't stop with your mentor. Treat managers and other programers the same way. If people get frustrated with this, ask yourself: what are they afraid of?

The important thing is not to stop questioning. Curiosity has its own reason for existing. One cannot help but be in awe when he contemplates the mysteries of eternity, of life, of the marvelous structure of reality. It is enough if one tries merely to comprehend a little of this mystery every day. Never lose a holy curiosity.
- Albert Einstein

share|improve this answer
add comment

Tactics for engaging a senior developer in a discussion

  1. Pick a time when they're not busy clacking away on the keyboard (coffee machine is good)
  2. Don't be argumentative, you're not trying to disprove their approach, only to gain an overall understanding of what they consider important
  3. Build up a rapport by referring to previous question and answer sessions so that they can see that you're developing as a developer
  4. Ask their opinion on an approach you have taken with something, have it ready to show on your machine if they express an interest
  5. Keep a pile of books on your desk (and refer to them) so they can see that you are readying around your subject, ask their opinion on those books and which ones you could benefit from reading

Above all, always be polite especially if you disagree with something.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.