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.
Stepan with his development team during his last trip to Ukraine
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: Why exactly did you choose AngularJS?
AngularJS 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 AngularJS has a very robust community that offers a lot of ready-made solutions and additional modules you can apply in your project.
We stuck to this course and are very happy with the results.
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.
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.
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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.
Daxx: 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.