Meet Our Volunteers: Ryan
Our Programmes Director, Jim Taylor writes:
A big part of my role here at Code4000 is the co-ordination and support of the volunteers who contribute enormously to our organisation and, perhaps more importantly, our graduates. Over the next few months I aim to develop our volunteer programme and a large part of that development will revolve around highlighting the fantastic work that our volunteers do! Today, the spotlight is on Ryan, a mentor at our Sheffield Hub.
Josh graduated from the Code4000 programme in March last year and currently attends the Sheffield Hub where he is developing his coding skills and working on a variety of commissioned projects. For the past eight months he has been mentored by Ryan, a hugely experienced developer and volunteer. I chatted to Ryan about the positives of mentoring for both mentors and mentees.
Throughout the interview, Ryan discussed how he gets a lot out of mentoring; both from a sense of satisfaction in seeing Josh learn but also how it helps him reflect upon his own practice as a developer. He also talked about how he believes he has helped Josh bridge the gap between the experience of learning to code in prison and that of coding for a living. As a professional who is well-versed in the software development industry, Ryan also highlighted the value that mentoring could bring to the recruitment process of any business.
Read the full transcript of the interview below to learn more about the valuable contribution Ryan has made to Josh’s development.
Could you volunteer for Code4000? We have a number of opportunities available, to learn more e-mail me, Jim Taylor, at email@example.com.
Jim: So, could you tell me a little about your technical background?
Ryan: I’ve been a software engineer with different hats on for about fourteen or fifteen years now, I graduated in 2005. I’ve been developing since then and, amongst other things, I’ve been technical architect for government organisations and a contractor and consultant for small businesses helping them figure out how to do software engineering.
Jim: What was it that brought you to volunteer to mentor Code4000 graduates?
Ryan: I’ve been mentoring for a few years now and done quite a bit of community work with, normally, development groups: JS Oxford and The Oxford Ruby User Group. I heard on Sheffield Digital Slack that a friend was asking for volunteer mentors and, because of my interest in mentoring, I picked up on that and said I’d come and volunteer and get involved.
Jim: Had you ever mentored offenders before?
Ryan: No, this is my first experience of working with offenders.
Jim: What do you get out of mentoring Josh? How do you feel it’s helped your development both professionally and personally?
Ryan: I get a lot of enjoyment out of mentoring and helping and seeing people learn; I get tremendous satisfaction from that, which is why I do it. I also find I learn a lot by vocalising my processes. So, a lot of things that you do that are second nature or intuitive but having to explain the rationale behind it, I find compounds my knowledge.
Jim: What about Josh, how do you think it has helped him to develop by having your support?
Ryan: I don’t know, he would’ve gone pretty far without me! I think having someone there who’s a bit more experienced and is able to debug problems is really useful. If he’s made progress on an application but then come across an error he’s not seen before, or a few moving parts aren’t working together, having someone to bounce that off is useful to get the momentum going again as you can easily lose days bashing your head against a brick wall!
Jim: You’ve worked in the industry, you’re a developer by profession, given the limitations of working in a prison workshop how do you think you’ve helped bridge the gaps with Josh?
Ryan: Obviously, the first limitation in a prison workshop is the lack of Internet so that makes pretty much everything difficult! It's almost impossible to do modern software development without the Internet. I need it constantly, for everything from downloading packages to reading documentation, blog posts, and looking up answers on Stack Overflow. In other ways, it’s much the same as when you have an undergraduate who’s done a degree: you can do workshops, you can do bootcamps, you can do these undergrad degree courses but until you start to see real code and work on real projects there’s a load of stuff you don’t know. When I interview canddates for junior or intermediate roles it’s more about the experience you’ve had doing that than formal qualifications. Because of that, in the prison workshops the limitations are even more restrictive than with graduates.
Jim: I understand there is a real project that Josh will be working on?
Ryan: Yes, Mountain Rescue England & Wales have a few Java-based services that work together which Josh and I will be working on. One is a team management system which helps the independent rescue teams manage their memberships, track training, and so on. There's also an incident reporting system which helps them keep track of where the teams have been called out and what the outcomes were. MREW is a volunteer organisation that helps people when they get caught out in the mountains, so it's great for us to be able to help them out. It's also a great opportunity for Josh because it's a big, complex codebase which provides a lot of value to them and working on this is pretty much what it's like in most "real" developer jobs. They’re the bits Josh will be working on and it’s a chance for him develop some features in a complex working system in production. It’s been written by someone else so there’s also a challenge there in working out someone else’s code; and trying to implement the solution that you’d like within the existing code. This is the experience I was talking about earlier, how it breaks down the limitations of the workshop.
Jim: And this is an opportunity Josh wouldn’t have had without your intervention?
Ryan: Yes. It’s often hard to find quality projects to work on. Even when you’re giving your time away for free. It’s very fortunate that I’ve got a relationship with the stats officer and that they have a need to develop these features. It’s actually another thing that I’m volunteering on.
Jim: it shows a clear benefit of mentoring the men on our programme, that they get those opportunities they wouldn’t otherwise get?
Ryan: Yes, when I try and encourage other people to mentor it’s more about who you get to meet and the connections rather than the technical skills the mentee will learn. Because when you get out into the real world there’s always things you don’t know, problems you aren’t able to solve because you’re busy with other things. But when you have the networks you can then say, “you need to talk to this person”, “you should try this because I’ve heard someone else say that”. Having those contacts is much more useful than trying to crack software development on your own.
Jim: What would you say to your colleagues about mentoring for Code4000?
Ryan: That it’s a great experience! I’ve been quite privileged because, being a contractor, I’ve been able to give up a day or two a week to do community and volunteering work. A lot of people don’t feel like they are in that position. But it is a lot easier to ask for time off to help with volunteering programmes than you think. Most managers are more open than you think even just by virtue of the fact that it’s good PR. But a lot of companies want to make contacts, they want to find the next talent, it’s hard to recruit and retain developers so meeting people who could potentially be junior developers is really valuable. If you’ve never tried mentoring, it’s very easy to start and there’s so many positives to doing it.
I would like to thank Ryan for sparing the time to speak to me and for the tremendous work that he does. However, the last word really should go to Josh who had this to say about the value Ryan has brought to his progress as a developer:
“The value of being mentored by Ryan has been immense. Coming from a prison workshop and learning without professional guidance doesn't make a great developer. Even though you can be a good coder, your knowledge of terminology, best practices and developer tools are always going to be limited. Having an experienced mentor to help with these things has allowed me to take the necessary steps from coder to developer.”