Alastair Cashen from WM Reply spoke to us about what juniors can do to make themselves as successful as possible in the early stages of their roles, the ideal size of a development team before taking on a junior and what support they offer juniors coming into the business.
Alastair Cashen is a Partner at WM Reply. WM Reply create world-class intranets, collaboration platforms, and business solutions built on Microsoft SharePoint and Office 365. They work with organisations all around the world helping clients to deliver business objectives by building a modern workplace for their employees.
Nathan: Hello and welcome to the second of our CoderList talks where we’ll be chatting with different parties involved with junior developers. Today we’ll be speaking with Alastair Cashen, partner at WM Reply. Thank you very much for speaking with us Alastair.
Alastair: No Problem Nathan.
Nathan: Tell us a bit about your company.
Alastair: So we are a software consultancy. We are about 120 people based in our head office in London. We also have offices in Chester, Manchester and Minsk. We provide software consultancy to large enterprise clients. They come to us with a challenge or a problem and we scope out a solution and then build an application to meet that business requirement. So, it can be anything from a HR process for onboarding employees, all the way through to document generation and workflow projects. We develop mainly on the Microsoft technologies, but obviously as web development is becoming more homogeneous in terms of technology, the guys will use the latest React and Sass - all things I don’t actually know anymore.
Nathan: Sounds like software is a very big part of your business. How big is your development team?
Alastair: We have probably around 120 people with around 70 software capable developers, not all of which develop anymore, because we still have to do specs, architecture, etc. I’d say 60 of that group of 70 work as developers.
Nathan: How many of those people are juniors?
Alastair: We keep a pretty good ratio of juniors to more senior team members and like to bring through juniors developers, as the ratio is good for us. I would say probably about 15 people would get classified as juniors with less than two years experience.
Nathan: Cool. You said that the ratio is important to you. Why is that?
Alastair: It’s important for us because we’re a consultancy and a lot of the time we’re billing resources to clients, and it make sense for us to have a mixture of expensive and cheap resources. So sometimes clients pay the same.
Nathan: Awesome, so how regularly do you bring on juniors?
Alastair: We are not as organised as having a time every four months where we bring people on. We did that for a little while but then we actually slacked off. We’re onboarding new developers all the time and I’d say we probably hire one junior a month.
Nathan: Sure. What do you look for in a junior? When you’re looking at candidates what stands out to you?
Alastair: The key thing I like to look for in someone who is junior is that little bit of extra effort. They haven’t just done their degree and the bare minimum. They’re actually doing self-taught stuff. There’s nothing more exciting that seeing someone whose done a personal project and they’re bringing that to the table. Even if I think it’s rubbish in terms of how it looks I can appreciate the effort that’s gone into doing it. I remember one guy who built a hockey website for his hockey team, and it had all the fixtures - he did the styling himself. That was questionable, but this was back in the day when you couldn’t get bootstrap and nice templates, so all hand-coded. When he showed it to me, I knew that he was someone who’s working outside of normal hours, and he’s learning to get better. It’s that attitude that a good employer is looking for. It’s not that you tick the box, as no one expects a junior to do what they want, but they want to know a junior can learn quickly and adapt.
Nathan: So you think that if they can demonstrate they’re working outside of normal hours on their own projects, that demonstrates they’ve got the aptitude to learn and they actually care enough to want to do it.
Alastair: That’s it, because what you’re looking for is the aptitude in a person, that’s the key thing you want in a junior. If someone comes and shows a university project or something they did in university, it’s not got the same appeal - how much handholding did they get? Also you can’t see that they’ve put in the extra work.
Nathan: Yeah, so they’ve gone to university, they’ve been told what to do, and they don’t have any interest in tech or development. So it’s a massive thing to do your own project. If you’re interested in front-end you might do your own styling, or if you’re into back-end you might write some of your own methods. You focus on the stuff you want to do. So is that what you look for in a junior?
Alastair: Yep, that’s fair.
Nathan: So that’s something that you think demonstrates a good junior, but what would you say the most important factor is with juniors. Do you think there’s anything aside from having their own projects, that are the real mechanical parts of being a junior?
Alastair: ‘Mechanical parts’ - that’s a good one. You need to be able to pass a basic coding test, and there are lots you can do online. I have not done one in many years, in terms of running one, but I do know that there are some standard tests we give our candidates that aren’t language specific but just show their capability to follow through some logic, and basic programming principles. Simple stuff for juniors. Just checking they’re able to do it. There are certain basic that you need to be able to do. For example, iterate arrays, etc. Stuff that if you’re a junior you are expected to be able to do.
Nathan: We spoke to Ejaz rashid at GivingForce and one thing that he mentioned was with programming languages, that they’re not actually that important. It’s just being able to see that someone has the aptitude to solve the problem.
Alastair: Yeah, that’s it.
Nathan: Changing the syntax is quite easy.
Alastair: Yeah, I think that once you know how to program actually changing languages between modern languages is actually pretty frictionless.
Nathan: Cool. What support do you offer junior team members when they join your team?
Alastair: Sure, here’s a couple of things we do. We offer a three month intense learning period for real new people, so they won’t be on any billable work. They’ll spend the first three months working on a couple of projects that might be internal, so they can get up to speed on the technology. We also then pair our junior programmers with a senior, on a one-to-one basis, so they have that person to go to and they’ll teach and support them.
Nathan: That sound awesome. That’s one thing out of the juniors we’ve spoken to that they said was really important. Being paired with someone who will mentor them and having someone show them the next thing they should be learning. When I was a junior myself under Ejaz from GivingForce that was one of the main benefits I got out of that relationship.
Alastair: No definitely, it’s key.
Nathan: What do you do to ensure a junior’s success when they start working on projects?
Alastair: We just try to make sure that they are supported in the right way. And give them tasks that we think are right for their aptitude at the time. We try not to drop people in at the deep end too much. The first projects they do we’ll ensure that they’re working with a big team and there’s only a small amount for them to do with lots of people to ask for help, and then as people become more senior they get to do things more autonomously. I think in terms of making them a success it’s as much their responsibility as ours. We have a baseline but it’s really up to them.
Nathan: What do you think are the challenges of bringing a junior into their first role and how do you overcome them?
Alastair: I think the biggest challenge for taking on a junior is making them productive. Getting them up to speed on the technology and stack might be different, and getting them up to speed on background and the project. The rest of the juniors work won’t be a value add. So that’s the biggest challenge. How do you overcome it? I think for a smaller company it’s harder, because you don’t have access to as many projects or things you’re working on, it’s just 1 application. We are a bit more lucky as we have lots of projects so we can put them on a simpler project - but that’s based on the business. The key thing that juniors need to understand is to find places where you can help out, get things into production, fix issues, etc. If you have to sit there and fix bugs for three months that’s because that’s actually adding value to the business. They’ll be time for you to work on features once you’re more familiar with the code.
Nathan: Yeah absolutely. It’s interesting you said those two things, that the biggest challenge is making them productive and also not throwing them in at the deep end, as there’s always going to be a period where their not as productive as possible and you have to manage that.
Alastair: Yep. I think anyone whose being doing this a while should have the expectation that someone coming in as a junior won’t be productive for a while. If you have a smaller team, like a startup, then you might have slightly different expectations, but then you should talk to the junior about it.
Nathan: I think there are mixed expectations in the market. There are a lot of smaller companies like startups who think that the only factor with a junior is that they are cheaper. But they need to understand that a junior is not going to be as productive someone more experienced. Something I heard a long time ago, is that the reason you pay a lot of money for a senior programmer vs a junior, is a junior can solve a problem in a particular way if they try really hard, but a senior has solved the problem already in multiple ways. So when you bring in a senior they can just solve the problem. I think that one of the things that startups might need to understand is that when you’re thinking of bringing in a junior, it might not be the right fit for you. We’ve definitely spoken to companies where we’ve said that right now it wouldn’t be a good fit, because you’re too small and you have no one for this person to learn from.
Alastair: Yeah, absolutely. I think there’s definitely a scale thing before juniors work really well in a team. So you definitely need a fair few people.
Nathan: Would you hazard a guess at what sort of size team that would be?
Alastair: I think if you’ve got three solid developers, I think bringing in a junior then would be a good point, but it depends, as every junior you bring in you’ll lose some velocity from your senior developers whilst they’re supporting and mentoring. So I think three’s about the right time where you wouldn’t see to much loss as you can spread it around.
Nathan: Our last question, which is my favourite, is tell us about a great junior hire and what made it work really well.
Alastair: Sure, well we’ve had a really good junior developer start for us in Chester called Hannah. She came to us straight out of university with no commercial experience, and the key thing that worked out really well with her was her passion. She had an area she wanted to focus on which was the Front-end - HTML, CSS. That worked out well for us. She also put in a lot of extra effort to find courses she wanted to go on, and did them over the weekend. She was a trooper on any project we put her on. She worked hard, and got involved. I know it sounds bad, but everyone appreciates a bit of extra effort. If you’re a junior developer and your colleagues are working till 7pm because you have a release, just asking what you can help with, and doing your bit and working a bit later each day goes a really long way to building that respect as a colleague.
Nathan: Yeah, I think it really develops that feeling of trust when a junior comes in who doesn’t know that much and they need to learn taking the opportunity they’ve been given and staying a bit later. As much as some juniors might not want to do that, they need to see that to have a successful career they have to put the effort in at the start.
Nathan: That’s all of the questions I have, so thank you very much Alastair.
Alastair: No problem, nice to talk to you.
CoderList is a community of over 1500 up-and-coming developers looking for their first job.