The Value of a Good Mentor

As someone who will very soon be leaving the world of academia and be venturing in the unknown world of industry, I have been tasked with finding a suitable full time position. One which I can very willingly devote forty hours a week to for the foreseeable future. This is not something I've taken lightly, and not something I think my peers should take likely either. I have spent quite a bit of time discussing with my academic colleagues about how they are coming to their selection. One theme that started to stand out to both myself and to my friends was the value of finding a job in which one could continue to advance their career under direct supervision. It's worth noting that my perspective was taken as one working in computing, and may only be applicable to similar industries.

I've been very fortunate to work closely with some professors at my short time at university, and had a chance to get feedback on my own work. I was lucky enough to fit in an independent study in my undergraduate as well as to work for a couple different research groups. The ability to have a real conversation about how you would solve a self created problem is invaluable, and a good mentor will give you no shortage of suggestions. What I encourage students to do is not only question the suggestions but to actively seek out their own implementations first. To me, the best learning that occurs here is the evaluation of how you attempted to solve a problem and then talking through how someone with much more experience would. I am not saying to take their suggestion or method at face value as the solution, challenge it! Spark a discussion between the two of you, return to your work with all the cards in your hand and attempt each solution. I want to remind you of the numerous cases of the arrogance of undergrads paying dividends for the field they study(I believe LISP has such a story), the path to innovation is marked by those who challenge the status quo.

How does this relate to finding a job? Well ideally your job presents you with someone you can learn quite a deal from, you want to be in a position like I discussed about above. You want to be in a constant state of learning from those above you in your field, you want to be constantly challenging and learning from their experiences. This means not finding a job with strict deadlines where you are allowed to breathe and explore your problem space. When interviewing, ask to have some time with the team they are interviewing you for, ask them about their experiences, for the things the worked on and the things they are curious about learning more about. Find a team that either has experience in a specific aspect of your field you want, and even better if its something they are continuing to learn more about.

Perhaps most importantly, while I think humans are in a constant state of learning, there comes time in which you will be the mentor to someone else. In this scenario its best to recall those who you interacted with on your path to learning and find qualities that you liked and emulate it. Pass on the styles that worked well for you but be fluid to explore other avenues of teaching. Also be open to learning something form those you teach, it is all to often that through the process of teaching you find gaps in your own understanding that are worth persuing.

I want to sidetrack a bit to a special case for software, that being open source software and their associated communities. We live in a fantastic time for learning software on ones own time. You can very readily join an open source project and find great people to give you feedback on you work. If you feel like your specific job is lacking the focus on the specific type of software that you want to learn more about, I would highly encourage you to find a group online that you can break your teeth on. Of course this dynamic is a bit different, but from what I've learned a great community is very welcome to bringing new people on board. They may not be the nicest about it, but you should take their amnesty as a challenge to produce something better. I don't think this should be a requirement for those working in software, but rather an extension that people should consider if they want to expand their learning.

When working on a craft, if you are passionate about understanding more of it, I encourage your highly to search out people that will help in you in your quest. Don't just take everything that is said at face value, challenge what you are told, but know when to fold your hand and learn from those that have been where you stand today. Be open to passing on your knowledge, and never stop learning.