Ask HN: How do I find a mentor?
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 ] threadI worked in a a few companies, but the only skilled people there who could have mentored me didn't have the time.
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 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.
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.
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.
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.
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.
It's so vague as to essentially add zero value to the discussion.
You're criticizing the wrong people.
As others have said, if you are _actively_ looking for a mentor, you are wasting your time.
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.
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.
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.
Define "going away."
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!
Edit: Typo
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.
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.
"Mentor here. First three to answer to this message get the deal."
comment here.
Anyone to volunteer for the sake of doing great good? :)
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
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.
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
If so, how?
Good luck.