Interviews

Developer Today, Marketing Manager Tomorrow

Anastasia Kazakova, Product Marketing Manager for CLion, was interviewed by Maxim Sobolevskiy from JetBrains. They talked about CLion, what PMMs do at JetBrains and what it takes to transition from a developer to a product marketing manager.

nastya

Hi Anastasia! You’re a Product Marketing Manager for JetBrains, or ‘PMM’ for short. Tell us about your job. What is it that PMMs do?

In a nutshell, a PMM acts as a kind of link between the development team and the product users. I listen to what the community is interested in, how they would like to see our product evolve, and I share this information with the team. On the flip side, I keep the community informed of what the team has been up to.

Do you feel that the title Product Marketing Manager has any impact when you’re targeting developers, given many are reluctant to the term Marketing? I know that some of you, like yourself, are former developers.

Sometimes people are dismissive when I tell them I’m a Product Marketing Manager. They expect a sales pitch from someone incompetent in technical matters. But when I start talking about the product and its functionality, they say, “Wow, I didn’t think you were so knowledgeable about the product!” Or, when a PMM submits a talk to a developer conference, it seems that sometimes the reviewer doesn’t read the abstract but only looks at the job title. I guess people generally don’t like to listen to pure marketers. I understand that – I’m not a big fan myself! But I do think that, if you’re working with a reasonable community that does read what you have to say or does give you the benefit of the doubt, then there’s nothing wrong with having the word ‘Marketing’ on your business card.

And are you fine with that word?

It’s not a big concern for me. But I’ll admit, I don’t end my emails with “Product Marketing Manager.” They only say “JetBrains,” just so I don’t scare off people who mistrust anyone from marketing. But when I submit talks to conferences or when I introduce myself to people, I say I’m a Product Marketing Manager for CLion at JetBrains. And usually everything goes fine from there.

Why did you decide to go into marketing? Did you get tired of coding?

No, I didn’t get tired, but here’s the whole story. I was excited about the very idea of an IDE for С++. I asked around and eventually found out that JetBrains had one. When they were starting to work on ReSharper C++, Misha Senkov [the then Team Lead of ReSharper C++] called me on the phone and invited me to join his team as a developer. Except I didn’t want to do С++ for Windows. I had spent the previous 10 years developing for Linux and hadn’t worked with Windows since my university days. So I told Misha I wasn’t interested.

Still, I couldn’t let go of the idea of being involved with a С++ IDE. JetBrains then started working on CLion, but it was not an option for me either as it’s all written in Java. I didn’t feel like switching to Java, which I had learned at university but never liked much. My thing was and is C++! But I knew I really wanted to work with one of those IDEs. So when I suddenly heard that JetBrains was hiring a PMM for CLion, I decided to give it a shot.

I knew Tanya Vasilieva who was then a PMM for RubyMine. Talking with her helped me understand what PMMs do at JetBrains. Of course I had a lot of doubts. Switching to marketing after coding for many years? I had no marketing experience or training at all. I was a “developer’s developer.” How would I just jump in and do marketing? A nobody with no skills – who would hire someone like that?

Then I thought about my previous job, which had to do with telecoms and B2B. Part of it was finding potential customers for our product. I would tell people how it works, describe the different features, and explain why it may be a good choice for them. I realized that maybe establishing connections with customers is similar to what JetBrains was looking for. And that’s how it all happened. I went in for an interview, asked questions, and we came to an understanding of what I could do here.

Some of my colleagues, like Eugene Toporov [VP of Marketing at JetBrains] and our Team Lead, Anton Makeev, often ask me if I miss being a developer. Yes, I do! And sometimes I go back to it and code something.

Do you think you might go back to developing at some point?

I don’t think about that right now. Drop everything and code again? I’ve spent a lot of time switching to being a PMM. What I do every day is completely different. I’m happy to talk to people all the time, use my communication skills and my English skills. And I’m still in touch with development, which is great. For example, recently I spent a whole weekend improving a plugin for Unreal Engine that generates output for opening projects in CLion. It was a blast! I didn’t get enough sleep, but I used С++ again! But who knows – maybe I’ll get tired of this gig at some point. Ask me again in five years.

You said the daily work is different. Can you elaborate?

It took me about half a year to get used to how hectic my day was.

When you’re a developer, you know exactly what’s on your plate. You come to work, sit down and code, and nobody bothers you. Sometimes you talk to your teammates to discuss things, but most of the time you’re in your own flow, working without interruptions. You dive in in the morning, then dive out and go home in the evening. Or maybe late at night. But you get my point.

PMMing doesn’t work that way. I had to learn to switch contexts on the go. There’s always someone pinging you by email or in Slack, or your Twitter’s bursting with weird comments. Or when a huge bug pops up out of nowhere and there are so many fires to fight at the same time: come up with a temporary workaround, discuss solutions with the team, and what not. As an ex-developer, I was really challenged by such a demanding routine. The first couple of weeks left me in a strange way: at the end of the day, when someone asked me something, I wouldn’t answer. I would hear the question, react to it, but not answer anything. I was completely drained, squeezed like a lemon. It took a while before I learned to not be so exhausted.

Right now I’m managing OK. I can switch between multiple streams of information, turn one off and focus on another when I need to. I’ve learned to juggle lots of projects and tasks without dropping any, but also to find time to complete them one at a time. I’ve also come to realize that answering emails is hard work. When you write a piece of code and it works, you see the results right away. But here, I come in the morning, take care of tweets, handle blog comments, reply to emails… and 3-4 hours later, what have I accomplished? Nothing tangible, right? But in reality, that is real work and not a waste of time at all.

Do you ever get into situations where developers are unable to switch contexts and you fall out of sync?

Yes, that happens from time to time. But I know full well how they can be so immersed in what they’re doing that they sometimes say “Not right now” or simply ignore my questions. If it’s urgent, I find a way to get through. If it can wait, I come back later.

While we’re on the topic of interacting with the team, do you help make product design decisions for CLion?

Yes, I do, when we meet to discuss and plan a new release. I try to convey my understanding of what our users need the most and which of their requests we should prioritize. There are many ways to go about this. You can identify the most upvoted issues in our tracker, or look at what people are tweeting about, or you can rely on my understanding of it all. After all, communicating with users is what I do daily. My teammates might say, “We can implement this and this feature, but that feature will be very difficult so let’s put it off for now.” To that I offer my point of view, including my experience as a С++ developer. I say, for example: “I was part of a project and we worked on it in such-and-such way, so I think we should definitely support this use case in CLion.” And the team listens. Of course, my opinion is only one of many, but it is taken into account.

Does your team lead sometimes disagree with your perspective? Are there ways to get him to persuade him?

Sure. I have one take on an issue, the team lead has another, and all our users have their different opinions as well.

But are there ways to convert teammates to your point of view?

For really important issues, I can collect use cases from our users and present this evidence to the team. I’ll argue for a certain way I think things should work in CLion. I will research other products, see how they approach things and use this as an argument too. If they implement a certain feature in a user-friendly way, then we should do something similar. Gathering this information and acting on it is part of my job.

By the way, how is the competition doing?

We have lots of strong competitors among free IDEs. Qt Creator is free and very powerful. It’s got a lot to offer and people love it, especially those who use Linux. As a paid product, CLion has to offer something extra, something great enough to entice developers to part with their cash. Visual Studio is another strong IDE for С++. The relatively new VS Code is also free and lightweight and provides things that users like.

Obviously it goes without saying that we’re aware of what the competition is doing and the features they introduce in their products. And I believe this goes both ways. For instance, at CppCon 2016, they came up to us and said, “Hey, we’ve implemented this feature because we know your users like it!” That’s just awesome. If other IDEs are following suit, we must be doing something right.

As a young product, CLion is probably still missing quite a few things. Do you have loyal customers who find lots of bugs but stay with CLion anyway? What’s their rationale? And how do you get loyal customers to begin with?

As they taught me in college, the only software that doesn’t have bugs is software that does nothing. Bugs are always there in some form or another. The question is how much they interfere with your daily work. If you get your work done without spending too much time and frazzling your nerves wrestling with the product, then it’s acceptable. If you can’t, then the bugs are too significant and the product is unacceptable.

We do have lots of loyal users. Some come to us and say, “I know CLion’s got certain issues <…>, but the key functionality I need works well and I found the workaround for my issues, so I keep using it.” (still the user expects a fix from us, of course) That’s the kind of honest feedback we appreciate and admire and find extremely useful. When people say, “Nothing works, the IDE sucks, how can you even charge for it?” without any details, logs, etc. – well, that’s not helping.

You mentioned meeting the Visual Studio team at a conference. Do you think attending conferences is worth it? Why do you go there? And how do you know if a conference was a success?

I see several reasons for attending conferences. First, we get the word out about our product, to those who’s never heard of it or aren’t aware of some of its features. Second (or should it go first?) we want to meet with our users face to face, find out what they’re interested in and what they’d like to see in CLion. The third goal is more about my agenda as a PMM: I want to network and make new useful contacts in the community. I want to know what they think of our product, ask them what important trends they see emerging in the language and the way it’s used. All this helps us understand how CLion should evolve.

If I reach all three goals at least partially, then I treat the conference as a success. I also think there are some events that we can’t ignore, such as CppCon. It’s the most important C++ event in the world that attracts tons of experienced developers, all the right people who are advancing the community and making an impact. All the libraries, standards and changes in the language are discussed there, and we must be there to follow it all.

Do you usually manage to reach all three goals? And how do you know if you did or not?

Yes, I usually do. Truth be told, I’m not aware of any good metrics. We could look at how many people stop by to talk with us, but I’m not sure if that would be a really relevant thing to measure. Talking to our users, people in the community, interacting is what I believe is valuable. For instance one time we chatted with Bjarne Stroustrup, the creator of C++, which was a fantastic opportunity.

I know you don’t just stand by the booth at conferences, but also give talks. Do people come up with questions you don’t know the answer to? How do you handle that and how does it make you feel?

Yes, it’s happened a few times. I had a talk about code quality assessment tools when developing for iOS, which I have delivered several times at different events. People did ask me questions about both AppCode and third-party tools that had me stumped. I said that I couldn’t answer off the top of my head, but I’d try to get back and discuss the topic with the person if they’re interested. If you don’t know something, you’ve got to be honest and say so. It happens to everybody. No one has all the answers.

Did that get under your skin?

I wasn’t exactly happy that I didn’t know something related to a product that we make. But it’s not the end of the world. I don’t know everything and I’m willing to admit it. There are some parts of CLion that I’m not an expert in. I’ll just find out the information later and get back to the person who raised that question.

There’s a stereotype that software development is not a ‘women’s profession.’ Have you ever felt this stereotype affecting you in some way?

Personally I’ve been fortunate enough to not have. But this is not really unique to Software as  Mathematics is often not perceived  to be a female profession either, but I’ve done it too.

So you’ve never been the subject of biased or condescending attitude?

I guess at some point during my studies I did feel somewhat subject of bias, cause certain situations led me to believe that something wasn’t quite right. But overall, I guess I’m fortunate in that I don’t’ feel I’ve been the subject of much bias.

If you use social network websites privately, do you ever restrict yourself knowing that you represent JetBrains?

Before joining JetBrains, I did things more openly and felt more at ease. I would post about whatever I liked. While I still freely express my opinion, I also understand that I’m more involved in the community and that’s something to take into account and.makes me think more thoroughly what I post on Twitter even when it’s personal and has nothing to do with JetBrains. Same goes for Facebook. I think it’s the right approach and a pretty important thing to do. I’m also on Instagram and Vkontakte. My Instagram is private because I use it to post pics of my kid, and on Vkontakte I’m not very active.

When someone refers to “your team,” do you think of the CLion development team or the marketing and PMM team?

Well, I always introduce myself as part of the CLion team.

How much do you interact with other PMMs at JetBrains? Do you like to share and learn from them? Do you run any joint activities?

I love to discuss ideas with my fellow PMMs! They’re awesome and they have great ideas and are happy to share them. I can bounce my ideas off them too and get helpful feedback. I’ve learned a lot from our PMMs. One that I particularly admire is Misha Vink [former PMM for PHPStorm who now runs company-wide marketing programs]. He’s really cool and in my view a perfect PMM. He’s taught me a lot. When I listened to Misha talk at our PMM Summer School last year, I realized there were lots of new things I’d never tried before. I then adapted them to our CLion activities right away.

So the Summer School was helpful for you?

Yes, I took away quite a few ideas to apply in the future.

It’s funny how none of our Summer School students ended up joining JetBrains. But at least it was useful for those already working for us. Why didn’t you give any talks yourself?

I hadn’t given the school any thought at all. I just dropped by and had a listen when it was already in progress, and to my surprise I liked it. It would have been nice to share something of my own, but then there was so much new knowledge I was picking up that I had no time to think of presenting anything. I just listened and learned.

We’re almost done with the interview, but let me ask you one last thing. Do you think it’s a good idea for some developers to change jobs and switch to things like marketing? We know it’s difficult to find the right person for a job like that – basically, a coder who’s ready to give up coding. Especially considering that it’s not a managerial job. Are there any advantages to such a career change? How would you interest a developer friend to become a PMM?

Becoming a PMM is a good opportunity for someone who wants to be other things in addition to being a developer, someone who has more diverse interests. They also have to have good soft skills like communication, writing and public speaking. If they want to do things like that on a daily basis, while staying in the realm of development, then PMM is the perfect job for them. You can combine multiple things you like doing: looking at the product from a developer’s point of view, while also educating people about it and sharing your knowledge at conferences. The pure marketing and advertising aspects are interesting too. Of course, the job’s not for everyone. I know many developers like to focus on coding and aren’t interested in much else, professionally.

Me, I wasn’t ready to code day in and day out, without presenting the result to the wider audience, looking at the product from various angles, interacting, socialising in the technical community quite a lot, etc. I did do that (coding) for years, but I always felt like I needed more. The way I came to be a developer was kind of unexpected. Back in high school, I wanted to do liberal arts and sciences. In my sophomore and junior years I thought I wanted to go to law school. At the same time I was also going to a math club and I liked the kids there a lot. It never occurred to me I would do programming. But then I ended up majoring in math in college, and that led me to doing software development. It just happened that way; it wasn’t my childhood dream. If it had been, I would have probably stayed a developer.

A PMM is someone who understands and feels the developer community, knows how ideas are born in it, and how they evolve into products. A PMM says, “Look, you’ve got great ideas, and we can help you turn them into reality!” When someone tells you they’ve managed to bring their vision to life thanks to your tool, it feels awesome! So, if you want to help people and hear stuff like that back, then you should consider becoming a PMM. At least that’s how it works at JetBrains. Though I suppose it’s different in other places. My experience may be very specific to our company because our target audience is developers and also most of us here are developers anyway.

I see. Thanks for the interview, Anastasia, and keep up the great PMM work!

Thank you.