Code

Developer Advocate: JetBrains Career Challenges and Experiences

Developer Advocate: JetBrains Career Challenges and Experiences

Free Python Course: 4 Projects for Your Portfolio

Learn More

How I Discovered the World of User Experience

When immersed in the process of writing code and solving complex technical problems, I have always felt a deep sense of satisfaction from the successful functioning of my program. However, during development, the problem of clouded attention often arises. In an effort to find the perfect technical solution, we sometimes lose sight of the main goal - the needs of the end user. It is important to remember that a successful product must not only work effectively, but also be convenient and understandable for users. Therefore, by paying attention not only to technical aspects but also to the user experience, we will be able to create higher-quality and in-demand solutions.

One day, in order to change my perception, I developed a plugin for IntelliJ IDEA and passed it on to a fellow programmer. A month later, I opened the plugin again and, studying the code and interface, was amazed. At that moment, it occurred to me: "How can I use this product?" Everything looked like it was created by aliens - it was too clunky and inconvenient. This realization became an important lesson for me about the importance of usability and intuitiveness in software development.

This moment was key for me. I stopped perceiving the world as a developer and began to understand it through the eyes of a user. This transformation awakened my empathy for users, deepened my interest in usability, and transformed my approach to development. Understanding user needs became the foundation of my decisions, allowing me to create more intuitive and effective interfaces. As a result, user interactions with products improved, increasing their satisfaction and loyalty.

In product development, I've always been drawn to data analysis and idea generation. However, as experience shows, even the most creative minds can experience burnout. Sometimes, even when the work process is going well, there comes a point when you sit down at the computer, stare at the screen, and can't focus on new ideas. This phenomenon is familiar to many professionals, and it's important to have strategies for overcoming such periods. Restoring creativity takes time and an approach that may include a change of scenery, interaction with colleagues, or even a simple pause for reflection.

Photo: Simon Law / Flickr

A key moment in my career came when I decided to leave the startup. I realized I had lost my ability to generate new ideas, so I chose the path of Developer Advocate to share my knowledge of other professionals' developments. Throughout my professional career, I was more often perceived as an advocate for developers' interests than as a product manager. This is why JetBrains repeatedly invited me to become a Developer Advocate. After our startup was acquired by a large company, I was offered an official position on the new team, which opened new horizons for professional growth and sharing experience.

At that moment, I realized that studying the technologies and projects of other developers brings me true satisfaction. I share these discoveries with a wide audience, which allows me not only to develop my skills but also to inspire others. I achieved all my goals at the startup, however, despite attempts to return to product management, circumstances turned out differently, and I am still recovering from my latest burnout. These experiences have taught me an important lesson, highlighting the need to be mindful of one's emotional well-being in the world of technology.

The Role of a Developer Advocate at JetBrains: Supporting Developers in Their Achievements

At JetBrains, we recognize that the primary users of our products are programmers and technical professionals. We effectively promote our software to these groups not through traditional advertising, but through educational materials and practical recommendations. We focus on new releases and best practices, which provides real value to our users. We strive to provide up-to-date information and useful tips to help developers get the most out of our tools and improve their skills.

Every IT company develops its own unique strategies for product promotion. In my previous role as Developer Advocate, I was involved in evangelism, where the main task was product promotion. At JetBrains, my role has changed. Here I work with a programming language that is not directly monetized, which gives me the opportunity to focus on supporting users and their needs. My primary goal is to create value for the developer community by providing them with the resources and information they need to successfully use our tool.

Selling a product can be effective, but it can lead to problems that could be solved more easily without our tool. Developers often overcomplicate projects, believing that their solution is the only correct one. In practice, many of these difficulties can be avoided. From my experience, the interests of users should always be a priority. When approaching development, it is important to focus on the real needs of customers, which will not only improve the product but also increase its competitiveness in the market.

Currently, I am in a more comfortable position where there is no pressure or need to sell the product. My primary goal is to help users. JetBrains' approach is focused on creating value for customers, even in the context of commercial products. This contributes to a positive atmosphere for work and interaction with the community. This approach not only builds user trust but also increases product satisfaction, which ultimately leads to long-term relationships and customer loyalty.

Key Qualities and Skills of a Developer Advocate

The Developer Advocate role is gaining popularity among companies developing software for developers. Despite this, such a position is not always mandatory. When a specialist in this field is needed, management must clearly understand their primary function - not only promoting the product, but also creating real value for the developer community. A Developer Advocate serves as a link between the company and developers, helping to better understand their needs and providing feedback to improve products.

Companies often ask about KPIs suitable for evaluating the performance of a Developer Advocate. It is important to emphasize that there are no universal metrics for this role. Instead, the emphasis should be on developing the key qualities and skills that contribute to the successful fulfillment of the responsibilities of this profession. It's important to remember that an effective Developer Advocate must be able to build trusting relationships with developers, demonstrate deep technical knowledge, and actively engage with the community. Developing communication skills and adapting to rapidly changing technologies also play a key role in achieving professional goals.

Technical training is a key aspect of a Developer Advocate's work. They must have a fundamental understanding of information technology and be able to communicate with programmers in their native language. For example, if I work with developers using Kotlin, it's important not only to know the language but also to be able to code in it and effectively use the appropriate tools and frameworks. This will help establish productive collaboration and improve understanding of developers' needs.

When questions arise in the community, I not only respond but also strive to reproduce the problem to find an effective solution. When creating training materials, I pay special attention to verifying the information and write the code myself to ensure its accuracy and relevance. This ensures high-quality content and meets user needs, which contributes to the development of the community.

Communication skills play a vital role in the work of a Developer Advocate. Writing and presenting skills are essential aspects of this profession. Successful completion of these roles requires not only a deep understanding of technology but also the ability to explain complex concepts in accessible language. Interestingly, I wasn't particularly good at writing essays in school, but now I write articles that attract thousands of readers. This demonstrates that developing communication skills is possible and important in a developer's career.

Still: film "The Wolf of Wall Street"

Personal qualities and talents play an important role in the profession of Developer Advocate. These professionals often have unique strengths that set them apart from others. For example, many become prominent conference speakers thanks to their charisma and ability to build a personal brand. However, not everyone chooses blogging, as for some, it can feel like a chore. Importantly, a successful Developer Advocate is able not only to share knowledge but also to establish trust with their audience, which in turn contributes to community growth and product improvements.

On the Kotlin Advocate team, each member brings unique skills. Team Lead Svetlana Isakova (@sveta_isakova) specializes in creating detailed tutorials and training, although she prefers to avoid speaking at conferences. Meanwhile, Sebastian (@sebi_io), our young Developer Advocate, draws attention to new features and technologies thanks to his charisma and engaging presentation skills. Our team actively shares its knowledge and experience to help developers master Kotlin and utilize its capabilities to the fullest.

Empathy is key when working with the community. Even when communication difficulties arise, it is important to remain sensitive to the emotions of others. My primary goal is to provide assistance, and judging those who seek support is unacceptable. Empathy fosters trust and maintains an atmosphere of mutual understanding, which, in turn, increases the effectiveness of interactions and has a positive impact on the development of the community.

Despite numerous invitations to conferences, we rarely host our own events. For example, KotlinConf has not been held for two years due to the pandemic. However, we have successfully adapted to the new conditions by organizing online events, which have received a positive response from the community.

I often receive personal invitations to offline events, but for now I decline them. The pandemic creates uncertainty in planning: events are allowed today, but tomorrow they may be banned again. This makes participating in such events risky and complicates organization.

Working online has significant advantages, especially in terms of saving time and money associated with travel. While some people are able to remain highly productive while traveling, this is not the case for me. My efficiency can drop by up to 95% while traveling, so I prefer to avoid performing routine tasks during this time. This approach allows me to focus on more important aspects of my work and increase overall productivity.

Conference talks may only attract the attention of a hundred people, while a five-minute video about a new coroutine release can reach 15,000 viewers. Creating such videos is faster and easier, making them a more effective tool for disseminating information. Video allows you to convey complex ideas and concepts to a wider audience, significantly increasing reach and engagement. Thus, the use of video to present new products and developments is becoming not only relevant, but also a necessary step in promoting information in the modern digital world.

Communication with the Community: Life in Touch

In today's world, community management requires constant monitoring of user activity. I devote over 50% of my time to this task. It is often difficult to determine how much of this time is spent on actual tasks and how much is spent interacting through various communication channels. Effectively analyzing user activity and optimizing interaction processes are key to successful community management. This not only saves time but also improves the quality of interaction with members, which in turn helps strengthen connections and grow the community.

Intensive online communication plays a key role in my professional work. Discussions can last for weeks, so I prefer to use email to exchange information. However, it's important to recognize that overreliance on email can lead to an endless stream of messages, which is not always an effective way of communication. To optimize your workflow, it's worth considering alternative communication methods that can help reduce time spent on correspondence and improve interaction between participants.

I often communicate on the go: I use speakerphone in the car and instant messengers while walking. People may perceive me as a smartphone addict, but in fact, this is an important part of my professional work. Communication in the modern world requires flexibility and accessibility, and I try to stay connected wherever I am.

Work and personal life are closely intertwined, which makes time management especially important. I don't have a strict work schedule, but I try to avoid working in the evenings. Despite this, my phone is always within reach, and I occasionally reply to messages or check chats. Effective time management helps me maintain a work-life balance, which contributes to increased productivity and overall well-being.

Despite my work commitments, I always find time for my hobbies. Sports play a significant role in my life. I completed my studies at a sports school and was honored to be part of the Estonian junior swimming team. I devote about 10 hours a week to training, which helps me maintain excellent physical fitness and health. Sports activities not only strengthen the body but also contribute to an improved psycho-emotional state, which is important for success at work and in life in general.

Last year, I began learning bass guitar, and it has completely captivated me. I practice with a teacher once or twice a week, and in my free time I study new songs and enjoy the process of playing. Learning the bass guitar has become not only an exciting hobby but also a great way to develop musical skills. I'm immersed in the world of music, discovering different styles and techniques of playing the instrument.

There are high-quality mobile apps that make learning musical instruments much easier. These apps can analyze sound and inform the user whether they played a note correctly. This approach makes the learning process more interactive and engaging, which promotes better absorption of the material and an increase in skill. The use of technology in music education opens new horizons for musicians of all levels and ages, making lessons more accessible and effective.

I have two sons, and I am actively involved in their lives, accompanying them to clubs and practices. For their sake, I decided to forgo participation in evening events and meetups. This allows me to devote more time to my family and be helpful in their development.

My main secret to effectiveness is the understanding that you don't need to try to do everything. At my previous job, I experienced significant stress and reassessed my priorities. I realized that work doesn't have to take up 20 hours a day, and if I don't have time to get something done, it's not a disaster. Now I'm not afraid to leave tasks unfinished if I don't have enough resources. This allows me to maintain balance and increase my productivity.

Reading is an important part of our lives. It not only develops thinking but also broadens our horizons. Reading books, articles, and scientific research helps us deepen our knowledge and understand the world around us. Furthermore, reading improves writing and communication skills, which is especially important in today's society. It's important to choose a variety of genres and topics to get the most out of the process. Committing to continuous learning and self-improvement through reading will help you become a more successful and educated person.

  • DevOps: What is it and what are its benefits?
  • Accessible Technologies: Android Apps for the Visually Impaired
  • Website Adaptation: How to Make Them User-Friendly for Different Devices

Python Developer: 3 Projects to Jumpstart Your Career

Want to become a Python developer? Learn how to create 3 portfolio projects and find a job with expert help!

Learn More