Ejaz Rashid from GivingForce spoke to us about the lack of importance for specific skills in a juniors background, providing action plans to support junior team members, and setting up best practices processes for juniors to learn from.
Ejaz Rashid is CEO and Founder at GivingForce.
Nathan: Hello, and welcome to the second of our CoderList talks where we will be speaking with different parties involved with junior developers. Today we’ll be speaking with Ejaz Rashid, CEO and Founder of GivingForce. Thanks for joining us Ejaz.
Ejaz: Thank you for having me.
Nathan: No problem. Tell us a bit about your company.
Ejaz: GivingForce is a online platform that allows companies and their employees to give time and money to their local communities wherever they are around the world. We have some pretty large customers like Barclays, HSBC and British Gas who are looking to engage more with their local communities and empower their employees to do that.
Nathan: Cool. How big is your development team?
Ejaz: Development team is currently 27 people. Spread between the UK and India. Mostly based in India.
Nathan: Cool. How many juniors do you have in that team?
Ejaz: That team we probably have about 6 juniors at the moment.
Nathan: So how regularly do you go through a process of hiring juniors?
Ejaz: We’re constantly looking. One of the challenges is finding people who have the right attitude, the right values and the right temperament to join the company. Skills are important, but don’t come up as high in our requirements as the other attributes.
Nathan: Cool, and what is the main thing you look for in your juniors if it isn’t just skillset?
Ejaz: It’s the ability to solve problems to look at things from a high level perspective, and not just a low level perspective. To know when to ask questions, and to ask for help. There is less value in someone who struggles without recognising that they need assistance
Nathan: So would you say that problem solving is the most important thing you look for in juniors? Or is there another golden factor?
Ejaz: The golden factor is probably the honesty to recognise what you do know and what you don’t know, when you need help, when you’re able to solve the problem, and that’s the most well demonstrated by people who can produce good solutions. They have the awareness to know when they’re on the right track, when they need more information, and when they don’t have enough. That’s one of the things a junior can struggle with as they don’t have the experience to know when they need more help. The flipside of that is more experienced people who think they know it sticking their hands up.
Nathan: That’s interesting, as we spoke to a junior yesterday who said one of the qualities that she felt was important was that she wanted more people who hire to look for in juniors was an eagerness to learn and the humility to know you don’t know everything.
Ejaz: Absolutely. If you’ve got the willingness and ability to learn and a perspective of who you are, what you know and don’t know, then skill set comes secondary. I think that a lot of employers get hung up on a particular skill, a version of a programing language, when it’s really the ability to program that’s most important.
Nathan: One thing that we’ve discussed before is when you know a particular language and skillset, changing the language is not as hard as people would think. I think that’s probably contrary to what a lot of people who hire juniors believe, who are looking for a particular skill who think ‘they don’t have it so they can’t do it’.
Ejaz: I think that a pretty shortsighted view of programming, programmers and the people you’re going to take on. The best programmers that i’ve known are able to apply their skills and knowledge no matter what the language. Shifting 1 syntax to another is pretty trivial. It’s the ability to know what can and can’t be done, how to do it, what’s best practice. Even something as trivial as coding for the worst case scenario is a skill and is a mindset that not everyone has.
Nathan: So, it’s almost the meta-thinking that you’re doing in all of the programming languages in a domain. I was talking to a programmer the other day and she was shocked that you can change the language so easily. I said once you’ve done it once, you know what’s going to change. If you work in a particular domain you’re always working with the same underlying technologies. For example if you’re working with the web, the way you send HTTP is always the same, it’s just a case of the way in which you’re accessing it. Simply changing out the words like speaking any other language.
Ejaz: Absolutely, and that really is the case. Once you’ve learned any language, or learnt to program in any language then you know what’s possible. If you don’t find it immediately, then Google it or look it up in the documentation and you’ll find the thing you need in the language you’ve just moved to. Other than some really deep detailed development work where you need the know the nuances between the different languages, the rest is not a significant jump. Also, the number of people who need that level of detail in a particular language is not as high as most people would like to admit.
Nathan: There are a lot of developers who think that their ten years of experience in Java is way more important than their ability to pick up Node.js in a couple of weeks... Cool, so when you hire juniors what support do you offer them when they come into the role? - Especially if it’s their first role.
Ejaz: There are a few people for who it’s their first role. So we put together a growth plan which effectively means they have access to more experienced people - a buddy - who will work them through the teething problems that everyone will have, but especially a junior. We also make sure we have the right processes and procedures in place. So for a relatively small company like us, we’ve made sure that we’ve got the best process, procedures and tools in place that we can have to help all of our developers, but it’s particularly useful for our junior developers who might not be sure of what best practice is. A junior can spend a lot of time, which is not invaluable, learning the wrong way in order to learn the right way of doing things, but we try and guide those people so they learn from others rather than the hard way every time. Those processes show them a good way of doing things and along the way explain the reason why it’s better than the other ways.
Nathan: Yep, I think that’s a great answer. A junior that we spoke to recently said the main thing she wanted to see in her first role is a really clear plan of what’s expected, where you’re going, the way the company does things. This is really useful when you go into the role and then know through this plan what to do when you face a particular problem. With that information, I think the junior is able to move much more quickly, and as a person who’s worked in your company as a junior, I know it works incredibly well.
Ejaz: Thank you.
Nathan: Cool. What do you do to ensure the success of juniors in their roles? So apart from the support that you offer them, what do you do to make them as successful as possible?
Ejaz: That’s a tough one. It’s a two-way street. We hope that we recognise people who have that attitude and ability, and share our values in terms of honesty, putting your hand up when it’s your fault for causing a problem, and from our side making sure there's a safety net. It doesn’t make sense beating someone up for a making a genuine mistake or for trying their hardest. From our side making sure that their is an acceptance that mistakes can be made, as long as you can learn from them and you can move on, not constantly repeating the same problems or mistakes. From a progression path giving people manageable tasks, that are going to push people, but not push them over the edge. We also ensure that they get feedback and recognition from their peers, they can see their on the right track and making progress. As they evolve they are given more responsibility, more autonomy.
Nathan: I think that’s a great answer. Thanks for sharing. What are the biggest challenges when taking on a junior in their first role, and how do you overcome them?
Ejaz: Part of this is cultural, so a lot of our juniors are in India, and one of the challenges we face is that there is a cultural bias towards not asking questions and assuming that people who are more senior or perhaps just older would have the right answers, and you shouldn’t question them. We try and take on people who are willing to question, but no matter how willing you are it always takes some training and practice. That’s the biggest challenge for us for juniors that we take on in India. In the UK that’s less of an issue, but still getting people to ask useful questions is something we need to train people to do.
Nathan: Absolutely, I’m sure that in many companies, even in the UK, facing that problem. What advice would you offer on changing that culture, and what have you done successfully that’s been able to get more of those difficult questions asked.
Ejaz: That’s a tough question. From our perspective we’ve tried to make sure that we set up the environment in the right way. So when we’re looking to do any piece of work we try to invite everyone’s views and perspectives and try not to rely on just the senior team members’ views when creating the solution. We also try as best as possible to not judge solutions before we’ve had a chance to get those ideas out there. We try to keep juniors as much a part of that process as possible, as you don’t need a huge amount of technical knowledge to point out when there’s something obviously not right, or that everyone in the group is missing. I just got back from being with our development team in India where I was reinforcing the idea that’s it’s everybody's responsibility to point out when there are mistakes and to offer ideas so we can build the best solution. It’s the only way to be really good - otherwise you end up being average, or only as good as the one or two people who are proposing the solutions. We all like to think we’re really good programmers but in the end, leveraging the knowledge and perspective of a lot of people gives you a much better chance of coming up with a good solution.
Nathan: So really it’s taking everyone’s experience whether it’s been a couple of weeks, or a couple of years into account; we all have something to say here, but the people with the best experience will get to decide. You get to pull out all of the ideas in your environment so that juniors get to feel a part of the process but also finding the little nuances that might change the way you solve a problem.
Ejaz: Absolutley and we’ve had plenty of those. We learn from experience, and those who haven’t experienced it before get to learn from it as it happens. Hopefully, we are developing a culture where everyone gets value for their input for their perspectives no matter how senior or junior they are.
Nathan: Cool. Our last question today: tell us about a great junior hire, and what made it work really well.
Ejaz: Is this where i’m supposed to say you?
Nathan: Haha, don’t say me.
Ejaz: Haha. Another example is a QA engineer in our India team. He came to us not formed in any way shape or form. He ran a cleaning company before he became an engineer - QA analyst. He brought along so much perspective that you would not expect from a traditional engineer. The perspective of running a company for himself even though it didn’t last very long, it still was very valuable experience and the idea of customer service was already ingrained in someone who it might not have been at that age. His willingness to see things from many different perspectives and bring a fresh approach in. To boot, a really nice guy to be around. None of those things have anything to do with his technical ability, and yet his technical ability is extremely high. His desire to excel in what he does and demonstrate that by not giving up until he’s solved the problem. It’s a great example of a great hire as we weren’t focusing on just someone who had QA or automation skills. He’s someone who thinks about the problem and thinks about how he can make it better.
Nathan: So obviously his experience was really valuable to you, but something it sounds like you did very well is create a culture where that’s valued, where their experience of not being technical is just as important as their technical ability. You were able to see his experience, his customer focus and allow him to be more than just a junior.
Ejaz: Absolutely, there’s no one way through to becoming a programmer or an engineer, and everyone brings a valuable insight that no one else can have. If we were to recruit all the same sorts of people from the same backgrounds, we would miss so much. You would end up with a group think that really is extremely painful. You might think when you start out that having a group of people who are so like minded that you’re onto a winner, that’s quite a challenge to overcome.
Nathan: Thank you very much for your time today Ejaz, I think your answers have been fantastic.
Ejaz: Lovely to be here. Thank you.
CoderList is a community of over 1500 up-and-coming developers looking for their first job.