Tatiana Vasilyeva, Product Manager for JetBrains Educational Products, shares her story with Maria Lebedeva, QA Engineer in the MPS project, about finding inspiration and fulfillment in her work.
Table of Contents:
- Journey to Product Management
- A Good Release
- Personal Efficiency
- Educational Products and Educational Content
- Project-Based Learning
Journey to Product Management
Maria Lebedeva: I want to begin with the fact that you and me, we both followed the same path: we went to the Physics and Mathematics Lyceum No. 239 and then attended the Faculty of Mathematics and Mechanics at St. Petersburg State University. Well, and now we both work at JetBrains. I would like to know how you found yourself at this job.
Tatiana Vasilyeva: At university, I majored in Applied Informatics in International Relations, because, when I enrolled at the university, I wanted to do something cross-disciplinary, rather than just studying programming. Nevertheless, at the end of my second year, I went to work as a junior developer because I was genuinely interested in programming: I wanted to write code in a real industry context and not just as part of academic projects. Then, during my third year, I came across Frederick Brooks’ famous book, The Mythical Man-Month, which greatly influenced me. I understood that I wanted to move towards project management and process management in IT.
By the end of my fifth year, I was no longer coding. I was leading the development team and I was building Agile processes, mainly Scrum, in my team and in a few other teams. I actively participated in Agile conferences, passed certifications, and was one of the founders of the Agile community in St. Petersburg. However, after being introduced to Lean Methodology and completing the training course by Mary and Tom Poppendieck, I began to lean (no pun intended!) towards product management and away from project management. I became fascinated with not only building processes, but understanding exactly what the product should look like, working with the requirements, and conveying to the developers the idea of why we are doing what we are doing, and for whom we are doing it. That’s when I realized I wanted to switch to product management. Since I had been working in outsourcing, where product management is usually done on the client side, not on the contractor side, I began to consider product-based IT companies. At the same time, I wanted to find a company making products that were truly interesting to me.
Then, the Product Marketing Manager vacancy at JetBrains caught my eye. And I got really excited. I knew and loved IntelliJ IDEA while I was still a developer. At that moment, the idea that each product needed its own PMM was just starting to catch on at JetBrains. I never thought that I wanted to work in marketing. But the prospect of working on a good product appealed to me so much that I applied for the job. As a result, I was hired as a product marketing manager and assigned to the RubyMine project. I must say that I had some industry development experience in Ruby on Rails, and this, of course, played a role in this decision.
M: That’s very interesting! So was this in 2011?
T: Yes, eight years ago. It’s hard to believe!
M: What was the company like at that time? How was it different from today? After all, we’ve grown significantly.
T: The company was smaller, more intimate, and consisted mainly of developers and team leaders. It was a company of people who were jacks of all trades. Development, testing – everything was done within the framework of product teams. Many employees were working on solutions for very diverse tasks and we combined multiple roles on different products. Our tech support for all IntelliJ-based IDEs was still being done by just one employee, the legendary Sergey Baranov. The first PMMs were some of the first few people in the company who were not developers.
M: Has this sense of intimacy disappeared?
T: I felt that things started changing shortly after we moved to the Universe office building in 2013. The company began to grow rapidly. Sometimes I would arrive at the office and encounter a person I didn’t know personally. However, this intimacy still remains within the framework of the product teams and in the smaller offices. But a lot has changed, of course. New teams have appeared, such as Digital Marketing, Design, Market Research and Analytics, and others. The division of responsibilities has become clearer, and many processes are now more clearly defined, including product releases, technical support, meetings, and so on. When I first joined the company, we had four PMMs and now we have more than twenty.
M: So, what kinds of tasks does a PMM work on?
T: The PMM’s tasks largely depend on the team. The PMM acts more like a communicator – they help establish team communication with the development community and they also connect the team with other JetBrains product and internal teams, designers, analysts, and other specialists. There’s no need to specifically explain to developers what users need because they have a rather good idea of what and how things should be. After all, we are constantly using our own products. If a team needs to understand some current trends better, decide on priorities, or if it is necessary to understand how to better talk about a particular functionality, the PMM finds the right people for this, organizes everything, and brings the result to the team.
M: These are product-related tasks. But what about marketing tasks?
T: Marketing tasks include working with the website, blog, and preparing other marketing materials. This includes organizing advertising campaigns. For example, PMMs act as customers for the Digital Marketing team. This includes choosing suitable conferences to attend, organizing and preparing presentations, getting stands ready for exhibitions, and so on. Generally speaking, the PMM is responsible for how the product looks on the market and how the product is presented and sold.
M: You worked for RubyMine for nearly 5 years. How did the product change, and how was this reflected in your tasks?
T: I started my job at RubyMine during a very good time for the product. 2011, 2012, and 2013 were also good years for Ruby on Rails. Ruby 1.9.3 was released, followed by 2.0.0, Rails 3.1, and Rails 4, which brought many interesting and useful changes to the technology. My first release, RubyMine 4, was the most memorable for me. It was a good release and well received by the community; it appeared to me that the team was satisfied, too. The team did a great job on performance in that release. There were a lot of exciting new features, in particular, a number of new code inspections, support for new test frameworks, etc. RubyMine has come a very long way since then, and has become a truly mature product with a significant functionality set. It’s interesting that the technologies themselves, Ruby and Rails, after a period of growth, reached a sort of plateau. There started to be fewer changes in the language and frameworks that the IDE could support and which new releases and marketing campaigns could be built from. The team had to look for new ways to advance the product which differed from the feature-driven approach.
M: Do other IDEs face such a problem?
T: If they don’t have such a problem now, then they surely will at some point. This is precisely why the RubyMine experience is even more interesting. The marketing and product solutions that the RubyMine team is developing and testing are highly likely to be reused in other products. Moreover, it’s important to bring marketing to a whole new level of quality. This is an exciting task, but it is also the reason why I left RubyMine. If you recall, I was initially more interested in the product rather than the marketing component of the PMM role, and I decided that it was time for me to look for something else. We found an outstanding specialist who was interested in this task and capable of handling it to take over the position of PMM in RubyMine.
A Good Release
M: You called RubyMine 4 “a good release.” What do you mean by this?
T: Well, for me, a good release consists of three components. First of all, it must be ‘clean’ in terms of development. There should not be regression and bugs on the second day after release. So it should be high-quality, well prepared, and ideally it should be ready in advance with no panic and fixes on the last day before release. The development team should be satisfied with their work. But let’s be honest, it’s not always like that. Secondly, the product’s new version should make users’ lives better when compared to the previous version. There should be an increase in value. This can be anything – the support of a new functionality, a framework, or some sort of new take on the old functionality that reaches the next level. For example, we released the dark color scheme Darcula for IntelliJ IDEA and other IDEs. It would seem that these are just colors, but, for many users, this was an opportunity to feel completely different, much more comfortable with their IDE. Or, as another example, when we boosted performance in RubyMine 4, the IDE began to start up four times as fast. These are the kinds of things that people notice right away. So there should be something in the release that makes developers immediately notice that it has become better. Last but by no means least, the third final thing is that sales should grow and the number of new users should increase.
M: Should the concept of “a good release” change after migration to a subscription model?
T: In my opinion, on the whole, it should not. In order for users to renew their subscriptions, they must see that the product is constantly improving. But the changes should be smoother. This is why we switched from two releases per year to three. We are also trying to move away from the scheme where some major feature is developed over a long time and then it’s released and promoted. Now we are trying to focus on specific use cases and make changes, albeit small, but which together lead to a new, better user experience with each use case.
M: Let’s talk about your transition state. When I was preparing for our meeting, I found your presentation from 2016 at the internal JetBrains conference about personal efficiency. I really liked it. It seems to fit perfectly with your constant desire to improve processes. Will you continue with this personal project?
T: Indeed – even though at some point I switched from processes to product management, I am still interested in building processes, just not in teams but rather in my own work. Besides, I transferred over many of the things that I used as an Agile coach to my own work. Moreover, in our company, it’s very important to be self-organized because we do not have a rigid management hierarchy. It’s vitally important for the PMM because this work consists of constant multitasking and a lot of external factors. To survive you have to be good at adapting quickly.
M: Does this apply to all PMMs?
T: Yes, I think so. I am always tweaking how I do my work. I change some models, try different tools, and I generally like trying different practices of self-organization.
M: Do you write to-do lists?
T: Yes, I do, among other things. I love writing to-do lists and searching for various apps for them. I was intentionally switching these apps every few months because it forces me to redefine my priorities, review once more what I am doing, and compare it with the big picture. At some point, I realized that this was not only a personal pain point of mine, but that, in fact, it’s a pain point for many people. I also understood that from the experience I accumulated while implementing Agile, a lot of these things could not only work for me but also for others, so I decided to share these ideas.
M: You also talked about meditation as a way to calm down after a very happy or sad experience. Some of my friends use meditation apps. By the way, do you still meditate?
T: Yes, I still meditate. I started meditation in 2014 and continue to this day. This has not become a daily practice for me, but meditation still really helps me to disengage myself from emotions and to start to calmly take action when necessary. I definitely try to meditate at least 4 times a week.
Educational Products and Educational Content
M: Of course, I’d like to talk about how the area of Educational Products originated.
T: The history of educational products began about 7 years ago. At that time, Sergey Dmitriev, Co-Founder and President of JetBrains, took quite a few courses on various MOOC platforms. He did not like everything about how online education was organized and he got some interesting ideas about how it could be arranged. He shared his ideas with different people in the company. These ideas ‘blossomed’ and developed into several areas. One of these areas was Stepik. Another area was PyCharm Educational Edition.
M: How did you make the team?
T: When I realized that it was time to leave RubyMine, I began to look for other opportunities. And I looked primarily within JetBrains. I didn’t want to leave the company because the people here are very close to me and the company’s culture and values coincide with my personal values in many respects, which is very important. When they told me about the educational area, I got really excited. Unlike RubyMine, everything in this area was just starting out. I wanted to get into the product at an early stage. Furthermore, the task was to integrate various ideas and areas into a single product; this was exactly the type of product management that I was looking for. Indeed, the topic of education is very versatile, it fascinates me.
M: When you talk about the product, do you mean PyCharm Edu?
T: Now there’s a whole range of Educational Products, but initially, I was switching specifically to the PyCharm Edu team. It was already an established product with its own users. But it still remained part of PyCharm and it was created by the PyCharm team. As I saw it, our challenge was to enter a larger market and to get away from the concept of an IDE. When we talk about an educational product, we are not just talking about the tools, we are also talking about the approach to learning: the educational materials and the environment. We had many scattered ideas about how programming should be taught, and we had to bring all these ideas together. It was necessary to articulate a vision, to understand who our target audience is, and what solutions we can offer, and decide how to proceed from ideas towards specific actions. This turned out to not be so simple. By and large, my entire first year on the project went towards carefully collecting all the existing ideas and groundwork, rethinking them and articulating what we mean by Educational Products. But we started off by forming an independent team that was no longer part of PyCharm. Besides this, the unified plugin EduTools appeared, which supported not only Python but also Java and Kotlin.
M: I am familiar with PyCharm Edu because I took some courses there. When I want to write something in Python, I sometimes code directly in PyCharm Edu, although I have both IDEs. I know that the plugin is now compatible with PyCharm, IntelliJ IDEA, Android Studio, WebStorm, and CLion. Tell us about your target audience – who are you targeting?
T: Our target audience is divided into several segments. First of all, there are educators and learners. And when we say learners, we don’t just mean university students; our focus is on those people who are actively engaged in self-education. These are usually people who already have a formal education and often work, but who seek to fill gaps in their knowledge or those who want to move over to IT from other areas. If we are talking about educators, again, these are not only teachers who make their living from teaching in the classical sense, but also those teachers who share knowledge on blogs, write books, or create online courses.
M: Who creates the courses? How do you find the people who develop the courses?
T: That’s a good question. We make content of our own, but we are also actively looking for people who are willing to collaborate.
In order to get good educational content, you need to choose an approach to learning, and choose educational materials and tools that suit this approach.
M: Do you mean that anyone can make their own course if they want to?
T: This is not about the courses in the classic sense. This is exactly what we see as the drawback of existing online education – it is still being built in the image and likeness of offline education – it lives by the concepts of “course,” “semester,” and so on. But this does not work for life-long learning (continuous education). We must move away from that and we must split up information in a different way; this doesn’t have to be a static course that’s the same for everyone. Each student should be able to draw up their own map and build their own educational plan, which will lead them along the path to gaining the knowledge that they need.
M: I believe that classical education is also gradually heading in this direction. All education, apparently, is moving towards such a modularity and becoming oriented towards the individual.
T: Yes, absolutely. Education is now at a tipping point – it is trying to reach an entirely new level. It’s obvious to everyone that the existing educational standards do not work; they do not meet the needs of the modern world, especially the world of the future. But there are no new standards yet. So now there are a lot of experiments in school education, in university education, and in online education. This is now a very interesting area in an interesting time! Huge changes are taking place and will continue to take place. This is because society has changed a lot. Education is trying to catch up with these changes. We are moving further away from rigid structures. If everything earlier was based on the fact that you first accumulate knowledge (study), and then use this knowledge (work) all your life, this model no longer works now. You learn throughout your life. Nowadays, the same person may be a student in one subject, but an expert in something else. This is because people have started to change professions more often as they begin to accumulate knowledge in different ways. The boundaries between the different subjects are becoming more and more blurred. This gives rise to completely new areas of activity and professions. This is precisely why the education system must be rebuilt. Of course, online education plays a key role here.
M: Are there any projects that you regard as competition?
T: Of course, there is competition. As I said, now is the time for experimentation in education. A lot of interesting educational platforms are being created. This is not only about MOOC platforms, such as Coursera, edX, Khan Academy, Udacity, Udemy, FutureLearn, etc., but also about training platforms with a focus on practice and problem solving, such as Codecademy, Codewars, and JavaRush. But we believe that we can offer our own unique solution. Now we are focused on project-based learning, personalized learning, microlearning, and learning directly in the development environment using professional tools.
M: Tell me about project-based learning. How does it work?
T: The meaning of project-based learning is that new knowledge is immediately tied to a specific practical task. Students do not just learn something new; they immediately apply their new knowledge in practice and see how this new knowledge allows them to obtain specific results. The student begins to accumulate experience even at the learning stage. It’s very motivating. Such an approach is very relevant in the teaching of programming. This is because programming does not simply mean knowing the syntax of a programming language, it means knowing the language, being able to solve specific problems using the programming language, and being able to use the necessary tools. Therefore, in this case, it is all the more important to include projects with the study, so users can relate with what they are learning and if they can do this directly in the IDE, then even better.
M: So can you master the code and the IDE, at the same time?
T: Yes, because being proficient in using tools like build tools, version control tools, and IDEs are important skills for any programmer. And it’s necessary to show when, why, and how to use the various tools at the learning stage. A simple online editor is enough if you want to learn the syntax of a programming language, but not enough to work on a bigger project. It is important to set up the environment and to be able to use it.
M: Is project-based learning part of your plans for the near future?
T: Yes. We have already announced JetBrains Academy – we have taken our first steps in this area jointly with Stepik. We have opened access to the Hyperskill platform for learning programming languages, which is based on all of the above-mentioned principles.
Furthermore, we are now also thinking about how to integrate the learning process into everyday programming practice for those who already work as programmers, but who nevertheless would like to improve their knowledge. In order to do this, it’s necessary to issue training materials in small portions, but they must be relevant to the context: how people who are already engaged in professional development learn, how they learn about new features of languages, and so on. They don’t learn Java from scratch, for example, but they may be interested in what has changed in the latest version of Java and how this can be used directly in the code that they are currently working on. At the beginning of the year, we released the results of a survey on this topic that we conducted among professional developers.
M: You recently returned to work after a second maternity leave. Did having children influence your work somehow?
T: Yes, absolutely. Having a child prompts me to reconsider my goals and priorities in many ways. In fact, it was right after I returned from my first maternity leave that I began thinking about leaving RubyMine. My second maternity leave prompted us to bring two more PMMs to the Educational Products team, which allowed me to focus more on product management and move away from marketing, thus becoming a Product Manager. Moreover, having children also caused my working style to change. It’s not always easy to combine family and work, and this gave rise to my fascination with time management and made me weigh my decisions better. It forces me to think more about if there is anything I can do today that I would otherwise put off, because with small children, you’re not always able to make use of your time as you planned. On the other hand, I noticed that similar things are attractive to me in both my work and in parenthood. In many ways, being a parent is listening to and really hearing your child, trying to understand them, learning to look at the world from a different perspective, from a child’s eyes. Being a product manager is, in many ways, listening to and really hearing the users and developers, learning to look at a product from a different perspective, from other people’s eyes. Both these things are about empathy. But, of course, the topic of education is close to my heart. My eldest son will start school soon. I am thinking about how he will study and what he will study, and how I envision his education. What opportunities does he have today and what opportunities would I like him to have tomorrow? This forces me to ask questions, read about education, and to really think it through. It’s important to me that my work and my personal interests overlap. Sometimes, some ideas that arise in matters of education in my own family are reflected in my work, and vice versa. It’s very interesting.