After working at Mint, Netflix, and founding two tech companies, Ryan Balfanz wanted to pay it forward and mentor career changers. Now, as a mentor for Bloc’s online coding bootcamp, Ryan balances his day job as a software engineer at Square with ensuring that his students meet their career goals. Ryan tells us about his background in teaching, how he opens up his network to help students with the job search, and why the Bloc platform “makes the world seem a little bit smaller.”
How did you get started in software development?
I have been working with computers and programming since third grade. My best friend’s dad, who was a software engineer, introduced me to coding. But my background is a bit atypical from some software engineers. I was a physics and math major, then I studied computational physics in grad school. When my school cut its physics graduate program, I decided to go into the software industry.
I started as a data analyst at financial services website, Mint.com, then moved into a front-end engineering role. I went on to work at Netflix on the product engineering team, working with data scientists on algorithms, and experimenting to get users to sign up for Netflix. Before I became a software engineer at Square, I started a healthcare staffing company called Shift Medical, which did pretty well.
How did you first get involved with bootcamps and what stood out about Bloc?
I knew Dave, one of the founders of Bloc, when I lived in San Francisco. He was running another company called Djangy, which specialized in Django deployment. I missed teaching and was looking for something more engaging, so when Dave told me he was launching Bloc, it was a natural fit for me to get involved.
I wanted to be a part of Bloc as soon as possible because it gave me a chance to pay it forward, after my friend’s dad taught me to program. Bloc’s platform makes the world seem a bit smaller. You don't need to have a best friend whose dad happens to be a software engineer. You can just go to the website, sign up, find a mentor, and start changing your life. I think that's pretty amazing.
Do you think teaching at Bloc makes you better at your day job at Square?
Absolutely. I think that my day job helps me at Bloc and I think Bloc helps me at my day job. Right now I’m spending a lot of time with an intern on my team who is learning about things that she hadn't seen in the real world. The patience that I've developed through my time with Bloc really helps me communicate with other engineers and non-engineers. In the other direction, my industry experience really helps me as a mentor at Bloc when I’m beginning to show a student how something is important or why it will be important at their first job.
What’s your background in teaching and how does your previous teaching experience compare with the teaching you do at Bloc?
I was always teaching in some capacity at college. In undergrad I was a TA for a general education course in physics. Then in grad school, I worked as a graduate assistant. I was also a motorcycle safety instructor for the Motorcycle Safety Foundation in Illinois for about six years, which meant a lot of standing up in front of a class, going over curriculum, grading examinations, and critiquing people on their physical ability to drive a motorcycle safely.
Teaching at Bloc is definitely most similar to teaching physics and math, but there are actually some similarities with teaching people how to ride a motorcycle. I saw a lot of people who had never ridden a motorcycle before, and now I have a lot of students at Bloc who come in without any programming experience, or any computer experience outside of word processing, sending email, and watching Netflix. I'm very empathetic to those particular situations and I understand that students have a huge spectrum of exposure to programming.
Which Bloc courses do you mentor? Do you have a favorite?
I like teaching front-end a little bit more. In my experience a lot of students find that to be a bit more challenging, so they get more of a reward out of it when they accomplish certain things. I think I internalize that myself – when a student is happy, you can hear it in their voice or see it in their face that they got something done. It can be really frustrating working on something you've never done before when you don't know how to solve a problem. But when students have this “aha” epiphany moment, that’s also exciting for me. But I like both courses.
What is the role of a mentor at Bloc? How do you work with the students?
My main role is to make sure students are successful when they do their assessments so they can continue making progress. Students go through portions of the curriculum and are gated from going onto the next piece until they pass an assessment to show they have mastered the curricula. Because programming is cumulative, we need to make sure that mastery has been achieved to a certain extent before students can go onto the next piece.
If they don't pass the assessment, that's a great opportunity for students to learn where they might need to focus more of their time. Sometimes that can just be understanding what the problem is that they are tackling, or figuring out how to describe the solution.
We want to make sure that every student can see achieve the goal they had when they came in. For a lot of students, that is to change careers or to find a new job.
How do you actually get paired with a student?
Students choose their mentors. When you go to Bloc.io/mentors, you can see the list of all the mentors and work out which mentor’s experience suits your learning style or aspirations. If somebody is really into online advertising, they might want to work with me because of the work I did at Netflix. If they're into healthcare, they might see that I started a healthcare staffing company and choose to work with me. In fact, I have a student now who is working on his own healthcare startup, so that’s one of the main reasons he chose to work with me.
It’s up to the student to figure out who is going to be the best mentor for them. That said, all the mentors at Bloc are great. Students wouldn't be dissatisfied with anyone, but they do have a lot of information at their disposal to make the choice that's right for them.
How many students do you normally mentor at any one time?
It varies, but probably up to 20 at a time. It depends on enrollments, as well as my own availability and capacity.
How often do you meet with each of the students that you're mentoring?
I meet with students one to three times a week for 30 minutes each session. The courses are self-paced, so that pacing is mostly decided by the students depending on their personal and work lives, and how much time they can commit to Bloc. It's not uncommon for a student or myself to think that they need to accelerate because they are doing really well, or maybe slow down a little bit because they're working on a big project at their day job, or they have a vacation coming up.
If a student chooses to slow down from three meetings a week down to one, it will push their graduation date out by quite a bit. Think about it as a fixed number of total meetings, but how they're spaced out depends and can change as the student goes through the course.
Do you work alongside other instructors and mentors as well?
I do work alongside other mentors. I am very active on Slack talking to other mentors about issues I'm having or suggesting an improvement for a certain part of the curriculum. It's a pretty open forum for us to discuss anything and everything. We meet virtually every other week for 30 minutes to talk about what's been going on and to get ideas from each other. It's a very collaborative work environment.
What's your secret for keeping your students engaged when you can't interact with them in person?
I don't really see that as much of a problem, to be honest. Students are there because they want to be there and if they're struggling or having some difficulty in the course, then they can have an open discussion with me. I'm not a robot.
But I like to learn about each of my students; their interests, what they do at their day job or in their personal life, and how they like to have fun. I try to relate problems that we're working on to things that will already interest them, or make analogies to something that I've done so that I can show them concrete examples. I try to find the aha moments and to really keep them engaged. Knowing students on a personal level is something that Bloc offers that no one else really offers because of these regular one-on-one sessions.
How would students describe your teaching style?
I actually asked my students, "How would you guys describe my teaching style?" And I have some really good feedback from them:
So I’m teaching my students how to teach themselves, just like that old adage – teach a man how to fish, you feed him for a lifetime. You can't rely on other people's code to be bug-free – you need to be able to go in and get into the weeds, so to speak, and figure out what's going on.
What tools do you use to communicate with your students?
I use a tool called Screenhero, which is owned by Slack. I really like it because it gives me a separate mouse and keyboard to use on my student’s screen. I'm a pretty visual person and I know a lot of my students are visual learners, so I can highlight certain pieces of the code.
Some students really prefer to have face-to-face video discussion and I'm open to that whenever they want to. But typically, I don't do that. I find that screen sharing is just so invaluable that I almost feel like I couldn't be as successful of a mentor without it.
If a student has a question outside of your scheduled 30-minute chat, can they contact you via Slack or via email?
Yes, they can contact me directly through the Bloc platform, which will go to my email and to my dashboard when I log onto Bloc. Or they can send me messages on Slack.
When Screenhero has been a bit buggy or not worked, I sometimes give students my personal phone number and we'll talk on the phone. Some students really latched onto that as a way to reach out to me. They're respectful of my time, and don’t abuse it or anything. Any way the student needs to get in touch with me, I'm open to that.
Some people might have a more pressing problem or they're getting really frustrated, so I try to answer questions as soon as I can. It's not unusual for me to hop on a call with a student for five minutes between our regular sessions just to clarify something. It can save both of us a lot of time to just have a talk rather than bouncing emails back and forth.
Are most of your students in the same timezone as you? How do you balance and manage your time?
We talk in the evenings after work. I set my schedule based on my time zone and my own availability. So I've had students who have been as far as Australia, who get up at 2am to talk to me in my local time zone, which isn’t unusual. I have students who are often traveling a lot, so they'll be bouncing around between time zones. I wouldn't say that time zones have really been a problem at all, to be honest.
What sort of qualities make the ideal Bloc student? Do you think there's a certain type of student who does well?
The students are mostly a self-selecting group, and when they choose to make an investment in themselves and spend their own money and time on something like Bloc, they have probably already thought about whether or not programming is their passion. For that reason, I assume that most Bloc students will probably be successful.
But Bloc is not something where you can just “wing it,” so to speak. It's going to be more difficult for some students and easier for others. If you really want to maximize Bloc, you have to put your maximum into it. Like anything in life, you'll get out of it what you put into it. As long as a student is self-motivated and able to handle some of the frustrations that come with programming, then I would say they're going to be successful.
Students choose how long they want to spend learning at Bloc – do you find that people have better results if they choose the 6-month plan vs the 24-month plan?
No, I don't think there is a difference. I do think there's a benefit to meeting more frequently with your mentor. It provides some extra accountability to get assignments done on time.
Even when I'm only meeting with a student once a week, I always touch base with them at the beginning and the end of the week over email or Slack to say, "How is it going? Are you having any trouble?"
I have a Slack channel that's private to me and my students. It's a place for them to discuss problems that they're having in a smaller group. If I'm not available, they can collaborate with each other or ask questions, like, “Has anybody else seen this? Can you help?"
What kind of jobs are you seeing your students get?
I've been able to make connections between my mentees and folks in my network. I often encourage students after graduating from Bloc to add me on LinkedIn and look through my network and see if there's anybody or any particular industries that they're interested in, and I'm more than happy to make introductions. I do that nonstop.
The other thing that's worth noting about Bloc is that they offer a tuition reimbursement guarantee. It can be difficult to find a job if you're not in a large metropolitan area and you sometimes have to be willing to relocate to a different area. But every student that I've worked with who really was self-motivated and willing to put in the time and effort to change their career or get that promotion, has been able to achieve that. I've had students who were professional poker players, or professional musicians who have ended up changing careers.
Do you have any suggestions for how people can test out the waters and see if coding is something they like, even if they're not quite ready to pay for tuition?
It's never too early to open a discussion with a Student Advisor on the Bloc team – they are a great resource to answer those kinds of questions. Before coming to Bloc, we suggest students go through some online free courses to get a taste of what the rest of Bloc will be like.