Ask HN: How Can I Find a Mentor?
I think I'd really like a mentor.
Some things about me: I've been coding for maybe a year, but I have a full time job so progress is not going as fast as maybe I'd like it to.
I've been doing Python (a very small amount of C# as well). I've read an intro book, and now I'm reading a book that goes into more depth with OO. I've solved the first 51 Project Euler problems, many of them with relatively elegant algorithms. I have a love for elegant algorithms.
I'm not sure what to do next. Build a Django app? Learn Java and build an Android app? Learn Haskell? Learn C? Something else entirely?
I'm not locked into any particular field of programming yet - it all interests me.
If anyone feels like they would get any benefit out of mentoring someone like me, looking at my code and giving me pointers, giving me advice about what's wise to learn, I'd really appreciate it.
[+] [-] kaptain|12 years ago|reply
What this means is that, if you're serious about your personal spiritual development, you need three things:
* a mentor (Paul): someone that is more experienced than you and can help you grow in ways that you were unaware of and who can help you develop your personal gifting.
* a comrade (Barnabas): someone that is at your level whom you can mutually encourage and grow with.
* a person to mentor (Timothy): someone whom you are a Paul to.
I think this has applications beyond spiritual development; it can be applied to any field/dimension that you want to grow in. Part of my problem in college that I was always fixated on having a mentor but never asked myself who my Barnabases and Timothys were.
As the years passed, I put aside this unhealthy fixation on having this spiritual mentor and I found myself begin to grow as I embraced the people around me as Barnabases and Timothys. I don't want to discourage you from looking for a mentor; it's awesome to find one. But don't feel like you can't grow as a programmer/developer without one. Growth takes lots of different forms and it would be a shame, in my opinion, if instead of growing, you spent your time waiting for Godot.
[+] [-] kenferry|12 years ago|reply
http://blog.understudyapp.com/learn-sicp-make-friends/
[Obvious disclaimer - I work on this. It was posted to HN a few weeks ago.]
[+] [-] dzink|12 years ago|reply
[+] [-] zhte415|12 years ago|reply
A perhaps my experience would be 'People I met outside a casual social circle (though I see no reason they can't exist within) with a high level of experience and insight into a field of expertise (technical or non-technical) that also enjoyed my company and my giving / reflecting something back to them.'
Seek people out in environments you're comfortable, and don't discount the value-add face-to-face contact can make. A small word of warning also - mentors can be great inspirers, but that doesn't mean they would make a good fit as a boss or employee later (just as working _for_ a friend can break relationships).
[+] [-] lgas|12 years ago|reply
I suspect you wouldn't have to go very far down the list before someone agrees to be your mentor.
If after a while, I wasn't getting what I wanted out of the mentor that agreed, I would explain this to them, thank them for their time and continue down the list.
[+] [-] kremlin|12 years ago|reply
[+] [-] mark_l_watson|12 years ago|reply
[+] [-] robdoherty2|12 years ago|reply
I switched careers into software development several years ago thanks to the mentoring of several individuals.
Going to meetups in your area is one of the first places to look, and taking online or in-person courses are also helpful to find other like-minded people.
One thing to consider is that there need not be a formal "mentor-protege" relationship; you can get a lot of great one-off type advice from all kinds of people you come across.
[+] [-] Madsn|12 years ago|reply
[+] [-] canttestthis|12 years ago|reply
I just graduated from college and I start work in 4 months as a software dev at a company that you've probably heard of and use on a regular basis. What can I do in these 4 months to maximize my chance of success at this company?
I thought I might go through SICP but I'm not sure if this is more of a theoretical exercise or if it will directly improve my work. I can't work on any open source projects because of the learning curve required to get familiar with the codebase, + I won't be able to work on it once I start my regular work.
Does anyone have any other ideas?
[+] [-] zellyn|12 years ago|reply
My career has been a constant process of letting go of being afraid of how the "low-level" and "wizardly" stuff works, and finding out it's not as scary as I feared.
[+] [-] nicolethenerd|12 years ago|reply
It can't hurt to reach out to the company/team and ask what tech stack they use and what you can do to get prepared - being on the other side of this, I was thrilled when someone I hired recently asked this very question.
[+] [-] yid|12 years ago|reply
[+] [-] kooshball|12 years ago|reply
That's totally not true. You'll definitely be expected to contribute with in the first 4 month of starting at work, why are open source projects different?
The processes are probably similar as well. You need someone to help you on board, explain the big pictures, guide you through how thing are connected. Then you take bug, dig into the code and figure out a solution. This is probably what you'll do at a real job, so might as well get used to it. The hardest part is finding someone who is patient enough to guide you along and answer your questions.
[+] [-] Mahh|12 years ago|reply
[+] [-] sillysaurus3|12 years ago|reply
This presupposes that it's worthwhile to be successful at that company. Most companies aren't worth it. In fact, there's a correlation between a company being well-known and a company having horrible code.
It depends what you mean by "successful" though. I'm defining success as "increasing one's skill." But that's completely orthogonal to most people's definition of success, which is "climbing the corporate ladder."
If you just want a secure job, focusing on your software skills isn't the way to go. Focus on your connections at the company and how you present yourself. Your connections will mostly determine whether you'll continue very long at the company. (This assumes your skill is above a certain minimum standard of quality.) Companies aren't meritocracies.
[+] [-] gravity13|12 years ago|reply
[+] [-] jseliger|12 years ago|reply
More nuts-and-bolts answers are much harder: look for programming or similar groups around you. If you find people you admire online, ask if you can buy them coffee when they're in town. There is no easy answer because possible mentors and mentees are subject to adverse signaling problems.
It's still much harder to find a mentor online than off.
[+] [-] mariogintili|12 years ago|reply
[+] [-] hardikj|12 years ago|reply
[+] [-] kremlin|12 years ago|reply
[+] [-] dserban|12 years ago|reply
My e-mail is in my profile if you're interested.
[+] [-] meric|12 years ago|reply
"Build a Django app? Learn Java and build an Android app? Learn Haskell? Learn C?"
I've done all of them, each in my own time, except Android; I created some (toy) iOS apps instead.
Just keep going to where your mind takes you.
I would like to add that I did study software engineering at university several years after I started learning to code, and that it did help me figure out what I wanted to learn. I would not disagree with you too much if you suggested university took the place of a mentor for me.
[+] [-] jacquesm|12 years ago|reply
A mentor-student situation is typically mostly a one-way street.
[+] [-] jwheeler79|12 years ago|reply
[+] [-] hendi_|12 years ago|reply
[+] [-] Theodores|12 years ago|reply
As others have said the mentorship arrangement only transpires over time, and on reflection. However it is something that you can find within days of working with someone, possibly even within minutes.
I believe some people are more prone to finding mentors than others. Think of school and the vast overwhelming majority of pupils that the teachers really could not care a great deal about. Then there are the chosen few, singled out for special treatment. A 'C' might be good enough for the normal demands of the course, however, for those 'mentor worthy few' it is not quite like that. Even if they do not care whether they pass of fail, for whatever special reason it is, teachers will not let them be like that. Consequently they get mentored whether they like it or not.
It is the same in the workplace, there are a lot of also-ran's. Someone who has to just pick up the phone and be in on time is not likely to be pushed to excel or develop. Others don't get to be left alone like that. This is a different pressure to 'must work harder and be more productive', more care is involved, whether desired or not. I don't think even intellect has much bearing on the deal, you don't have to be gifted for someone to pick you out for mentoring and there are plenty of very smart, intelligent people that just do not pick up mentors.
Outside of academia and learning for the sake of learning, one great pressure for 'successful mentoring situations' is where time is money and the job just has to be done for a paying customer. If you can help with that you can find yourself a most useful mentor along the way. Also, if there is a strategic need for some knowledge to be shared then that can help. If you are the only one willing to learn all the systems and do weekend call outs when things go wrong, there is a lot of incentive for others to get you fully up to speed.
I should also say that in mentoring situations, cock-ups are allowed. You can ask for help on a particular thing or break a particular thing three times and three times only. A fourth time and you are renegading on the deal.
[+] [-] markab21|12 years ago|reply
In an open source project that you want to gain some experience with, or someone in your company that will help you with upward movement... the same skills will apply.
[+] [-] greenwalls|12 years ago|reply
[+] [-] hvass|12 years ago|reply
[+] [-] dustingetz|12 years ago|reply
[+] [-] pfalke|12 years ago|reply
I'd like to get in touch and hear what you plan to do next. If interested, email me: philipp@[my HN username].com
[+] [-] idiotb|12 years ago|reply