📜 ⬆️ ⬇️

Support in JetBrains

I think about what our company is doing - JetBrains - most of Habr's readers know one way or another. For the rest, let us say briefly: we make products that facilitate the daily life of programmers and help them write code quickly and efficiently. Among our products are well-known to many IntelliJ IDEA, ReSharper, PhpStorm, TeamCity, YouTrack and others.

But it is not quite about that now. Have you ever thought about how support is organized in a company like ours? If you would be interested to read about the features of the work of our Technical Support engineers - welcome under cat.


')

Small preface


Generally speaking, our technical support is very different from technical support, for example, Yandex, Microsoft, or, especially, any mobile operator. The specifics of our company's products make it possible to judge the main group of our users — programmers. In this regard, the level and quality of calls to our support is at a very high level. All (or almost all) customers are not afraid of complex technical issues, professional slang, or certain tasks that our engineers have set for them to troubleshoot problems.

However, this feature imposes certain restrictions and requirements on the Technical Support engineers themselves. All engineers working with us have sufficient technical experience, are familiar with at least the programming languages ​​for themselves (that is, their team and product), are fluent in technical English, and often have experience as QA engineers.

Next, we will give the floor to our engineers so that they themselves will tell about themselves, their work and the features of support in their teams.

Alexander Berezutsky .NET / ReSharper Team




I have been working at JetBrains for more than three years now and almost all this time I have been working on technical support for ReSharper users.
As it was already said in the preface, to work in a support one must have good technical skills and have at least a basic background in programming. And so it happened - I graduated from SPbSPU as a mathematician and programmer, and until JetBrains for 2.5 years I worked as a software testing engineer in two other IT-offices in St. Petersburg. I never really liked programming, but I always liked “breaking”, and it worked out pretty well.

Before I came to work at JetBrains (and the ReSharper team in particular), one person was engaged in support here, in parallel performing development tasks; other issues were resolved “in the open” by other developers / testers on Twitter, on forums and similar places. Over time, it became clear that the number of clients (and, accordingly, direct calls to support) is growing, and for this we need an individual. So I got into the team.

Three years ago, the support in ReSharper-e was an exclusive work with mail (direct support calls) and the processing of Uninstall Feedback (yes, we read it and respond to it - many customers are very surprised because they think that it goes to / dev / null). Over time, it became clear that such a system ceased to meet the needs of both users and ourselves. It was necessary to change something to improve the quality of support.

It should be said here separately that by the quality of technical support, I primarily mean the time it takes to solve a user's problem. As you understand, simple correspondence with endless emails does not always work optimally; Especially since the knowledge base of problems and frequent questions I constantly grew. At first, this problem was solved with a small set of “macros” that I built right into Outlook, then I redid the public FAQ (which was located on our forums), but this was not enough.

As a result, a small study of various Help Desk systems was conducted, and after a while of running-in, we implemented it for all our products. Now I am engaged, in addition to support, including the administration of our two Help Deskes and I am ensuring that everything works properly and conveniently - both for us and for our users.

We should also say about users: we are very lucky with them, because in 99.9% of cases they are adults and technically literate people. Of course, there is a small percentage of not very adequate / polite people, but I believe that we have it significantly lower than in other companies with a wider audience of customers. In addition, most of our clients are residents of Europe and the USA, and this is felt in communication. All correspondence is in English.

Of course, all our users have their own preferences when it comes to writing code with our products (and ReSharper in particular). How many people - so many possible configurations of Visual Studio, plugins installed in it, various projects and similar things. It is clear that it is absolutely impossible to test all possible combinations of the working environment and various types of projects (and their combinations), therefore a large number of problems emerge as you interact with people. Here, the support provider has to act as a tester: after collecting all the necessary information about the user's problem, it must be reproduced and it’s determined where the problem lies - in its environment or in ReSharper. I think that in other companies, similar cases are transferred immediately to the “next level” or to the testing department, but our support engineer takes on some of this work. Of course, if the case is laborious (for example, to play it only half a day, you need to prepare a virtual machine), it is transferred to our testers, whose environment can be partially deployed.

In addition, the support in our team is a kind of “first line of defense”, which, after the release, is the first to understand how qualitative the new version has turned out and whether we haven’t “continued” something critical. Thus, the support accumulates certain knowledge about the most common product problems that need to be shared with the team at daily stand-up meetings. This information is very important, since, say, if some bug got into the release, preventing the comfortable work of some of our users, this is a signal to what needs to be prepared, for example, bugfix update.

Summarizing, I can assure you that support is an interesting and necessary work, on which a great deal depends on the life of the product. It happens hard, yes, especially after the New Year or May holidays: you relax, and tickets are accumulated and saved, because in Europe they do not celebrate the Day of Solidarity of Workers. After the holidays, you have to work with tripled force and speed, and often work on weekends.

Lyubov Melnikova, PhpStorm team




As soon as I recruited “how many people love their work” (in Russian and English), as a search engine gave me thousands of links like “why do so many people hate their jobs”. Approximately 80% of people in the world hate or dislike their jobs. I am sure that many technical support staff will be included in these 80%. Many, but not me. My name is Lyuba, I graduated from St. Petersburg State University Matmeh and work in PhpStorm technical support.

The support job is full of stereotypes, and I cannot say that they are always wrong (I have experience in two technical support services). But that they are definitely not applicable to the company JetBrains.

There is no autonomous support department. Mainly in the companies, tech support employees are driven into 1-2 cabinets, where there is a “special atmosphere of support” and where other departments never look. The developers in the kitchen carefully do not notice the supporters who pile in the corners, and even the girls who shift the papers turn up their noses. We are not so. We have product teams, for example, in my PhpStorm team there are 9 people - 5 developers (one of them is a team leader), a product marketing manager, a tester, a technical writer and me. I put myself in last place solely out of innate modesty, because for all the time that I work here, we all communicate on an equal footing. No dismissive attitude, not even a hint of it.

I have a boring job. That's it at all. We don’t have any standard answers, of course, there are standard phrases (well, without them), but there are no blanks, where you just have to insert a name. Plus, I am responsible for the forum and even, if possible, for stackoverflow. Somewhere 60 percent of all cases are reviews (they are feedbacks), there are those where people just want to say thank you, there are those where they report bugs and ask for features. There are very serious problems that I try to answer as quickly as possible, even though a person may not even expect an answer from me. Sometimes it is a lot of fun, for example, quite recently a friend wrote to our editorial office, who entered the address of his physical server, including staff and postal code, in the “License server” field. I write out some pearls or cute comments to myself on a private (!) Twitter without mentioning my name and company as a keepsake.

What are you looking for in PhpStorm?
- Write my code for me?
What are you looking for in PhpStorm?
- A button to send my wife flowers and candy.

The person has sent a sample code:

Catch (Exception e)
{
// who cares?
}

My favorite:

CTRL + F4 to close files, really? You guys have ;-)

I feel the need to clarify my exclamation point after mentioning the closeness of my twitter. At my last job at Vm Software as a support provider, I was the best statistics support provider in the department and, nevertheless, I had the pleasure of communicating with my immediate superior about my private, but not anonymous, twitter account (this is a twist!). I was surprised, but I changed my name and nickname, continuing my activities to desecrate Vm Software on social networks (actually not). When in JetBrains I mentioned that I have such a twitter and it looks like this and that, and if he doesn’t offend anyone, they just laughed at me sweetly and told me not to worry.

And here it is not necessary to take the phone, and my immediate superior has no relation to the support, because, as I said, the hierarchy here is by product. Although there is still the unofficial the most important, the coolest among us, the support Serge, about whom legends are already written. Screenshot legend attached.



That is, I myself, the first, second, third and fifteenth line of support and above me - only the developers. At first, this fact caused incessant “wow” in me, because you can write to the developer and he will answer you directly and can even be quite fast. And surely without condescension.

It seems to me that I didn’t tell even a tenth of how cool it is, but it seems that it’s time to go round. Look me up on twitter. ;)

Andrei Dernov, IntelliJ IDEA team



I have been working in support for a long time. First, the Internet provider, then in a large St. Petersburg programmer company. Working in support, I realized that my interest in various technologies was too big to be limited by superficial knowledge and with the aim of expanding and systematizing them, I decided to get a second higher education in the specialty “mathematician-programmer”.
I always liked to communicate with people, learn English and, of course, learn and learn new technologies. And this is particularly attractive for me to work in JetBrains. When developing software for programmers, you need to go along with the progress, and maybe even ahead. And, of course, our company has it all.

That's why I was lucky to work in the IntellIJ IDEA team. IntelliJ is an open platform on which IntelliJ IDEA is developed, IDE for Java, which is also used as a platform for more lightweight, highly specialized products for other programming languages ​​(Ruby, Python, PHP, JavaScript, etc.). That is, the professional field is quite wide. Of course, if there is any specific problem, you can always contact a fellow support company from the appropriate team.

Naturally, you need to be well aware of not only the product and the profile area of ​​its application, but also the environment in which it is used. Since IDEA is a cross-platform IDE, you need to be well-versed in the basics of the device and the intricacies of different operating systems.

Recalling my student experience in technical support of an Internet provider, I’ll give the main, in my opinion, differences.
First, of course, there is no phone here =) However, engineers sometimes have to connect to the remote desktop of the client, if the situation requires. But still this does not happen often and not quite the same. Mostly mail, bug tracker, sometimes forum. Also, I think there is more personal professional communication with colleagues. Through the mail, of course, you will not discuss everything.

About the professional field and skills. Naturally you need to know Java, JavaEE - at least their basics. There are also cases when you explain to the user why his program works this way and not otherwise, which has little relevance to the IDE itself.

All communication is exclusively in English.

Escalation. The Internet provider where I worked is a small company, and a technical support engineer solved a wide range of issues there. Therefore, we did not have any escalation procedures. If any nontrivial task - it was transferred directly to the admin. However, in larger companies there are several levels of support (usually up to three). And the first level, which accepts user requests, as a rule, escalates an unconventional problem / question right away. As we said, we often have to act as a tester and directly consult with the developer.

The number of our users and support calls is constantly growing, and we are trying to make the work of programmers in our IDE as pleasant and productive as possible. You can often find the opinion that a person buys a product to a greater extent because of the support provided. There are in view both direct appeals to support and questions on the forums, and the quickness of the developers' reaction to any critical problem created in YouTrack. For example, the user created an issue, and after a day or even a few hours the fix is ​​ready and included in the next EAP build of the product. Of course, this is not always the case, but critical problems are usually solved quickly.

About the effect on the product. Of course, in JetBrains, support greatly affects the product. An important component here is the analysis of user opinions, which is taken into account when planning future releases. By helping the product become better, we make it easier for thousands of people who use it to work with it. We really appreciate the opinion of each user.

Anna Morozova, PyCharm team


What associations do you have with the word "engineer"? Something insanely boring? And, perhaps, three-storyed formulas, drawings, thick glasses and some research institute room. I saw it not only in Soviet films, but rather every day, because I grew up in the family of a design engineer and an economic engineer. Little I firmly decided to become a conductor-cosmonaut.

15 years have passed. Hello, I'm Anya and I am an engineer.

Customer Support Engineer - for accuracy, which clarifies a lot. For example, the fact that I deal with real people, with a sense of humor and without, with serious problems and for one tooth, “at one moment,” one left. And I can definitely say that my work is not boring. Despite all the technicality and complexity of the questions, it seems to me that it is high time to open the “Programmers joke” rubric. And we, by the way, have it on daily stand-ups, because it is impossible to pass by:

Have you encountered any problems with PyCharm?
- Of course! PyCharm has no pens, but I would like to hug it every day!
- I have to admit that we have a honeymoon with him and, as usual, I do not even notice half of the shortcomings. Give me some time!
- Can he write code for me that will bring me big bucks?

All this I write down from the first day in my notebook. You will not be able to read my twitter (which is not), but the notebook is even better, there are pictures on the margins! Contact;) This, by the way, is not my first notebook. Before that, for two years I worked as a support company at i-Free, the specifics of the applications there were completely different, as did the audience. But these applications often appeared in the tops of the AppStore, such as, for example, CoinKeeper, and therefore there was a lot of feedback, which means that I, as the only support provider for all i-Free Innovations applications, was also boring :)

So, PyCharm is animated, praised (“Guys, you ROCK !!! You're AWESOME!”), Tutorials, text and video are written about it, and then send them with the question: “Do you guys like it?”. What can I say, one Japanese girl draws milk on our cappuccino logo! Is this not popular? :)

Just imagine, you came to work on December 25, and you already have a dozen of greetings in the mail and not in one line! Something tells me that my smile at such moments is just proud. Proud that at the end of each answer I can write:
Best regards, Anna
PyCharm team.

Speaking of our PyCharm team. I will omit the description of how I love her and how great everyone is there - we are still here for serious business. But the guys are real professionals, and when I address them with some difficult problem of the user, they easily knock her down! Seriously, even Van Damme on two trucks is not so cool.

The guys just above described the technical side of the support in some detail, and I will not go there. I am sure that in order to reach the end of the article, you need to have enough patience, and I somehow do not want to experience it. So just a few facts about our support team:

But the most important thing and be sure of this, at the end of your letter we always add: “Please feel free to ask any questions”. And this means only one thing: whatever trouble you have with debugging, whatever escape you might have caught, we are here to help you. More boldly, write!

Source: https://habr.com/ru/post/211665/


All Articles