Ask HN: How do I find a mentor?

121 points by rashoodkhan ↗ HN
Hey,

I have read in various answers by highly influential programmers is to find a mentor. I wanna know how to find a mentor? I'm interested in mostly developing web applications (both front-end and back-end).

A little background, I will be finishing my Bachelors in Computer Science in a month and currently based in India. I have been programming in Python, Java and C# mostly.

Thanks!

87 comments

[ 2.3 ms ] story [ 153 ms ] thread
Got the same problem here.

I worked in a a few companies, but the only skilled people there who could have mentored me didn't have the time.

I would say first, have accomplished something that shows your potential.
Most people don't have the time or will to mentor someone outside of their jobs (for free). So the best way in this industry to get mentoring is to intern at different companies, where someone is responsible for your growth.
Sometimes a mentor is not someone that you will meet in person... The entire Internet is my mentor. This site has taught me more things that I can number. Choose a good list of sites and invest your time in high open source quality software. If you will turn out to be one of the best programmers, you will discover that most of the work you had done, will be the work that you did alone. If you emulate others you will be only a robot. The highest point will be the one when you will turn around and you will see the mountains you built alone...
Getting the wisdom is not the problem - getting the right wisdom in the right dose at the right time, is. That's what a mentor is for. The internet does not provide this.
Mentors are not just for knowledge, they provide connections, confidence and motivation based on what they know about you. The internet has lot of knowledge but it doesn't know you deep enough to tell you what is good for you.
It's hard. I know. The best way to find a mentor is put yourself out there. Ask individuals if they'd be willing to mentor you.
This. I hang out in an IRC channel where everyone is either working to learn C or working to help others do so. But, the best way to get involved is to actually ask one of the folks that's there as a teacher to help you out. :)
Reading the title, I thought you were looking for mentor(s) for your Startup! It would have been a different story.

For programming Mentors/Guides, if you're in Bangalore, Jaaga[1] (Richmond Road) has something or the other at all times. I've met quite a lot of awesome programmers there, hired developers whom I met there. Hasgeek[2] (Indiranagar) also has lots of interesting people in their rather open Office.

The other option is to intern at a Technology-led and/or focused Startup.

1. http://jaaga.in/

2. https://hasgeek.com/

@k__

It is confusing when you say the mentors didn't have time! I don't think you expect them to schedule out their time to _teach_ you. Do and then ask them to review your code or critique your code.

Recently, there was a nice article on HackerNews - https://news.ycombinator.com/item?id=9396694

I've seen a lot of young engineering graduates in India who experience a lack of direction. One person here who I know helps these people out with good mentoring is http://pramode.net/. I've met several of his students and, if they're anything to go by, he does an excellent job.

I've started something similar (http://thelycaeum.in/) to what he does myself. It's a lot smaller. I've currently working with my second batch of students and it's going okay.

I don't know about in India...but in the US, if I were a senior in college, I would attend all the related meetups I can, in topics that interest me. Arrive early, stay late. Try to talk to people. Become genuine friends with those who have more experience than you. It won't happen in a month, but if you show up enough you'll be able to feel out who have the mentality to mentor. Not everyone wants to mentor, and not everyone can be a good mentor.
This is what I recommend to my students. This is the best answer on here, much better than mine.
Personally I found someone more experienced (someone further up the corporate foodchain) that seemed friendly...chatted to them a bit. They seemed genuinely supportive, so I kept going to that person if I needed some wisdom. Was never formally designated as a mentor, but the effect is the same.
This has always been my approach too. I'd add that if they make suggestions (eg "You should read xxxxx book") then the best thing you can possibly do at that stage is go out, read the book or whatever, come back and tell them what you thought of it.
Yup. Not the book thing directly, but demonstrating that you are making an effort to follow the guidance dropped is key. Else the dropping of said guidance stops very fast...
This comment comes around once every so often. Actively seeking a mentor might not be the right thing to do. Start doing something you care about, publicly, and people will find you.
Agreed. Approaching someone with the question of "can you be my mentor?" is unlikely to work. These sorts of relationships often form organically throughout the process of working together on projects. So seek out projects where you can meaningfully contribute, even in small ways at first. And then show that you're the hardest working and most reliable person on the team.
"These sorts of relationships often form organically throughout the process of working together on projects"

Agree. And in fact the other way around in a sense smacks of someone being used regardless of whether that was the intention or not.

You may contribute open source projects so that the main contributors review your code and you will get a chance to improve your programming skills. If you're looking career advice, I think the best bet is to get close to the people in companies when you're doing internship. You can get help from many people on the Internet but I think they have to know you in person or spend some time with you in order to give some accurate advices.
Be a mentor to someone else. The best way to learn is to teach. After you've been mentoring for a while, you will know how to choose (carefully!) and pitch prospective role models and mentors.
Finding a mentor for getting better at code is probably not the best way. The best way is to build, break, build again. Great programmers are masters of detail, you only get to detail with daunting experience in things that won't work.

That said, if you decide to find a mentor, start with people closest to you. Ask your family members and friends first. You'd be surprised how many great people are within 2-3 degrees of separation. This is old school, but works.

I have found mentors to be very helpful in career or business situations, but I agree with you, they aren't super helpful with coding. Maybe with higher level design or architecture?
As it says elsewhere on this thread, technical meetups are probably your best bet to find assistance/support in real life. You get to meet interested people and it is a good opportunity to find friends and for networking. You'll get to meet smarter people who are willing to help you out.

If you're from Chennai, I can suggest the Chennai Python User's Group. It's a great bunch of people and pretty welcoming for newcomers. A quick search on Meetup shows a lot of other language-based meetups popping across the country. Take your pick.

IME - get a job.

My last internship (before my senior year of college) and my first job after college boh had me working with people who had been in the industry for 10+ years and were both at the top of their game and extremely patient about getting me up to speed with how things worked at their companies and in the industry in general, technically and culturally.

I know I hit the lottery going 2/2, but I don't know how else it would have happened. I can't imagine going out and just nagging people to teach you would end well.

I completely agree; you can learn an awful lot very quickly by working in a corporate for a few years. You may decide that its the right environment for you; you may not, but the skills you learnt along the way are invaluable.
ITT: No one offering to mentor.
Is this a criticism, a (late) prediction, a "captain obvious" recap?

It's so vague as to essentially add zero value to the discussion.

Criticism of all of the people offering advice on how to find a mentor but missing the fact that OP really wants them to offer to mentor.
OP should have stated that clearly if that was his intention.

You're criticizing the wrong people.

Short answer: serendipity.

As others have said, if you are _actively_ looking for a mentor, you are wasting your time.

So just wait around and hope? Whyever would one commit to such a random, unlikely path? Perhaps finding a good mentor is not easy, and chance often plays a role in us finding such relationships (also true for friends, mates, and other non-mentor relationships). But to expect chance to provide? Not an actionable plan, IMO.
No, of course not. But a mentor is not a trainer to go out and hire. The best strategy is to become the apprentice that your mentor would want to have.
You don't "get a mentor."

You develop a relationship with a person who has more experience than you do, and over time, that person may become a mentor to you. And I say may, because if the person you're working with determines that you don't provide any value to the relationship, they won't be that willing to help you for long.

I say this from experience - lots of people want me to mentor them, and I've had quite a few that, once they got their first job, they just disappeared.

I'm a lot more picky about which college students I mentor now.

How would you like the students you mentor to add value to the relationship?
I think traditionally it worked like this... The students did a bunch of work for the mentor, for very little or no wages and they were taught a trade.

The students were much like your property, you could beat them, treat them basically how you liked, even sodomize them if the mood took I'm guessing.... (sorry to be graphic, but I think that's how it likely went down). You did however, have to provide for their basic needs and you couldn't kill or severely maim them, or it was bad for business. After X number of years, the student could go out on their own, and the process repeated.

So this system has some obvious flaws and has slowly been done away with. It might be good if it were to make a comeback in a modern form (without the beating and sodomy of course). Then again, maybe it's not so good. Still, we get lots of people wanting "mentors". What do they have to give back, particularly at first?

My opinion? Want a good mentor? Look in the mirror.

I think you're thinking of a master and apprentice (albeit through the lens of a world which resembles that of Westeros...) In any event, not the mentor relationship the OP was inquiring about.
"Westeros"....

You know, I don't think so. Trades have been around for a lot longer than universal justice. Slavery is only recently going away. Important people in the community have traditionally done what they wanted and as long as it wasn't too egregious, they usually got away with it.

A little light googling turns up no shortage of cases of apprentice abuse, (including sexual) from the relatively recent past (1600's on... a time that is comparatively modern in the "objective" dispersal of justice). One can only imagine what earlier times were like. No doubt there have been plenty of beneficent individuals, but the beneficent treatment of fellow humans is sadly often the exception historically speaking. For most of human history there has been a very different standard of what was acceptable than we hold today. A third party flogging for failing to follow orders (or simply because the flogger was having a bad day) likely scarcely raised eyebrows as long as it didn't get out of hand for most of human history.

Even today we still see remnants of this relationship. Abuse of underlings who put up with it because they think it will get them somewhere. Taking on an "apprentice" out of sexual interest rather than simple interest in their development. Human nature has not changed terribly much... just the rules.

I don't know what kind of relationship OP is after or what he is willing to do to get it. I do wish him the best of luck on his quest.

> Slavery is only recently going away.

Define "going away."

(comment deleted)
As a very recent mentor (yay!), I usually look for feedback on how I can improve my own teachings. I've only met with my apprentice a couple of times, but she's allowed me to think about how to explain things in a more clear and concise manner for other people to understand. She's also going to bring cookies next week (a super-sweet gesture on her part), and since she's a (elementary school) teacher, she's going to give feedback on slides I'm creating for an upcoming class I'm teaching.

Every time I teach my craft to somebody new to web development, I learn something new. It gets me excited about coding again, and it's why I love teaching so much. The students with the most questions are usually the most enthusiastic, so ask any and all questions that come to you. If your mentor doesn't know the answer, even better. I like students who make me think!

(comment deleted)
First, I would hope that they would introduce me to things I don't know about, and eventually teach me things. And give me feedback on how I can improve. Mentoring relationships need to be bidirectional in my opinion.
I completely agree, but it can be intimidating to offer feedback to someone who you idolize as a mentor, that's why I think the relationship is especially important as a foundation from which to provide that feedback.

Edit: Typo

Yes. Exactly. But that's why mentoring relationships need to happen organically. So that the trust can be there. That the mentee (if that's a word) can build up confidence and the pair can work as colleagues.
How clearly have you stated this to the folks you were mentoring?
"We fill gaps" - Rocky Balboa

Like any relationship it works best when both sides have strengths that complement each other.

The nature of a mentor relationship is that the mentor has more experience. It doesn't mean they are more skilled in every way.

A specific example: I get questions from my mentors along the lines of "What's the state of X? Is it ready for prime time?" or "In Y, how does one typically do Z?" because they know I am actively involved in the community for X and Y.

(comment deleted)
I'm unsure how this comment is relevant to the post.
I would have to concur with this. Find people you respect and reach out to them with something real. But respect that they are probably quite busy and such help is often in demand in a lot of directions. Often times, people will develop notions about who is ready to listen and who isn't, things like taking the idea as far as they can before reaching out, and actively listening to the feedback. A good mentor won't be rude but they will be honest. And if you haven't yet reached the point where you can be honest with yourself and others, it will be hard for you to learn from others. When people aren't ready it is pretty easy to spot.
I've had various mentors through formal and informal channels such as my university, my workplace, and through friends.

I've found that the mentors I've found informally have been the most valuable.

I've found the app Weave to be actually pretty useful in meeting interesting people. I wouldn't have the mindset of finding a mentor but rather one of sharing ideas with interesting people. A mentor implies a one-way value exchange, whereas my best mentor relationships have been those where we've learned from each other. For example, one person might have first hand experience in raising money while I would have experience in building apps in the current mobile app ecosystem.

My former workplace had a mentor program where senior marketers can be paired with junior marketers. From my experience these formal programs are a bit flakey and I didn't get too much out of it. Same goes for the mentor program at my university.

I've also found going to hackathons to be a good place to find mentors. My background is marketing but I build mobile apps now. I learned a significant amount of my practical programming skills by working with new teammates at hackathons.

Would love to see a

"Mentor here. First three to answer to this message get the deal."

comment here.

Anyone to volunteer for the sake of doing great good? :)

Get a job at a startup with less than ten employees and with a good engineering team. Don't worry too much about making $20-$30k less. You'll learn a lot with a good attitude and find a mentor naturally. And chances are you'll make up for "lost income" eventually.
I think of two things when it comes to this question: the notion that you should regard relationships as "lines and not dots", and how to get meetings with people too busy to see you.

Steve Blank has a great article about how you need to provide value to even begin getting into somebody's space. http://steveblank.com/2013/08/12/how-to-get-meetings-with-pe...

Now you might say, I'm a student, what could I do? But there's a lot you can offer, from your story and perspective to the skills you have. Even just writing from the perspective of somebody offering value rather than just trying to take it makes it easier for you to get meetings with the mentors too busy to see you--the kind of mentors you should aim for.

Starting a relationship is always easier than maintaining it. You want to make sure you could grow with the person you're reaching out to, and that ideally, the conversations you have with them will be mutually beneficial. After a while, you'll be learning from them and they'll be learning from you as well--if you plan for that relationship rather than sitting back and trying to grab a "mentoring" session you'll start seeing your thinking about mentor dots evolve into long-lasting line relationships.

My last note on this is that it's also a lot easier to learn from people if you're working for them.

To sum up

1) provide value to everybody you talk with 2) think long-term 3) work for people you REALLY want to learn from

Look at this from another angle. You are looking to be a student of someone. A few options:

The traditional advanced education path will usually form this sort of relationship. If you are fortunate, your bachelors program will allow you the opportunity to work with and learn from someone that can mentor you. If you haven't yet formed these sorts of relationships with your professors and are graduating already, you could start a masters/doctorate program in which you will be the student again and have (perhaps greater) opportunities to form these relationships.

Outside traditional education, you could find a junior developer / engineer position of employment in which a mid or senior engineer is assigned (or volunteers) to be your boss. Learn everything you can from this person, take their criticism, code reviews, etc. and improve yourself. Even if you are hired as a developer and there is little processes in place, you can take lead and find more senior co-workers that are willing to help you. Be direct and open about the fact that you're looking to improve your skills/abilities, and that you're not just looking for them to do the job for you. Don't take criticism personally, use it as a way to improve yourself and your code.

Outside traditional employment situations, you can participate in open source projects. Pick something and start working on it. Fix bugs, and ask questions about all the things you find. Be active in the IRC channel for the project, and/or the mailing list. Voice your opinion, ask questions, ask why things are done the way they are done, etc. Again, don't take criticisms personally, use it as a way to improve yourself and your code.

Go to hackathons, go to meetups, go to events and be friendly with everyone. If there aren't these sort of things in your areas, start them. Attend both social events and 'building' events where people are working together to build something together.

There is something you can learn from every person you meet. Establish this as your attitude.

Personal plug: We're currently building mentorship SAAS that we sell to organizations, to help create and maintain mentor relationships within a business, non-profit, school, etc. We'd love to target the B2C route eventually as well.

The landing page is all about student veterans right now (two of my co-founders and I are former military), but feel free to check it out: https://www.uvize.com/

If you have any questions about our service, feel free to send me an email: parker@uvize.com

For me I just hung out in IRC for a long time and there ended up being people there that were always there and would always answer my questions. Eventually they got me an internship. Guess they thought I asked good questions. I just continued taking internships in their teams.
If HN was a place where one might meet a mentor, would the question be written differently?

If so, how?

Good luck.