Saturday, December 11, 2010

The answer to "Will you mentor me?" is

No.

Thanks for understanding.

Ok that was the nutshell version. If that answers your question, that's great.

The more detailed answer is "No, I won't mentor you,but in this blog entry I will tell you what to do instead, to get where you want to go". And I can reply with the url to this post the next time someone requests mentoring.

I once wrote a comment on Hacker News about what *I* learned about ending up with awesome mentors. Here it is, slightly edited so it reads a little better.

(The OP asked) Recently I have tried approaching a few good developers through their blogs about various matters including advice on how to go about some projects I'm undertaking but I am surprised at the unfriendly responses I have received. Maybe I have been going about it the wrong way but it got me thinking; Shouldn't the guys whose work we look up to be keen on what some of us young aspiring developers have to contribute to the community? I mean sure, we don't have the experience or skills some of these guys have(yet) but we still have some ideas that are viable with the right technical skills to back them. If any of them want to reach out and help nurture some potential talent, it may very well benefit all them in the end, whether financially or in terms of new ideas and experiences.


I commented thus


I have some experience in this, so let me try to explain a couple of things that I learned in the "school of hard knocks".

Once upon a time I was in a situation where I thought I could contribute to something one of the best programmers in the world was working on so I sent an email (I got the address from his webpage) and said something to the effect of " you say on this webpage you need this code and I have been working on something similair in my spare time and I could write the rest for you over the next few months because I am interested in what you are doing" and I got a 2 line reply which said (paraphrased) " A lot of people write to me saying they'll do this , but I've never seen any code yet so I am a little skeptical. Don't take it personally. Thanks. bye.".

So in the next email (sent a minute after I received his reply) I sent him a zipped file of code with an explanation that "this is what I've done so far which is about 70% of what you want" and he immediately replied saying "Whoa you are serious. That is refreshing .. ' and opened up completely, giving me a lot of useful feedback and very specific advice. He is a (very valued) mentor to this day.

Another time, I was reading a paper from a (very famous) professor at Stanford, and I thought I could fill in some gaps in that paper so I wrote a "You know your paper on X could be expanded to give results Y and Z. I could use the resulting code in my present project. Would you be interested in seeing the expanded results or code" email and I got a very dismissive one line email along he lines of " That is an old paper and incomplete in certain respects, Thanks".

So a few days later, I sent along a detailed algorithm that expanded his idea, with a formal proof of correctness and a code implementation and he suddenly switched to a more expansive mode, sending friendly emails with long and detailed corrections and ideas for me to explore.

Now I am not in the league of the above two gentlemen, but perhaps because I work in AI and Robotics in India,which isn't too common, I receive frequent emails to the effect of "please mentor me", often from students. I receive too many of these emails to answer any in any detail, but if I ever get an email with "I am interested in AI/ Robotics. This is what I've done so far. Here is the code. I am stuck at point X. I tried A, B, C nothing worked. What you wrote at [url] suggests you may be the right person to ask. can you help?" I would pay much more attention than to a "please mentor me" email.

In other words, when you asks for a busy person's time for "mentorship" or "advice" or whatever, show (a) you are serious and have gone as far as you can by yourself (b) have taken concrete steps to address whatever your needs are and (optionally. but especially with code related efforts)(c) how helping you could benefit them/their project.

Good developers are very busy and have so much stuff happening in their lives and more work than they could ever hope to complete that they really don't have any time to answer vague emails from some one they've never heard of before.

As an (exaggerated) analogy, think of writing an email to a famous director or movie star or rock star, saying "I have these cool ideas about directing/acting/ music. Can you mentor me/give me advice?"

I am replacing the words "app" and "technical" in your sentence below with "film" and "film making".

"if I have an idea for a film that I want to develop, but my film making skills limit me, it would be nice to have people to bounce the idea off and have it implemented. "(so .. please mentor me/give me advice/make this film for me).

Do you think a top grade director (say Spielberg) would respond to this?

The fact that you at least got a 2 line response shows that the developers you wrote to are much nicer than you may think. They care enough not to completely dismiss your email, though they receive dozens of similar emails a week.

As someone else advised you on this thread, just roll up your sleeves and get to work. If your work is good enough, you'll get all the "mentoring" you'll need. "Mentoring" from the best people in your field is a very rare and precious resource and like anything else in life that is precious, should be earned.

My 2 cents. Fwiw. YMMV.


That says most of what I want to say.

Some minor points now, addressing some points raised in the latest emails.

If you claim to be "very passionate about X" but have never done anything concrete in X I find it difficult to take you seriously. People who are really passionate about anything don't wait for "leaders" or "mentors" before doing *concrete* work in the area of their passion, however limited. Specifically wrt to programming/machine learning etc in the days of the internet and with sites like Amazon or the MIT OCW you have no limits except those you impose on yourself.

I hate to sound all zen master-ey but in my experience, it is doing the work that teaches you what you need to do next. Walking the path reveals more of the map. All the mentoring a truly devoted student needs is an occasional nudge here or an occasional brief warning there. Working with uncertainty is part of the learning. Waiting for mentorship/leadership/"community"[1]/ whatever to start working is a flaw that guarantees you will never achieve anything worthwhile.

Ok pseudo-zen-master-mode off. More prosaic version - "shut up and code". Or make a movie on your webcam, Or write that novel. Whatever. Your *work* will, in time, bring you all the mentoring and community or whatever else you need.

As always My 2 cents. Fwiw. YMMV. Have a nice day.

[1] For some reason Bangalore is crawling with people who first want to form a community and then start learning/working/whatever. These efforts almost invariably peter out uselessly. First do the work. Then if you feel like "communing" talk to others who are also working hard.Please read this , sent to me by my friend Prakash Swaminathan.

24 comments:

Prakash S said...

Ha, I remember that conversation about mentors.

BTW: I love making guest appearances on your blog :-)

Sunayana said...

Heh. I should write a similar post about 'Please don't ask me about graduate programs in CMU without reading the website first :P'.

Anonymous said...

:-)
Infact, you had guided me a lot of the books that I have to read to become a better programmer inspite of me being a anonymous guy in Twitter and blogdom.

Vignesh(vignemp5)

Dharmesh Shah said...

Fantastic article. Strikes the right balance between being polite, direct and helpfulness.

RBerenguel said...

Interesting. Asking for mentoring is free, but being really committed isn't: you devote time (and probably a lot of it). If you ask for mentoring while at the same time showing you can offer something new or are really committed, the perspective is different. You are not a wannabe, you are there and just need some small course adjustment.

Cheers,

Ruben
Latest in my blog:The emacs 30 Day Challenge Update #1: Writing this in conkeror

Andrey Fedorov said...

Hah! I love how your friend's post mentions NeXT as a piece of tech that didn't go anywhere. So much changes in 11 years, and yet so much stays the same... :)

Starcraft 2 Strategy said...

Interesting post. I'm actually surprised that people would approach you unknown to you to ask for mentorship. Almost all the mentorship I've received in my life has been through personal introduction. I agree that if it's a blind intro, the Mentee should have to prove himself, otherwise it will probably end up being a big waste of time for the Mentor.

Jeremy said...

This is right in line with a 'note' by one of my favorite business school e-ship professors, addressed to MBA's http://www.actonmba.org/pdf/naive_networking01_08.pdf

Anonymous said...

Thank you for such a wonderful post.

Anonymous said...

I feel you are forgetting how it is to be on the other side of the barricade.
Say you're a smart person but don't have a mentor that knows the domain you're interested in.
What are the odds that you'll reinvent a lot of well known things that somebody already did? I'd say very high. Which is a consequence of the lack of culture in that particular domain. And yes, the culture can and should be acquired, but it takes a long time even when taking the "right" paths. It takes forever unless you have good guidance. And unless you're in the right place, you're doomed. So I'd be more careful into dismissing aspiring researchers / coders emails.

Disclaimer: I am biased by the way I see research unfolding in the machine learning community. I am lucky to have a good advisor that helps me immensely in figuring out dead ends fast, but I remember how much time I lost before that.

Spaniard said...

Here in Spain we have a little story about total commitment.

In short is something like this:

A man play piano beautifully at a concert and a lady there was truly impressed by so much virtuosity.

After the concert, the lady told to the pianist 'I'd give away half my life to play piano like you'.

The pianist answered: 'Madam, that's exactly what I've done'.

srean said...

Heh! seems hackernews.in still rankles :)

And thanks for writing this. May be I should point to this url when I get those "I found your web page. Should I apply to university a, b or c ? What are my chances of getting into university c ? I have strong interest in VLSI, genetic algorithms and parallel processing. It is very important that you guide me..."

Anonymous said...

"If you claim to be "very passionate about X" but have never done anything concrete in X I find it difficult to take you seriously."

I have a student now who tells me almost every class session how important this class is to him. He is scoring just a few points higher than someone who showed up for class once and never returned.

Indeed. At least do the homework - all of it, submit something, even a text file saying "I have no idea".

Anonymous said...

"For some reason Bangalore is crawling with people who first want to form a community and then start learning/working/whatever. These efforts almost invariably peter out uselessly. First do the work. Then if you feel like "communing" talk to others who are also working hard."

Gold :)

Rohit Arondekar said...

This should probably be the first thing they teach in Universities. :)

Varadh said...

True. Before "mentoring", people who can mentor want to see some "proof" to be sure it is worth their time. They might be looking for someone like you, but the onus of proving that you are that "someone" is in the "doing" and "showing". Great post.

Susan Lim said...

You are right about this and this is very enlightening.

If you claim to be "very passionate about X" but have never done anything concrete in X I find it difficult to take you seriously. People who are really passionate about anything don't wait for "leaders" or "mentors" before doing *concrete* work in the area of their passion, however limited.

Great job on this post. It is very inspirational.

Sri said...

Hey, thanks for your post.

Approaching a potential mentor is like asking for money from a stranger. You'll get what you want only if you're worthy.

Nelson Melo said...

This article reminds me of an old Eric Raymond reminiscence called "How to ask Questions the Smart Way".....similar to your argument in a few ways:

http://www.catb.org/~esr/faqs/smart-questions.html

Olin Hyde said...

Your advice on how to find a mentor is spot on -- wish someone had given me this advice 20 years ago. I've worked in both Hollywood and high-tech. Finding a mentor is essential for young executives that want to rise to the top of their careers and reach their full professional potential. The very best mentors are the ones that find YOU. The best way to attract a mentor is to prove you add value.

Nilesh said...

Great post. I learned this when I read about how Steve Vai ended up on Frank Zappa's band. As a teenager, Steve transcribed many of Frank's songs and mailed it to him. Zappa was impressed and hired him as a transcriber.

http://en.wikipedia.org/wiki/Steve_Vai#1970s_and_1980s

Dalip said...

Ravi, That's the best advise I have ever received. Thank You. I have another question for you - How did you quit the enterprise software world and reach where you are? I mean, after 10 hours of work, 7 hours of sleep and another few hours of travel, chores..etc, I hardly find time to study any thing. How did you manage your time ?

Ravi said...

"I mean, after 10 hours of work, 7 hours of sleep and another few hours of travel, chores..etc, I hardly find time to study any thing"

That still leaves you 16 hours of potential study on the weekends!

More seriously *everyone* has the same 24 hours a day. True for high achievers like Linus Torvalds and Steve jobs.

True for me. True for every one you ever met. True for you. You have to figure out what you want and how much time to devote to that effort and where to squeeze out your time from. There is no magic formula :-)

Arvind said...

Super super post and echoes my thoughts on the subject. Thanks for a fantastic read :)

Arvind