
Ask HN: Are there any good hacker mentors out there? - Rayzar
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.
======
TallGuyShort
Maybe I'm misunderstanding what it is you're trying to do, and I may be
misjudging your approach entirely (so forgive me if I'm way off the point),
but I would recommend trying things yourself more. That is, ultimately, a huge
aspect of "hacking". It's also, IMO, a much better way to learn most of the
time, than being taught by someone else.

Another reason I say that is that, as someone who helps run a programming-
focussed forum, I can tell you that hacker's generally help other hacker's
once they've seen some of their work. I'm sure the bloggers you have contacted
get a ton of requests for help by people who have made no attempt to solve
their own problems - naturally they might assume the same of you, and thus
gave you a rude response. When you've contacted these developers, have you
shown them what you have so far? Have you asked very specific questions about
the things they talk about in their blogs? If you haven't, and if those aren't
the kind of questions you want to ask, I think you should try another medium.
Forums, IRC, etc...

edit: There's also a huge amount of discussion on this site about start ups,
independent projects, hacking, etc... Just be a regular reader - you'll learn
a lot!

~~~
Rayzar
Thank you for your comment. In retrospect I may not have adequately detailed
the work I have done so far, so that explains the responses.On the other hand
though,sometimes its not just about the programming aspect of a project,for
instance, if I have an idea for an app that I want to develop, but my
technical skills limit me, it would be nice to have people to bounce the idea
off and have it implemented. In short, great projects are made up of good
product vision and adequate technical skills to implement it, some people have
the two skill sets while in other cases its not that easy to bring two
different people with the complementing skills together.

~~~
adbachman
When you say _have it implemented_ , it almost sounds like you're looking for
a 'hacker' you respect to enjoy your idea so much that they'll build it for
you. That would turn off anyone.

I think what the parent commenter meant by showing your work is to have either
a list of related projects you've finished and details on how they relate or
all the material you've gathered so far and a very specific question regarding
your current stumbling block.

If you approach a guru (or anyone, for that matter) with a question that would
only take five minutes to google, of course you'll get the shaft. On technical
issues, everyone is guilty of ignorance until proven innocent, and willful
ignorance is not lightly tolerated.

Lots of folks just aren't looking for mentorship opportunities, too. I'd say
scan the list of current and previous mentors for something like Google's
"summer of code" and use it as a jumping off point for contacts that have a
track record of providing mentoring to aspirant hackers.

------
niyazpk
I have written a few articles in the web about programming topics and have
published a few pages of source code too. Some of these articles are in the
top results of Google for the right keywords. Now the problem is that I get
emails asking about these topics, and _I am surprised at the un-professional
questions I have received_ from _most_ of these people. I don't want to sound
like a veteran-know-it-all-programming-guru who is whining about the stupid
people who are asking his help. I am sincerely not. I am just another
programmer who feels that people need to know how to ask for help.

Here are some types of questions I get:

 _Can you please send me the codes for XXXX?_

\- I put up the code in the website. That is where you are coming from. Take
it from there. I really don't understand what exactly you want.

 _Can you please help me implement XXXX for PEP platform?_

\- I have no idea what PEP means. I implemented XXXX in C/C++. That is all I
know, and that is all I can.

 _Can you help me do XXXX taking input from a file?_

\- I have given implementation for XXXX. Just open the file and give the input
to the function!

 _Your code is a very complicated. Can I use the following code [code
attached]_

\- The code you have given is plain wrong and it does not work. You may want
to read some more on the topic, just to get the basics covered.

Then the guy responds again: _OK. Can you tell me something about graphics in
C?_

\- What? How is it related?! I am sorry. You can use these articles to learn
more about that.

(Those are not the exact replies I sent. I am not that rude!)

I get at least one email per day asking for help about these things, and I am
not claiming that all are of the emails are like these. But most are, and
these people make life worse for everyone.

If it is a real a question about something specific that I can answer, I do
take time to respond to that, even if I have to work a few extra hours for
that. I think that people will help you if they think that you really are
putting in the effort. They will help you if they think that you will do a lot
better if they help you a little. But sometimes people ask silly things and
they write stuff like _"Sir, it is very urgent"_ or _"I have to submit project
soon"_ etc. They basically sound like you have to do the whole project for
them. Obviously you cannot do that.

Of course all this is not an excuse for being rude though.

------
HeyLaughingBoy
I'm amazed that no one has suggested the most obvious answer: a lot of
developers are just plain rude!

Even if you don't want to help someone, there's a polite way of wording it.
Unfortunately a lot of people in the SW dev community haven't figured that out
yet.

@Rayzar: They're under no obligation to help you, but at the same time they
don't need to be unfriendly about it either.

~~~
Jebdm
I don't think it's limited to just developers. A lot of _people_ are just
plain rude.

------
pxlpshr
In their defense if they are active developers or entreps then they are likely
extremely busy. As much as they'd love to help you, there are a lot of people
like yourself asking for their time too, you're not the only one. So don't
take their response too personally, you can likely try again later.

Egotists aside, I think you should evaluate their response and you might
considering changing your approach if they are active and not retired. Being a
mentor takes time, so think about ways for it to be mutual. Can you provide
knowledge or assistance to their current goals before asking for it back? You
may also try to show what you've done and that there is more substance to you
than just an email talking about lofty ideas — ideas are a dime a dozen, it's
all about execution.

Another general rule of thumb, don't send a 4-paragraph email professing your
admiration or telling them things they probably already know, do your
research. Sometimes this is received well, sometimes it is not. I had someone
approach me recently, sent 3 paragraph email suggesting & instructing me how
to embed an iPhone bookmark icon into a clients' website; I've been making
iPhone apps for 8 months. I've made this mistake a few times trying to prove
my smarts, use your Draft folder which is a good habit to get into anyway.

Sometimes you need to get in front of them. If you see them at a happy hour or
developer meetup, approach them. Seeing people try is a lot more meaningful,
it improves your odds and first impression. Twitter is great for this, follow
people that interest you — they'll often RT developer meetups and speaking
events.

Lastly, pick a mentor that compliments you and do your research. Finding a
good fit should naturally improve your chances of connecting with them.

------
abyssknight
Sure, drop me a line. All my contact info is in my HN profile. I might not be
the most experienced, funded, awesome hacker but I can pull my weight in a few
areas and answer things I know the answer to, or at least point you in the
right direction.

We've all been there.

------
plinkplonk
"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."

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 could write it 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 said "Whoa you are serious ...'
and opened up completely, giving me a lot of useful feedback and very specific
advice. I sent him a _lot_ more code over the years. 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 could be expanded to give results X and Y. Do you think I
should work on it?" 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 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)(c) how helping you could benefit them.

Very good (and therefore famous) 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.

As someone else advised you, 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.

~~~
tjr
Agreed entirely.

Years ago, I volunteered to work on a project for the Free Software Foundation
that had been started and stopped more than once, as no-one seemed motivated
to actually complete it. I whipped out a very rough demo, and within days I
was being mentored and having my work reviewed & critiqued by Richard
Stallman.

His interest in me was surely toward getting the work done for the FSF, but
what I learned from him has been very useful to me in other projects as well.
I doubt I would have been taken seriously if I hadn't actually made a real
effort at getting something done that Richard wanted done.

I've also worked with some top jazz musicians, and learned a lot from them,
because... I paid them to help me on projects. I didn't go to them asking for
advice; I hired them in their professional capacity to help me get something
done, and they brought their advice with them. They may be willing to answer
random questions from random people as well, but I'm sure I got a whole lot
more out of hours in the studio with their undivided attention than I would
have by sending an email or trying to talk to them after a concert.

------
edw519
"...surprised at the unfriendly responses I have received..."

It's hard to comment on responses I haven't seen, but let me take a guess.

Perhaps the responses aren't so much "unfriendly" as "tough programmer love".
They already know something you may have not learned yet. That all the
mentoring in the world will make little difference. What really makes a
difference is rolling up your sleeves, jumping into your work, and figuring it
out. That's probably how they got to be where they are, and I'm guessing
that's what they want you to do.

I'd be less concerned about finding a mentor than finding a place to go with
questions, if you ever need it. For now, be your own mentor; find your own
programming voice first, then the questions you ask may get "friendlier"
responses.

~~~
davidw
We haven't even seen the 'question'(s), let alone the answers. We really need
that too, to judge.

------
brianm
The best way to get this feedback, imho (and it worked for me) is to start
contributing to an active open source project you use.

Specifically, contribute to one you _use_ , not one you think is cool or would
be fun to hack on. If you have to ask "what would be something useful I could
work on?" on the mailing list, you're doing it wrong. Look at your use and
start implementing something that is missing, awkward, or doesn't work well.

Submit patches with explanations of why you did it the way you did. Assuming
it isn't a totally anti-social project, you will get feedback and advice. The
key thing is that you are coming to the folks offering something useful to
their baby rather than begging ;-)

------
ErrantX
As the others are saying it's not clear what your trying to achieve when
getting in touch.

For example if you ask a direct question in a field they have experience I am
sure they would help!

You talk about experience and skills: I assume your looking to learn such
things from them. Perhaps your askign for them to send you some general tips?
That is likely to get you a stock rejection (indeed the fact they reply at all
says a lot about them - in a good way :D). It's the kind of question you
should probably ask somewhere like here (or similar places more specific
toyour field). Giving general help is a pain.

For example I often get emails asking for my advice on entering the forensics
field. Most I send a very quick stock email (along the lines of - no time to
write much but here are a few pointers). Those that show an actual interest by
having done some background reading / having worked on some code or something
get something more meaningful and personal (and usually a whole conversation).

Why not post the sort of thing your sending and we can give you some pointers
too :D

------
LeonSodhi
Stackoverflow seems like the perfect place to be asking these getting started
questions. As people say, once you have something, bloggers will probably be
more responsive.

------
raheemm
Learning new skills is hard work. But thanks to the internet - its easier now
than every before. Find a good forum to ask questions. There are lots of video
lectures (paid and free) on various technologies. If you want to get someone
to coach you, then prepare to compensate them. That is why taking a class is
often a good idea because the instructor plays the role of a coach.
Ultimately, coding on your own is the fastest way to learn. But its also often
the most frustrating, at first :)

------
epi0Bauqu
If you are more clear on what type of thing you are looking for/working on,
you might get help right here. I, for one, am happy to help where I can.

------
wenbert
Have you tried IRC? (freenode, etc.)

~~~
cugine
yes, but could you expand on the 'etc' ?

~~~
ErrantX
chatterous, mailing lists

(the last one is a wealth of untapped info even today - depending on the
community / subject)

Not IRC but _shrugs_ same basic idea

