An Interview with Olga Berdnikova, UI/UX Designer at JetBrains
“A good day is when there’s some tangible result at the end when you’ve completed a task or a part of it”: An interview with Olga Berdnikova, a UI/UX designer at JetBrains.
One rule for a good interview is: ask the questions you’re interested in. Anna Gasparyan, the Team Lead for the IntelliJ IDEA Technical Writing team, asked Olga Berdnikova about everything she wanted to know about UX design and the specifics of the job.
Olga Berdnikova, UI/UX designer at JetBrains
First of all, let’s sort out the terminology. I’m talking about the roles of a UX architect and a UI designer. As I see it, UX design is mostly to do with analytics and research, while UI design is about visual design. Is there actually any difference between the two, and which of them are you?
For me, there’s no real difference between a designer and a UX architect. In my experience, any attempt to divide these roles will lead to problems. Let’s imagine that a UX architect develops a wireframe with blocks and arrows, and then a UI designer gives color to these blocks, adds shadows and gradients, and the result is cool. In fact, most probably, the result won’t be cool, as this coloring stuff also implies UX. For a good visual representation you need to also understand the users’ habits, and how to draw the users’ attention to a control and help them quickly perform their tasks and navigate the UI.
So these are both stages of the same process?
Yes, I believe they shouldn’t be divided, the skillset is not that different. As I see it, a UI designer must work with the users’ problems and requirements, and, as a result, deliver a mockup that is ready to be implemented by developers.
What is your typical workflow, and how do designers on your team interact with the developers? Do developers come to you and say “We are planning a new feature, we need a prototype”? Or do you get involved at the review stage? Or do you see a feature when it has already been implemented, and then you have to go in and fix things?
All of the above. The developers will quite often talk to us at the beginning of a release cycle and tell us what they plan to do and ask us to help them with an interface. Sometimes, a developer is already in the middle of something and asks us to review it. Other times we learn about a new interface when an early preview version has already been delivered to users. All of this is fine. Imagine a developer who’s been working independently all their lives, and then suddenly there are designers to think about…
How hard is it to convince developers to involve designers and let them develop prototypes? Since the developers themselves are using the products they work on, they probably already know how to make them user-friendly, don’t they?
It’s not really that hard at all. Probably, this is because the design team has been here for several years, and the developers know that they can ask us for help.
It is true that sometimes developers know better how a particular interface is used, and what problems the users may encounter. In the IntelliJ team, each developer owns a specific functionality and is the subject matter expert in their sphere. Users report issues to our tracker, so developers are well aware of the problems. Moreover, our developers are also users of our products. We only have a few designers, certainly not enough to have experts in each functionality. And we are primarily users of Sketch, not IntelliJ IDEA.
As you have said already, you need to understand users’ scenarios and potential problems very well to be able to design a good interface. How much of a challenge is this for designers, who are not developers themselves, but need to get into their heads and way of thinking?
We talk to the developers and to tech support, we play with our products, and we read the feedback in our issue tracker and community forums. We try to relate to developers and understand how they are using our products, otherwise it’s impossible to design a user-friendly interface. I can’t say that this is a big challenge for me, probably because I’ve been on the IntelliJ IDEA team for several years now and I understand all the context. I can imagine that a designer who is not familiar with software development will need more time to work things out.
What background do the designers in your team have?
There are four of us including myself. Almost all of us have some sort of technical background, from our previous jobs in tech support or QA.
Where did you study UI design, and is it possible nowadays to get a higher education in this sphere?
Today it is possible, yes. In Russia, we have the Higher School of Economics and the British Higher School of Art and Design where you can study for your bachelor’s or master’s degree. These are fully-fledged higher education institutes which have courses that consist of a number of modules some of which are specifically about UI and UX.
I learned it by myself, through experience. I used to be a QA engineer, then I worked as a business analyst, and then I joined a company that specialized in UI design, and I learned a lot while working there.
Why would a tech support engineer or a QA move to UI design? Is this because of an empathy towards users, where you constantly come across something that causes problems that you know could be improved?
I can’t speak for all UI designers, but for me, the reason was that I saw how things could be improved. When you work in QA or tech support, you constantly come across usability issues and keep asking yourself “why hasn’t this been implemented differently?”
In fact, why don’t people do things differently? Many things are on the surface, aren’t they? I’m not a UX specialist, but even I can often see things that can be improved, and I wonder why the people who implemented them did so in such a way?
People are different. Most probably, they did what they thought was right. It can always be that some users have a different opinion.
Another thing is that a UI designer and a developer may have conflicting interests. Often, implementing things in a user-friendly manner requires more time and effort. For example, if a component doesn’t fit a form so that the layout looks orderly, it has to be rewritten. Or there may simply not be enough time to perfect the UI label text, because the feature needs to be released immediately. There are many instances like this. A designer would argue that everything must be done to make the interface perfect, and more time should be spent on it.
On the other hand, developers have an important skill of actually producing something that works. You can overrun deadlines trying to find the best solution, or you can release something functional. This is sometimes better than nothing, as we can start collecting feedback. Of course, we still won’t release anything that’s of a subpar standard.
How are decisions made about the cost of good design for a feature? For example, you can develop an awesome mockup, and the developer will say this means six months of work for them. What will be more important in this case? Will you still try to convince the developer to spend their time on this?
This depends on many things. Often, you can improve an interface without lengthy development by using standard components and templates. This just requires more thought on the designer’s side. Six months of development time means you are looking at a massive refactoring or the development of new components. If you are compiling things out of standard components, this is much faster.
In most cases you can use standard things, and this is what we try to do. A designer must understand the capacity of the components library very well, as well as how long things take to develop. Usually, the bells and whistles and micro-improvements don’t make much of a difference to the users. We always seek a compromise and rely on common sense, not just our fantasies about what good design is.
In UI and UX the “U” stands for users. Does your team research our users and talk to our users at all? If yes, can you rely on the users’ opinions and count on them as an objective source of input? I’m asking because people are usually conservative when it comes to changing an interface. At least, as a user, I don’t like radical changes in the things that I use every day.
Yes, we conduct research but not too much. We collect most of the users’ feedback through our early access program. Even before we publish the preview builds, we get feedback from internal users. Our huge advantage is that our developers at JetBrains use our products in their everyday work. Also, we have some experience from previous releases: we can usually predict which things will work out, and which may cause negative reactions. If a solution is debatable, and we cannot decide whether it’s worth working on, we conduct a so-called corridor testing by showing the mockups to our internal users. But we also conduct some relatively formal research too.
Regarding users’ conservatism, we try not to break the users’ habits without having a solid reason to. We only make these kinds of changes if we assume that it will help users be more productive and perform their tasks faster; and that the damage will not exceed the potential benefit. This sounds a bit abstract, of course, as it’s hard to measure the damage or the benefit, but if we don’t follow this principle, however vague it may seem, it would be much more difficult for us to make such decisions.
We can distinguish between the different types of changes. The most troubling changes are when you interfere with muscle memory. For example, when you press a shortcut you’re used to, and the result is not what you expected. It’s hard to retrain yourself to use a new shortcut. You used to press the old one without any mental effort, and now you’re forced to think, and if you don’t, you make an error. So you should avoid changing motor habits.
It’s easier with visual changes. When you change the color of something, it looks a little weird in the beginning, but then after a week or so you will probably forget what the old color even was. The chances of mistakes being made because of this kind of change are considerably less.
What helps you stay up-to-date with new trends in UI design? Are there any companies (not necessarily in IT) that set trends that others have to follow? Who forms the general concept of what interfaces must look like in the modern world?
I can’t say that I do anything special to keep up with changes – they just occur in our environment and are visible to everyone. If we talk about setting trends, these are usually large IT companies, such as Yandex, Google, or Apple.
Due to the specifics of our products, we need to pay attention to changes in OS design. For example, half of our customers use Windows, so we need to be aware of what’s going on there. I also track some popular social sites, like everyone else. If we talk about information design, trends are set by large online newspapers, but we have little to do with this type of design. We are more about tools and productivity rather than content consumption. I am always reading something, I’m subscribed to various groups and channels which keep me up-to-date with what’s going on.
Do you see yourself as a designer in a broader sense? I believe that the user experience is not only about interfaces; it’s about everything that surrounds us. For example, does your expertise in UX help you with planning the layout of your apartment? Do you ever see something, like a piece of furniture or some object, and think that it could be designed differently, in a more user-friendly way?
I can’t always say ‘how’ things can be improved, as I know little about industrial design and the principles it uses, I can only speculate about it. But yes, I’ve planned a very comfortable apartment for myself. In general, I can’t say I’m a designer in a broader sense as I rarely use my knowledge anywhere except for my work. This is not a very good situation, as a designer should have a bit of a broader outlook (like any other specialist, actually). There are some really cool designers in my information field that do something in design that’s not related to their main job. I’d like to do something similar, but at the moment I don’t know where I would find the time to carry out a new side project or hobby.
As far as I know, you travel a lot. Do you find inspiration in your trips, do you come back with new ideas, or do you try to be distracted and not think about work?
Both really. Usually, during the first week of my vacation, I forget about work and exhale a bit. Then things settle down, and I can start to look at things from a distance and see where they can be improved. I’m not talking about specific tasks, it’s more about processes. For example, how to facilitate communication in our team, or how to make more informed decisions.
What does your typical day at work look like?
For a while, I was the only UI designer in the team, and I worked in “I-wish-I-could-have-an-hour-when-no-one-distracts-me” mode. At some point, there were so many requests that I couldn’t react to them all. This was hard. Luckily, our team has grown since then and now I can sometimes dedicate a whole day to a lengthy task.
A good day is when there’s a tangible result at the end, when you’ve completed a task or a part of it. It’s hard when you have to switch between tasks constantly, and you’ve actually not managed to get anything done at the end of a day. I’m learning to split large tasks into smaller ones so I can work on something for an hour and see some results. But I’m not always good at it.
How is working as a UI designer at JetBrains different from your previous experience?
This is the first job I have had where I work with the final product, and can see the outcome. This is really cool and it teaches you a lot of things. For example, it teaches you that UI design is not at all about expressing yourself. If a designer has the feeling that their job can be seen as a field for creativity, this is a very harmful illusion. Each solution must be justified. If you don’t have solid reasoning, you will find it hard to be good at UI design, because you need to be ready to lay down your reasons each day when you talk to other designers, developers, and users.
When I first started as a designer, I thought I’d be drawing things, elaborating on how things must be designed, and play with this complex and very exciting constructor each day, from early in the morning until the dead of night. In fact, a designer’s job requires a lot of talking – I spend about half my time talking. You have to talk to people before you can start designing something, and then again after you’ve completed the mockup. Then you talk during the development stage and then again after the release. You have to talk to tons of different people, and this is good – communication helps the process move faster.
What would you recommend to someone who’d like to become a UI designer, but they don’t know how to start?
I’d recommend to try and do something on their own. For example, you know there’s a usability issue in an interface. Sit down and try to make it better. You can begin by drawing a simple mockup on a piece of paper – this is the simplest thing you could do. If you decide to take a course, an online or an offline one, the main thing is that they give you lots of practical tasks. If you work in a company that has designers, you can ask them if you could participate in a project. Or you could ask a designer you know if they could give you a small task to help you learn. It could also be very useful for your mentor, as they can learn too, when you explain things to others, you will begin to formulate things better for yourself and eventually do your work faster.
Anna Gasparyan, Team Lead for the IntelliJ IDEA Technical Writing Team
Curiosity-Driven Researchers: Between Industry and Academia, Part 2
This is part two of our chat with Timofey Bryksin from JetBrains, delving into the future of IDEs, LLM tools, and the evolving role of developers.
Curiosity-Driven Researchers: Between Industry and Academia
Timofey Bryksin, Head of Research Lab in Machine Learning Methods in Software Engineering at JetBrains, answered questions about the work his team does, the problems they try to solve, and other topics of interest to his lab.
Data Engineers Are Like Plumbers Who Install Pipes for Big Data
Roman Poborchiy, the Marketing Manager for the Machine Learning team, interviewed Pasha Finkelshteyn, a Big Data IDE Developer Advocate.