1) My first mentor taught me everything I knew about developing good code habits and staying humble. However, I think I learned the most about people management from him. He was extremely polarizing as a person. He would go to the ends of the earth for his people, but the moment that he felt he had been slighted, you'd be on his shit list. I learned how to foster loyalty and good rapport with your coworkers and employees from him - and also how dangerous it was to take everything at work personally. I thought he was a great manager in some ways, but he burned a lot of bridges.
2) My second mentor was one of the best engineers I ever worked with. It wasn't because he was the fastest or the best programmer. It was because he knew how to bridge the gap between engineering and product. He also knew the importance of documentation and moving at a steady pace. He cared a lot about developer sustainability and ensured that sprints were always scored and paced correctly. I really wish I had, had more time to work with him.
3) The third mentor I worked with was actually one of the most brilliant engineers I've ever met. He turned me onto a lot of new technologies and stretched me to my limits, because he moved at such a blindingly fast pace. However, I think I learned from him the most in his negative aspects. He thought planning was a waste of time, and would just dole out work as quickly as he could so he could get back to engineering. Working with him also meant toeing the line to burnout. From him, I learned how important it was to foster good relations with all departments in order to get things done, instead of just relying on one or two rockstars to pull things forward by sheer force of will.
I have heard of a few services out there where you are able to book "x" amount of time with someone to talk about work or whatever (basically a mentor).
Since finishing up school I've worked with 2 developers, and both have been great and I've learned a lot.
I don't think these sort of relationships count as "mentors", or at least it just felt like co-working. So, I guess you could say I'm still looking? :)
Most instances I think people find mentors while at work.
I think I have an idea. :)
For one thing, people who become masters want to teach. If there's anything more fun than using a skill you've mastered, it's teaching that skill. But most people are not open to teaching. Sometimes they just end up talking to themselves on Twitter, reaching an audience that can't quite understand them.
Proteges also offer another perspective on things. It's useful for mentors to bounce ideas off them, or even someone who can see things from a more naive, open minded perspective. Someone who has all these ideas but isn't yet cynical.
So mentors are actually looking for proteges, even though they don't advertise it.
I think all you need to do to find a mentor is to do things in a specific direction. Eventually you bump into someone who is impressed by your ambition and chooses to be a mentor.
I would say my thesis supervisor was the best. Taught me the whole process of engineering, how to actually build an epic project. How to break down a huge project into components and how to make sure each component works.