Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Are there any good hacker mentors out there?
41 points by Rayzar on June 23, 2009 | hide | past | favorite | 24 comments
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.



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!


There's also a kind of mentality that lots of hackers seem to have: Let the bored one handle it. On IRC, in forums and elsewhere never ask somebody, show your problems instead and if their important enough, somebody bored enough will help you.


That should be hammered into people more often :D

Regularly I see people jump on and say "can someone help" tumbleweed then they leave. But those who post a question and wait generally get an answer when someone notices - leisurely engagement a friend called it once.


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.


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.


It's also not easy as someone business-minded with technical skills to cope with the hordes of business-idea-no-technical-skill MBA-clones trying to poach you to spend all your time on their project, not yours, for very little gain.

I'm guessing I'm not alone in being tired of the whole "Oh, you can code? I have an idea for this site.." thing. Gotta pitch it right to people overwhelmed with that sort of thing. If you really just want a few words of feedback so you can go out there and find a techie to work with knowing it's technically viable, that's great, but that's not necessarily what I'm picking up from you here.


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.


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.


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


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.


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.


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


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.


Thank you very much for your comment,your experiences by far put my situation into perspective. I have to admit that I was a bit naive in my approach to the whole idea of having a good mentor or working with someone I respect in this field and its good to see that with the right approach and a show of commitment and interest in the project on my part will go a long way. I also have to add that I am overwhelmed by the responses this post has attracted so far and I appreciate all your opinions on the matter, please keep them coming, cheers!


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


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


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 ;-)


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


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.


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 :)


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.


Have you tried IRC? (freenode, etc.)


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


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




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

Search: