Thinkful was nice enough to give us access to one of their awesome mentors, Jacob Roufa. He's been a mentor for a little less than a year and he works with Thinkful's Frontend course and CareerPath students.
Read on to learn more about Jacob's experience -- including what sessions look like and what he's learned from the students he mentors.
How did you become a Thinkful mentor, Jacob?
I spoke at JSConf in May 2015 about Maintaining a Local Developer Meetup and someone from Thinkful contacted me in the following month about my experience mentoring. At the time I had no formal mentoring experience but I was interested to learn, so shortly after that conversation and a few more like it, I started! I was so excited, because it seemed as though the people I spoke with at Thinkful were all as excited as I was to spread information and teach people how to be successful in this industry that has been so wonderful to me.
What does a typical mentoring session look like?
Sessions with a student last about 45 minutes if they're on the Front End Web Dev track or about an hour for the Career Path students. We meet on a video chat platform that is core to Thinkful's process. There are options for text chat and screen sharing, both of which come in very useful throughout the session. I like to start off with a recap of last time and what the student has learned in the gap between lessons. Specifically, if there are any questions or pain points in the curriculum or their understanding of what they were supposed to accomplish, they get brought up first so we can work through them. Sometimes at that point, we just continue talking for the entire session, but that's rare. Most sessions with me end up working through some sort of programming exercise. I like to have my students share their screen and pull up their work-in-progress code so we can discuss and continue to work on it. This way I get to see their thought process with regard to how they are constructing their code in a variety of ways.
From there I make suggestions based on my experience and discuss why, which is most important. Just like with code, solving real world problems requires context!
What are the top concerns of the students you mentor?
A lot of students are concerned about their job prospects once finished with the program. What happens if they don't find something? What happens if it's not what they wanted? How are they supposed to handle Framework X when they haven't learned that yet? To be frank, there's not much I can do to assuage their fears. These are valid fears, but they're also just as applicable in many fields of knowledge work. I try to let them know that because this field is so large and wildly variant from one shop to the next our biggest task to accomplish is to provide them with the tools to learn more. Learning is not just a part of our jobs, but requisite and fundamental to it! Realistically though, with the education we provide students at Thinkful, that should be enough of a stepping stone from which to launch a career. I certainly knew less when I first started in this field, and I've ended up alright. At the end of our time though, if I would not say to myself "yes, I would hire this person", I have not done my job properly. That's my metric, and I really try to convey that to my students as much as possible.
We know the students are supposed to learn from you, but what have you learned from them? Any standout stories?
My gosh. Where do I begin? With every lesson, I learn a bit more patience. That may sound cheesy or trite even, but it's the honest truth. Teaching is difficult stuff! I never expected in my life to become a teacher of any sort; formal education was never the thing for me and I always struggled in a classroom environment. This is different though. With my students I am given an opportunity each time we meet to refine my explanations and understandings of the material we cover and my patterns and predilections regarding method and pace. I'm challenged to help keep students motivated at times -- no easy task -- so I'm personally involved where appropriate. I like to learn what it is that drives them to have joined this field and started a new career. With that in mind, we can solve many problems together.
I had one student who was continually demotivated. They were a veteran of the software industry, but from a leadership perspective, so I figured from the get-go that they would be a shoe-in for this type of work. I wish I had not taken such a stance so early in our relationship, but it was difficult to not feel that way. Everything they talked about was very high-minded and they seemed to have a handle on the really difficult concepts. When it came to execution though and deliverables, they were constantly behind or putting things off. The simple stuff kept tripping them up. This was really a struggle, because while I wanted to look at this person as my peer they really needed a teacher that wouldn't pull any punches. I learned a great deal from them, because of the struggles we went through together.
What's your favorite part about being a Thinkful mentor?
All of it.
I love that I am challenged to improve my communication and understanding of what I teach. This in turn helps make me a better software engineer. If I can communicate better and conceptually grasp concepts more clearly, I am a more effective worker in my day-to-day professional activity. Really, this is a selfish act. I learn so much through mentorship it's impossible to list all the benefits.
I love that I can approach any one of my peers at Thinkful about anything -- the core staff from any mentor all the way up to the founder are there to help me succeed. And vice versa. It has to be a two way street, and if we all work together, we can accomplish a lot. If I have any questions ever about anything, I know I can get them answered. If I'm having difficulty as a mentor, as in the case I mentioned above with a previous student, there are support staff who's job it is to make sure I'm able to work through that difficulty in a successful manner. Big shout out to Zac Ellington; he's the mentor manager and he really cares about helping his mentors succeed, which in turn means that the students succeed. Any questions I have ever had or frustrations I've experienced, he has been there with a giant smile and a "how can I help?"
I love gaining perspective. I was a non-traditional entrant into this field and so are many of my students. One day I just decided that I didn't want to work in a restaurant anymore; I knew I was supposed to be doing different stuff. Thankfully, because of some connections I had, I was able to get a paid internship in which I learned a ton and met several mentors of my own; people that I stay in contact with to this day. I was given such an amazing opportunity, it would be terrible to not pass it along. So every student I take broadens my perspective. They're all doing different things and come from such different places, yet they end up wanting to write software for the web? Weird. Like, awesome, but what are the chances that so many great people want to do this stuff?
Anything else you think is important for Switchup readers to know about what you do?
At the end of the day I'm just another code monkey. What we do as programmers, to a large degree, is not really all that difficult or foreign. Just because I'm a glorified internet plumber, basically, does not mean I cannot also build awesome stuff though. Software is consuming the world and it's all about learning to use a set of tools (references, languages, patterns, etc) that help us build and maintain that software. If you're interested in learning this stuff, do it.
I think the most valuable lesson I've learned as a mentor is that we all have something to teach, and we all have something to learn. So teach things you're passionate about and learn from people who are just as involved in what they do. You don't have to know all the things; that's impossible. So pick a couple things that seem approachable and just dive in..