Studytube’s VP of engineering on finding the best JavaScript developers
August 10, 2016 • 7 min read
- Grid Dynamics: Stepan, could you start by giving us a brief description of what Studytube does?
- Grid Dynamics: What subjects do your courses cover and what languages do you support?
- Grid Dynamics: There are a great many of e-learning platforms available on the market. What makes you stand out from the pack?
- Grid Dynamics: When did you join the company and what were your first steps at Studytube?
- Grid Dynamics: Why exactly did you choose Angular?
- Grid Dynamics: JavaScript is a relatively young technology. How do you go about hiring good JavaScript developers to add to your team?
- Grid Dynamics: How long did it take the developers you ended up hiring to switch to JavaScript and Angular?
- Grid Dynamics: What interview procedure do you follow? How do you know that the JavaScript developer you’re interviewing actually has a good knowledge of the language?
- Grid Dynamics: You recently added six junior JavaScript developers to your team in Ukraine. Why did you decide to expand?
- Grid Dynamics: Stepan, you used to work as an offshore developer, and now you run a team of offshore developers. What tips do you have for making a remote partnership work?
- Grid Dynamics: How do you help your employees sustain that initial level of motivation?
- Grid Dynamics: You mentioned sprints. Does that mean you use Agile?
- Grid Dynamics: Do you all actually stand during stand-ups?
- Grid Dynamics: What tools do you use to manage your team?
- Grid Dynamics: What are some of the complications that come with working with a remote team, and how do you overcome them?
- Grid Dynamics: Have you found any work-related differences between Ukrainian and Dutch developers?
- Grid Dynamics: Any final tips for those of our readers who’re thinking about building a development team in Ukraine?
Studytube is an all-in-one online learning platform that gives its users access to an extensive library of ready-to-use courses, enables them to create their own courses, and provides powerful reports on their employees’ learning progress.
Last week, we had the opportunity to chat with Stepan Suvorov, VP of Engineering at Studytube. Stepan has the unique experience of working as both a remote developer and a team leader running a nearshore development team, so we couldn’t pass up the chance to pick his brain on how to make a geographically distributed team work.
Apart from team management tips, Stepan also gave his thoughts on how to hire the best JavaScript developers and build an Angular team from scratch. You can find more on these topics in the interview.
Grid Dynamics: Stepan, could you start by giving us a brief description of what Studytube does?
Studytube is an educational platform, or, in other words, a learning management system. Although anyone can buy our courses, we’re mainly focused on B2B. Our clients are companies that are interested in helping their employees improve their skills. They purchase a subscription to our product, add their employees to our system, assign courses to them, and track their learning paths.
Grid Dynamics: What subjects do your courses cover and what languages do you support?
Our courses cover business-related subjects like project management, data presentation, sales and marketing, and many more topics along those lines.
We’re currently focused on the Dutch market, so the majority of our courses are in Dutch. However, we do plan to expand internationally, so in the future we’ll probably have courses in other languages too.
Grid Dynamics: There are a great many of e-learning platforms available on the market. What makes you stand out from the pack?
We select the teachers ourselves, our content department creates the course materials together with them, and we have our own studio where we shoot and edit the videos, so unlike many other e-learning platforms, we’re actually responsible for the quality of the courses we offer.
“Apart from that, our platform is unique because it’s an all-in-one solution. Many companies offer instruments for course creation, others offer course analytics, but pretty much no one else provides all of these instruments in a single package.”
Our courses also feature adaptive paths, which means that our system determines how well the learner knows a certain topic, and either provides additional materials to better their understanding, or skips the part of the course the learner already knows well enough. This way, every student gets a learning experience specifically tailored to their needs.
Another thing we’re currently working on is live courses, which we will then use to build a blended learning process.
Grid Dynamics: When did you join the company and what were your first steps at Studytube?
I joined Studytube by accident. Almost three years ago, a friend of a friend invited me to their office, so I came and never left.
At that time, Studytube was a very young startup. The company worked with part-time freelancers and had no internal processes in place.
When I started working at Studytube, the company was in the process of transitioning from a B2C solution that sold courses to students to a B2B solution that sold an educational platform. For this transition to happen, we had to move our platform from a website to a single-page application.
During my first few weeks at the company, I analyzed a number of JavaScript frameworks that we could use to build our single-page app, and in the end decided that Angular was the best choice.
Grid Dynamics: Why exactly did you choose Angular?
“Angular allows you to change the way data is presented quite easily, which is the first and most important reason we use this framework.”
The app that already existed when I joined Studytube was written with Ember.js, but we didn’t continue using it because I found it too needy in terms of requirements. We were (and I guess still are) a startup, so our requirements changed all the time based on the feedback we got. Ember.js has a very rigid structure. You need to set the requirements first, and if anything changes while you’re developing your software you basically have to go back and start from scratch with the new requirements.
The other reason lies in the fact that Angular has a very robust community that offers a lot of ready-made solutions and additional modules you can apply in your project.
Grid Dynamics: JavaScript is a relatively young technology. How do you go about hiring good JavaScript developers to add to your team?
You’re right, JavaScript is young, which makes hiring good JavaScript developers quite challenging, which in turn makes hiring good Angular developers virtually impossible.
I decided to add Ukrainian JavaScript software engineers to our team through Grid Dynamics because I’d worked there before and knew how everything worked from the inside.
“I interviewed a lot of candidates, including a number of senior JavaScript developers, and the conclusion I came to was that JavaScript must be so young that it made more sense to just hire good developers, regardless of their tech stack, who’d be willing to learn JavaScript instead of looking for people with JavaScript experience.”
We stuck to this course and are very happy with the results.
Grid Dynamics: How long did it take the developers you ended up hiring to switch to JavaScript and Angular?
It’s hard to say. All the people we hired had a basic understanding of JavaScript even though they hadn’t worked with it before, so I’d say it took them anywhere from one to three months.
I gave a lot of candidates small tasks so that they could get a taste of JavaScript and Angular even before they joined us. That way, they were able to gain entry-level knowledge of these technologies, and we were able to see their potential in practice.
Grid Dynamics: What interview procedure do you follow? How do you know that the JavaScript developer you’re interviewing actually has a good knowledge of the language?
During an interview, I try to understand whether a candidate has that itch to dig deeper, to peek inside libraries and frameworks and figure out how things work, or whether they do everything by the book and don’t really care about getting to know the technology they’re using. I weed out a lot of people this way.
“I like to give candidates non-standard questions and see how they react. For instance, a lot of senior JavaScript developers like to write in their resumes that they’re proficient in jQuery, so I ask them, “How would you build jQuery using pure JavaScript?” If they can’t give an answer, their JavaScript level probably isn’t as good as they think it is.”
When developers don’t understand how the technology they’re using works, they won’t be able to leverage its full potential. That’s a red flag that tells you you’re probably not talking to the right person.
Grid Dynamics: You recently added six junior JavaScript developers to your team in Ukraine. Why did you decide to expand?
Why did we decide to expand? We got a new investor (laughs).
Actually, I’d been pushing the need to scale up for quite a while. We have plenty of ideas on how to improve and expand our system, and the lack of resources had been holding us back.
We have a three-month-long learning plan for our new developers who will be learning to code in Angular 2. If the plan proves to be successful, we might hire more people in three months or so.
Grid Dynamics: Stepan, you used to work as an offshore developer, and now you run a team of offshore developers. What tips do you have for making a remote partnership work?
“The most important thing is to hire people who’re very self-motivated. The remote model isn’t going to work if you have to keep pressuring your developers to write code.”
Of course, it’s not always possible to see whether a candidate is motivated and organized enough during the interview, so we did end up hiring people who didn’t fit our work culture a couple of times in the past, and we had to say goodbye to them pretty quickly.
Studytube doesn’t work that way. We don’t want anyone to just sit around waiting for the manager to come and tell them what to do. The people who work with us live and breathe our project, and are constantly thinking about making it better.
Grid Dynamics: How do you help your employees sustain that initial level of motivation?
Since we’re a startup, each engineer can take part in developing ideas which impact the whole business, which obviously makes them way more involved with the product.
I’m pretty sure every developer wants to work on a project that would help them hone their skills or learn new things, which is why we create a personal development plan together with our employees. Once the plan is ready, we facilitate their progress by assigning tasks that will help them acquire the desired expertise.
We also have an ‘ideas day’ once every sprint. On an ‘ideas day’, people are free to work on their own ideas about improving our product. One day obviously isn’t enough for serious alterations, but they can pick up where they left off the next ideas day. Our own deployment tool, for example, was developed over the course of a few ‘ideas days’.
What’s more, we get our developers tickets to conferences, workshops, and webinars they’re interested in whenever possible, and organize business trips to our headquarters in Amsterdam every time we need to plan long-term goals (or to celebrate once we reach them). These offline meetings are great because they make planning a lot easier and create excellent opportunities for team building activities.
Grid Dynamics: You mentioned sprints. Does that mean you use Agile?
We do. When I joined Studytube, there was no methodology in place yet. I’d used Agile at a few companies before, and also worked as a Scrum Master at a number of projects. I’d helped teams transition to Agile, and had seen only positive results, so of course I suggested that we use it at Studytube.
We stick to the standard Scrum process – we have 2-week sprints, daily stand-up meetings, pre-planning, planning, and retrospectives.
Grid Dynamics: Do you all actually stand during stand-ups?
“Sure! In fact, last time the Kharkiv team came to Amsterdam, we stood in the plank pose during stand-ups to make them even more to the point. Plus, extra exercise never hurts.”
Grid Dynamics: What tools do you use to manage your team?
Jira for task tracking, Google Hangouts and Slack for communication, WorkFlowy for retrospectives, and Confluence for documentation, but we’re considering dumping the latter and switching to a different tool.
Grid Dynamics: What are some of the complications that come with working with a remote team, and how do you overcome them?
Remote teams lack the instant communication you have when people work in the same room, and you don’t need to schedule a conference call to exchange a few words with everyone.
“That being said, our Kharkiv team is made up of reliable people who produce high-quality code, and since our internal processes are well established, we’re happy with how the remote model is working out for us.”
Grid Dynamics: Have you found any work-related differences between Ukrainian and Dutch developers?
I don’t think I have, Dutch people are quite similar to Ukrainians.
Grid Dynamics: Any final tips for those of our readers who’re thinking about building a development team in Ukraine?
If the majority of your development resources are going to be concentrated in Ukraine, I’d recommend hiring a team lead in Ukraine as well. It’ll make communication a lot smoother.