Hacker News new | past | comments | ask | show | jobs | submit login
The answer to "Will you mentor me?" is...No. (pindancing.blogspot.com)
328 points by nochiel on Dec 11, 2010 | hide | past | web | favorite | 42 comments



D'oh I am somewhat embarrassed that my rants land up on HN.

On HN I try to have a measured tone. On my personal blog,I just write(rant!) without regard to "voice" and so on. It doesn't help that, while I enjoy meeting people and parties and such, I am equally content to stay in the shadows and don't care about "personal brand" or building a group to bring change and so on.

I just got frustrated at receiving the nth "please mentor me and send me some code so I can do a cool AI project for my bachelor's degree requirements. I need this next week." email.

http://news.ycombinator.com/item?id=670453 is the original thread , with many nice comments.


Pfft. Don't be embarrassed. It was a great post. Fwiw, every other place I've lived was also full of people who want to talk instead of doing; I don't think it's Bangalore in specific.


I don't think that is location based, I think that there is just a natural subset of people who are dreamers but do not have motivation to follow through. The valley may skew the distribution a little, the dreamer who are also doers set out for it and the mere action of setting out for it puts you in the do'er camp. So one may find a larger portion of do'ers in that specific geographical location. For the rest of us, I would imaging that you would find a similar distribution than any other point on the map.

On the note of mentoring, I resolved in my mind that if a request came from a HN member I would say yes no matter what. When joining HN, I was extremely impressed with the don't be a jerk mantra that was an overarching theme. Many of the other sites that I had been contributing to had devolved into a typical technical arrogance contents. Upon see a community of technical people that treated each other with respect (a rarity), I decided that not only would I like to be associated with the group, but that I would resolve to help any member in any way possible. Mentoring is part of that. I have to say, I have helped 3 people who where looking for mentorship on this site and all of them have been pleasant experiences. Some of them I did not see the value in what they where working on (that means nothing we all don't get why something went big at some point) but I did see the passion and even though I did not see the usefulness of there vision when applied to my life, it does not mean that I could not offer advice in other areas that I had run into similar pain point in my start-ups. For the individuals that I helped mentor on a pure "learning programming" basis from this site they where all pleasant, greatfull and considerate of my time. I am glad that I did each and every one of them, as I believe not only did it help them progress but it help me as well. Transitioning from a gatherer of wisdom to a giver takes practice and each of them gave me the opportunity to practice. For that I am greatfull.


Is there any truth to Silicon Valley (or Boston, or Waterloo, or any of the other small cities surrounding top tech schools) being an exception to this? I've heard both that Silicon Valley is full of Doers, and that it's full of Talkers. I'm sure it's not a binary choice.


I liked it. I was expecting to read yet another "entrepreneur" post by some khaki-wearing dickhead. This post was actually interesting, and contained data!


I thought it was brilliant, liked the uncensored honest tone, and will link to it in the future.


Thanks to this article, I had the opportunity to read your other articles on your blog related to programming and sundry. You sir, are my new hero :). No, I am not going to ask you to mentor me, but after ten years in the Enterprise world, went from a not-so-good developer/techie to a paper-pushing, email-sending Ninja of a manager(good one at that) :).

Got tired of it and am back to doing something on my own, which involves actually writing code. There are days that I have doubts about whether I am really any good at this. But I need to work harder and persist, which I never did before.


I generally default to "Yes", but the alternative is "Put this off for later" and folks who are not elementary school English teachers very rarely receive another look to their email if I can't address it immediately. I don't keep track of it but I think this means about 60% of people get yes these days.

Things which induce me to drop what I am doing and immediately get to work on someone's behalf:

1) Demonstrating that you know me well, either through familiarity with what I've done, what I've written, myself personally, or someone close to me.

2) Demonstrating that you have put a lot of work into something and can benefit from specific application of my expertise.

3) A precise request which I can satisfy. ("Can you teach me about running a business?" is not a precise request -- well, OK, it is, but only if you accept "I could." as a complete answer. "I have built an application which does X. I want to increase its organic search rankings for X, and having done my homework about SEO, I understand this means I need to get links to my website. Can you give me an idea for an X-related piece of linkbait?" is a precise question.)

Things which people frequently try that are not as successful as they probably hope:

1) "Help me, Obi Wan, you're my only hope." I enjoy backing underdogs, not losers. There is a difference. Pluck and vim and tales of what you've managed to do make you sound like an underdog. Apologies and lack of confidence and telling me who you've already asked who ignored you totally make you sound like a loser. (By the way, it very rarely improves any negotiation to tell the other party that they were the first person you thought of after the first four people you thought of said no.)

2) "This will only take..." Asking me to drop what I'm doing is much more disruptive than many people would assume it is. Also, folks have a tendency to underestimate how much work is required or how thoroughly I tend to answer requests which I answer.

3) Napkin stage ideas. Most of them will be culled before shipping. Why should I dedicate my limited time on a project which will probably be shelved, when I could instead work on something which will, with certainty, help people?


And the first thing that popped into my head was: I wonder if AskPatio11.com is available? Throw up these instructions and a webform and voilá. And then, if we hook it into Pat's email, we can get real time stats on his response and acceptance rates. For paying customers maybe we can offer access to stats on what the best time of day to email is and what help requests/idea critques are trending.

On a more serious note, thanks for writing this, Patrick. I had an idea a few days ago--more precisely a new permutation on an idea I've been banging on for over a year now--and my goal is to launch on Jan 1. I would really like to have your input on some of the details. I had decided to not email you--you are busy and right now I can't afford to pay for your time--but I'll take 60% odds. So you'll be hearing from me as soon as I launch, hopefully 21 days from today.


> 3) Napkin stage ideas. Most of them will be culled before shipping. Why should I dedicate my limited time on a project which will probably be shelved, when I could instead work on something which will, with certainty, help people?

Thanks for this. I've spent too much time helping people work out the scenarios and options for projects which will never happen. I only recently started realizing this for what it is, and you just summed up really well exactly the problem with it.

A couple other observations - a friend of mine makes nature documentaries and commercials, and he's constantly getting requests from people who want to work for free for him, get mentored, get advice, "look at my stuff", etc, etc. He says whenever anyone asks to work for him, with him, etc., he gives them a simple, straightforward, ~5 hour assignment to do. That cuts 90%+ of people right there.

> I enjoy backing underdogs, not losers.

I've found "helpful-but-not-compassionate" goes a long ways, since I almost never get requests like this any more. I write all over the place "drop me a line, what can I do for you, etc, etc." Lots of people take me up on it (I got 23 emails from people today, most were interesting... this is a bit higher than normal).

But I find losers like compassion. Instead of wanting to win, they want to feel good about being losers. Thus, any help you give them is useless to them, until they gain a real desire to win, and ideally evidence some of that desire. If you write touchy-feely stuff, you get people coming to you ostensibly for advice, but secretly just wanting a shoulder to cry on, which is worse than useless if you want to build real world stuff.

Ultra-practical, humble, disciplined, hard working, willing and eager to serve, charitable, empathetic, but absolutely no compassion seems to attract just about everyone you could really help, while turning off most people who want a shoulder to cry on. Of course, no compassion completely outrages people who have compassion as a heavy part of their identity.

That's the price you pay, I guess. I reckon all the practical people will look at these comments and nod, and the people whose hearts bleed will be outraged. That's not actually a good thing in my book, but so it goes. All life includes tradeoffs.


I reckon all the practical people will look at these comments and nod, and the people whose hearts bleed will be outraged.

FWIW: I'm a bleeding heart type who has spent a lot of time pondering how to be genuinely helpful without stepping in a lot of the pitfalls I've either witnessed or experienced first-hand. I've drawn similar conclusions. I would go so far as to say that if you really want to help someone, it is actually cruel to go the "I feel your pain" route. A lot of people will stop trying to really fix the problem if they can get some emotional relief. Also, my observation has been that tea and sympathy is generally offered for really hard problems that people believe cannot be fixed. I have come to view tea and sympathy as a very ugly message -- a veiled way of saying "you poor thing, you're doomed".


More than often a request for "mentor me" sounds like person's laziness to find their way. They want the easy way out.It sounds like "do it for me" rather then "guide me about doing X in a specific way".


"Not for one moment did I doubt that you were the Buddha, that you have reached the highest goal which so many thousands of Brahmins and Brahmins' sons are striving to reach. You have done so by your own seeking, in your own way, through thought, through meditation, through knowledge, through enlightenment. You have learned nothing through teachings, and so I think, O Illustrious One, that nobody finds salvation through teachings. To nobody, O Illustrious One, can you communicate in words and teachings what happened to you in the hour of your enlightenment."

- Siddhartha by Hermann Hesse


Excellent post. Take responsibility for your own intellectual development and you will do much better than if someone were to show you the exact solution to a problem you're working on.

I see this a lot with students in introductory physics. If they come to me and say "I don't get it" or "I can't get started" I actually invest less time than if I get a good student who has hit a wall and can't get through. The student who won't/can't start will get sent to the tutoring center and I will spend the time with the kid who works hard. There's only so much of me to go around and I want to make it count.


I think we should all endeavour to explore elements of the Socratic method (http://en.wikipedia.org/wiki/Socratic_method)


"Socratic method: Ask leading questions until you have some poor fellow's thoughts so tangled up that he feels like an idiot." - - Not an exact quote, I read it in a book about homeschooling somewhere.


Nooo... ;)

Imho, it's about learning how to follow a line of enquiry to a useful conclusion.

In terms of self-led teaching, this is useful because it places the responsibility of learning on the student (i.e. it equips the student with the skills necessarily to learn independently).

If we are able to question _why_ we're doing things a certain way, we can work out whether our reasoning is watertight .. or whether it needs to be revised (because it has 'leaks').

The truly beautiful thing about this style of educating, is that the path of inquiry is dictated by necessity - that is; there's not a teacher prescribing what to learn.. the student is learning the subject matter because it's relevant to the task at hand.

I think this helps to reinforce what's being learnt, and also helps to create passionate learners.


While that's probably all true about what we call the "Socratic method", the actual method used by Socrates ends up a lot closer to that quote. If you read any of the authentic Socratic dialogues, that's where they all end up.


I still prefer using Socratic Method, because of how deeply and thoroughly a student understands the matter once the inquiry is over with.

But yes, unfortunately, it drives people nuts, unless they have a penchant for this sort of thing.

Even if it drives them nuts, it works, albeit the student tends to lose focus if s/he gets upset or frustrated and so the whole thing can take a long time.


I don't think you understood my comment.

The "Socratic method" as a teaching tool is one thing, and I actually rather like it.

The actual method Socrates uses in the Socratic dialogues is something similar, but less constructive. Basically he asks someone the meaning of "justice" or something, and then uses questions to demonstrate all the flaws in the proffered meaning of "justice". At the end, all you're left with is not a better meaning of "justice", but just the sense that what you had to begin with doesn't work.


While I have heard that called "the Socratic method" it actually isn't; I agree that is an excellent form of tutoring, but it is better thought of as a type of "hinting" with leading questions being a kind of hint.


But it can be time consuming. Back in college, a friend asked for some help with his homework in implementing a linked list. I did the whole Socratic method on him, and it took (from what I recall) about four hours for him to have his "aha" moment.

Sometimes it's just easier to say, "Oh, you want to support local variables in your compiler? Easy, just implement your symbol table this way and support for local variables will just fall out as a side effect."


I agree, but I bet your friend truly understood linked lists after running through the process :)


Heh. I do this with my kids when they ask for help on their math homework. I won't help until they've made an attempt themselves. First of all more often than not they can figure it out on their own. Secondly if they get stuck, I at least have a better idea of where their mental blocks are.

I learned this approach from my wife, incidentally, who is a teacher.


I like the Socratic method, but don't always feel I have enough energy or time to do things that way. When somebody asks me for help with math homework and I'm tired or in a hurry I'm much more likely to quickly sketch an answer than behave in a teacherly manner.


This.

I'm a math graduate student. I was also once a philosophy student, and so I have a soft spot in my heart for the Socratic method. Unfortunately, it doesn't work so well in my teaching, because the poor snowflakes have been so well-conditioned to avoid thinking. After a year or two I gave up and became part of the problem.

It takes me about thirty seconds on average to sketch the solution to the typical algebra homework problem. It'd be more instructive to lead them through it interactively, but I just can't make the ROI high enough to make it worthwhile.


I can only agree. Recently I wanted to get better at C and started to poke around in wget's bug tracker. I found an appropriate bug and asked twice on the mailing list if my suggested implementation would be okay. No answer in both cases.

Then I just went and wrote the code, put up a repo on Launchpad. I was soon getting many helpful comments.


Mentoring other programmers can be a lot of fun.

I knew a student once who was messing around with Java, and I pointed him at Lisp and some code for a metacircular evaluator. He figured it out in no time flat. It's fun to blow people's minds, and to watch them learn.

But as the article says, you can't help people who aren't willing to roll up their sleeves and go to work.


I think this is good advice; maybe it could be paraphrased - don't ask to ask (dive in).

I think people are often quite hung up on being courteous, and are keen to gain permission to have that initial conversation.

While I think that's understandable, this is a nice example of why it's useful to a) be persistent, and b) get to the point of the conversation efficiently and effectively.


I am struck by how much of that seems to echo http://www.catb.org/~esr/faqs/smart-questions.html



This is an interesting counterpoint to the OP (from your link):

  When I was starting to learn Linux after getting frustrated
  and formatting Windows ME off my HDD, I quickly learned how
  to ask questions the smart way: go to a Linux-promoter's 
  forum and say, "Windows does <insert task> better than Linux"
  or "Linux is bad because it can't do <insert task>". Every 
  time I did this, I was flooded with solutions... unless I 
  was right. Either way, I had my answer. Meanwhile, if I 
  asked questions the smart way as recommended by Raymond, 
  I'd be lucky if I received any answers -- I'd have already 
  done a bunch of research, and this would be clear, so 
  nobody else would feel the need to do experimenting or 
  research on their own to figure it out.


This is true even outside of programming, I occasionally get emails from students at my alma matter asking for advice on getting into investment banking, and in general I'm much more likely to respond if they show they've already put some effort in.


The same applies to job applications. Some companies don't know that they could use your service - so prove it to them!


* 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.*

Funny -- this is almost exactly the advice I wrote in "How to get your professors' attention -- and coaching and mentoring": http://jseliger.com/2010/10/02/how-to-get-your-professors%E2... . The big thing you need to do if you're trying to get someone's attention is show that you're worth the investment.

Most people either don't do this or don't know how to.


We need to define a time associated with the word "mentor" or "mentorship". I'm sure most people that ask someone to mentor them don't expect a Mr. Miyagi style time investment. You'd be surprised how far the occasional IM chat or email will go.


I like the comparison of the arts industry to the technology industry. The same can be said for finance and consulting industries. I feel there has been a complete loss of the apprenticeship and mentoring model because of the growth of information. When you discover that the majority of people are selfish, it really turns you away from mentoring. I want to help people that are willing to give back to the next generation and 'pay it forward', but most people take the help and just leave it at that.


My experience has been that anyone I would want to mentor me is too busy running their own company to have time to mentor.


I think what the author is saying is that having done projects on your own helps your credibility.

I disagree that ML is something that can be picked up through just an OCW site and such. "Real" ML involves way too much mathematics and does not overlap much with programming. ..unless your idea of Software Engineering is writing stuff in MATLAB.

There are so many books and the path to knowledge can be daunting.

In the spirit of the blog-post's advice I was trying to gauge whether to take the author's advice seriously, but after some short searching I could not come up with publications in ML. I definitely found several moderately complex projects with an ML "flavor." And that's already way better than most people who try to get into this by themselves and shows Ravi picked up on a bunch of stuff.

Ravi mentioned 5 years ago that reading the literature felt like banging your head against the wall and I think most of people who attempt the self-taught route are going to feel the same.

You're looking at a year or two of full-time college-like preparation during which you will learn lots of math but little to no ML. Only then can you begin to really learn ML. The books by themselves are simply not enough to learn this stuff. One needs to literally go through as many lectures as possible in the relevant coursework online, and do the labs. Various CS departments that actually have some traction in ML spend a large chunk of time designing the course and labs are incredibly illuminating.

If you just want to learn how to apply an ML algorithm taught in an undergraduate-level course, disregard my post.

Truly understanding anything written by Bishop or even going through ESL completely is something that is going to take an enormous amount of time (on your own easily a year, if you have the background) and mathematical skills that are typically way outside of what a Software Engineer deals with in any of the projects. I mean Bishop introduces hyperpriors in Chapter 1 or 2 for chrissake.

I can see how getting into patricle-filtering based probabilistic robotics can be easier, but try some EKF-based methods and feel the pain, that is, feel the amount of math that you don't know yet.

Extra hint for HN readers: take a look at the CVs of hot-shots in ML. Lots of Math and Physics undergrads, and a PhD in Theoretical Physics or Mathematics is not a rare occurrence by any means.

I'd also take a risk and say that traditional mentor/student relationships in India are quite different from the less formal ones in the West. My experience with colleagues from India is that they are much more likely to observe the authority ladder. Just look up Anil K Bera's interview with C.R.Rao (of Rao-Blackwell theorem) especially w/regards to how things were going at ISI.


What a great comment (Thanks Sizzla) Lots of wisdom in it. I agree with most of what sizzla says, especially

"You're looking at a year or two of full-time college-like preparation during which you will learn lots of math but little to no ML. Only then can you begin to really learn ML."

(In my experience) This is completely true. I would go so far as to say ML is applied math. It took me more time than a year, but it could be done in a shorter period of time by someone doing it full time/ someone brighter than me.

"The books by themselves are simply not enough to learn this stuff. One needs to literally go through as many lectures as possible in the relevant coursework online, and do the labs. "

This is also true. Thankfully most of this(courework/lecture/papers) is online and (most) professors are glad to answer (well structured, focussed) questions by email. If you are saying this is not as good as doing a PhD in say, CMU, full time I will be the first to agree. If you are saying it can't be done at all outside a formal PhD program I will have to respectfully disagree.

"Truly understanding anything written by Bishop or even going through ESL completely is something that is going to take an enormous amount of time (on your own easily a year, if you have the background) and mathematical skills that are typically way outside of what a Software Engineer deals with in any of the projects."

This is true too :-). Most software engineers shouldn't try. The time commitment required is enormous and the whole idea of my rant was to try to discourage people from taking shortcuts like "being mentored".

That said, perhaps where we disagree is the idea that something taking a large amount of time is a bad thing or that such understanding can only come with formal education. The difference in our opinions may boil down to or opinions about "you can't do this on your own".

"I definitely found several moderately complex projects with an ML "flavor." And that's already way better than most people who try to get into this by themselves and shows Ravi picked up on a bunch of stuff."

Thanks, but (a) I don't write much about the work I do on my blog or elsewhere except in the most general terms (for many reasons I won't go into here). Judging the quality of my (paid for) work by referring to my very infrequent blog articles/website is a little naive. (b) More importantly I made no claims to be a professional ML researcher, who should be approached by people who are or want to be fulltime researchers.

I am "just a programmer" working on ML projects. My output (that I trade for money so I can put bread on the table) is code , not research. I don't try to hide that or give a false impression of being a professional researcher.

At best I am an amateur dabbler in the research bits of ML, just like some people dabble in astronomy without being professional astronomers. It is just something I like to fiddle with, so please don't take me seriously.

"In the spirit of the blog-post's advice I was trying to gauge whether to take the author's advice seriously, but after some short searching I could not come up with publications in ML."

You could not come up with publications because I don't have any!. And you should not take my "advice" ( I was just ranting, not really giving advice!) at all :-).

That post was written for people who write to me asking for mentorship and so on, who presumable have made the (wrong!) decision to ask me for advice. It was not written for serious researchers trying to gauge whether they should take me seriously . You shouldn't, for the simple reason I am not a researcher, just a programmer doing ML work!

My initial goal was to do interesting projects/get away from the enterprise outsourcing world. That is fairly hard to do in India but that is now done and sustainable.

What I do now is convert research results (from professional researchers) into well engineered systems. To do this I need to able to consume research, not generate it. So yes, you are completely (utterly, unequivocally) right when you say I don't have any publications/research credentials and should not be treated as an ML researcher.

At some point, I think I will try to publish. It is a decent challenge for someone like me with no formal education in math or CS. I like challenges.(Tangentially a lot of published material is rehashed minor incremental stuff, with irreproducible results and no proofs. The really good papers are somewhat rarer.)

All I'll say for wrt publishing now is "Watch this space". Publication is on my agenda. Not a very high priority but it is a goal. People tell me it can't (in practice) be done except in a formal PhD(ish) program. I might even do a formal PhD one of these days - I like the idea of working with smart people - but meanwhile I am not going to wait around to be "given permission" to learn/do things.If at some point I have some published papers so I an be taken "seriously" by others, that is great. If I don't, that is great too. Life is too short to go around satisfying other people's expectations.

I've never listened to people who say I can't do this or that because I was too old/too young/too uneducated/born in the wrong place/living in the wrong place/don't have the right educational background/whatever.

If I can't bypass an entrenched system or pick the locks of doors slammed in my face, then what kind of hacker am I? We'll see someday if people can get published outside the formal "system". I am not daunted by the prospect. And if I do get published, I will post here on HN.

"I'd also take a risk and say that traditional mentor/student relationships in India are quite different from the less formal ones in the West. My experience with colleagues from India is that they are much more likely to observe the authority ladder."

This is very true so you are not taking a risk at all by saying so. I've been reprimanded before for "thinking like a Westerner","not respecting hierarchy", "not having asense of patriotism or nationalism" (!), and "treating superiors as peers" (all actual quotes).

There are some really good profs here who treat their students like colleagues and one of them recently reached out to me with an offer of doing joint research in an interesting area. So maybe I'll end up being professional researcher after all. I am trying to work out the logistics now. Wish me luck.

(PS: I am completely embarrassed that a rant I dashed off in twenty minutes or so is getting so much attention on HN, Blush! Run away and hide!)


So your answer isn't 'no'. It's 'If you've shown significant effort on your own, then yes; otherwise, no.'


If you compete with me I'll not mentor you.




Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: