JetBrains Research | The JetBrains Blog https://blog.jetbrains.com Developer Tools for Professionals and Teams Fri, 16 Jun 2023 08:14:56 +0000 en-US hourly 1 https://blog.jetbrains.com/wp-content/uploads/2023/02/cropped-icon-512-32x32.png JetBrains Research | The JetBrains Blog https://blog.jetbrains.com 32 32 Take Part in the Developer Ecosystem Survey 2023 https://blog.jetbrains.com/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ Thu, 08 Jun 2023 15:02:40 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/DSGN-16544-Banners-for-the-DevEco-Survey-2023-announcement_Blog-featured_1280x720-1.png https://blog.jetbrains.com/?post_type=blog&p=359007 Since 2017, we at JetBrains have been conducting the annual Developer Ecosystem survey as part of our quest to deepen our understanding of the developer community, improve our products and tools for you, and create annual overviews of the industry. And this year is no different!


The Developer Ecosystem Survey 2023 is here, and we invite you to take part in our research. To carry out a comprehensive, independent study of the software development ecosystem, we need your valuable insights and feedback. Please take the survey, which should take about 30 minutes, and share your developer story with us.

The survey is available in 10 languages, and you’ll have a chance to win one of the following prizes:

  • MacBook Pro 16
  • NVIDIA GeForce RTX 4090 graphics card
  • iPhone 14 Pro
  • $300 Amazon Gift Card
  • JetBrains All Products Pack

Your input will help us and the community as a whole, so we encourage you to take the survey and share your thoughts. Please click on the link below to get started:

TAKE THE DEVELOPER ECOSYSTEM SURVEY

The more developers contribute to the study, the more representative it will be of the community. Share the survey with your friends and colleagues, and you’ll get a spot in an additional prize raffle. You’ll find the referral link on the last page of the survey.


As always, we’ll share detailed infographics with the survey results and insights on the latest tech and software development trends. In addition, we will provide anonymized raw data for your own research purposes. Finally, we’ll prepare personalized infographics for all participants that will show you exactly how you stack up against other members of the community.

So go on, take the survey, and help us understand the nature of things in 2023 in the developer ecosystem. Your voice counts!

Sincerely,

The JetBrains Research team

]]>
https://blog.jetbrains.com/zh-hans/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/pt-br/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/ko/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/ja/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/fr/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/es/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/ https://blog.jetbrains.com/de/blog/2023/06/08/take-part-in-the-developer-ecosystem-survey-2023/
Developer Ecosystem Survey 2022: Discover Raw Data https://blog.jetbrains.com/blog/2023/03/13/developer-ecosystem-survey-2022-discover-raw-data/ Mon, 13 Mar 2023 13:23:17 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/Blog_Featured_image_2560x1200.png https://blog.jetbrains.com/?post_type=blog&p=328144 The raw data from our Developer Ecosystem Survey 2022, containing answers from 29,269 developers, is now available for public access! We hope that it will be useful and support further research and investigation from the development community. 

The raw data is accessible in two formats: csv with raw data and a Jupyter notebook with examples of analysis

The notebook demonstrates the basic analysis of the survey. It shows the structure of the data, gives some analysis examples, and provides the main functions for conducting your own analysis.

Open analysis example in Datalore

The directory with raw data contains data in wide and narrow formats, survey questions, survey logic, a license, and a table with a short transcript of names. The report and dataset is public and shared under the license. Its contents may be used as long as the source is appropriately credited.

We have taken all necessary measures to ensure that the data is accurate, complete, and anonymous. We have also ensured that any sensitive or personal information has been appropriately de-identified or removed to protect the privacy of study participants. All open-ended fields have been removed, and response options that collected fewer than 15 responses have been incorporated into the Other category.

We’d like to express our gratitude to everyone who contributed to this research and helped us and the community to expand our knowledge of the industry.

Dig into the data, and don’t forget to join our JetBrains Tech Insights Lab to take part in our future studies!

If you have any questions or concerns regarding the data, please contact us at surveys@jetbrains.com.

Thank you for your interest in our research,

The JetBrains Team

]]>
https://blog.jetbrains.com/zh-hans/blog/2023/03/13/developer-ecosystem-survey-2022-discover-raw-data/ https://blog.jetbrains.com/ko/blog/2023/03/13/developer-ecosystem-survey-2022-discover-raw-data/
JetBrains and Constructor University Partner To Advance Software Development Education https://blog.jetbrains.com/research/2023/02/jetbrains-and-constructor-university-partner-to-advance-software-development-education/ Wed, 01 Feb 2023 12:44:13 +0000 https://blog.jetbrains.com/?post_type=research&p=319834 Constructor University has announced its new partnership with JetBrains. JetBrains is already participating in the Computer Science BSc Program at the university. Over 80 students are currently enrolled, and the number of students is expected to reach 200 over the next 3 years.

In addition to its involvement in the educational program, JetBrains will also establish Joint Research Labs at Constructor University, focusing on industry-oriented education and training in software development.

The partnership with Constructor University will help JetBrains drive the future of software development through research and education, and allow JetBrains to guide and educate the next generation of developers.

]]>
The State of Developer Ecosystem 2022 https://blog.jetbrains.com/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ Tue, 17 Jan 2023 14:56:40 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/01/DSGN-15264-banners-DevEco2022-Infographic_Blog_Featured_image_2560x1200.png https://blog.jetbrains.com/?post_type=blog&p=312768 Now that we’re in 2023, we’d like to sum up the results of the previous year and share the State of Developer Ecosystem 2022 report.

As usual, we are excited to present a picture of the coding community with the latest trends in programming languages, technologies, tools, and frameworks. You can also get a glimpse into the daily lives of developers.

The report is based on the responses from 29,000 developers from more than 38,000 who participated in the survey and provides insights on a wide range of topics that describe the developer ecosystem.

This is the sixth iteration of our annual survey, and each year it becomes more comprehensive. The report shows about 500 charts organized in 31 sections divided by topic and accompanied by interesting facts. This year we introduced new sections on Data Science, Remote Development, and Mental Well-Being, not to mention new questions throughout the report.

Here are some of the key findings from the report:

  • JavaScript is still the most popular programming language and still hasn’t been overtaken by TypeScript, the usage of which has almost tripled over the last 6 years.
  • Technologies that developers find promising: AI/ML, Rust, JavaScript, Go, Kotlin, and Blockchain.
  • Programming languages people would like to adopt: Go, Rust, Kotlin, TypeScript, and Python.
  • The programming languages that are losing their popularity: PHP, Ruby, Objective-C, and Scala.
  • Working from home is still a choice for the majority of developers, and 76% choose to work primarily in a home office.
  • 50% of developers practice remote collaborative programming.
  • 69% of employed survey respondents are satisfied with their job, but only 57% are satisfied with their salaries. The most important component of valuing a job is feeling that you can achieve something.
  • 73% of developers have experienced burnout at some point in their careers.
  • The most popular way of getting a job is a referral from a friend. 30% of survey respondents got a job this way.
  • Dogs are slightly more popular than cats among developers! Woof!

We encourage you to take a look at the report and share your thoughts with us.

EXPLORE THE STATE OF DEVELOPER ECOSYSTEM 2022 REPORT

Thank you to everyone who participated in the survey and helped make this report possible. We hope you find the results as interesting and informative as we do!

Would you like to participate in next year’s Developer Ecosystem Survey? If so, join our research panel! You’ll also be first in line to participate in our many other surveys and research activities, such as interviews and UX studies. Our panelists are eligible for cool prizes, too!

]]>
https://blog.jetbrains.com/zh-hans/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/tr/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/pt-br/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/ko/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/ja/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/fr/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/es/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/de/blog/2023/01/17/the-state-of-developer-ecosystem-2022/ https://blog.jetbrains.com/cs/blog/2023/01/17/the-state-of-developer-ecosystem-2022/
Research Hub: a new frontier of research https://blog.jetbrains.com/team/2022/12/12/research-hub-a-new-frontier-of-research/ Mon, 12 Dec 2022 09:43:21 +0000 https://blog.jetbrains.com/wp-content/uploads/2022/12/MA-blog.png https://blog.jetbrains.com/?post_type=team&p=306165 Maria Antropova, Head of the Market Research and Analytics Team, spoke with her colleagues — Cognitive Research Lead and Marketing Analyst Yanina Ledovaya and UX researcher Giulshan Dzhafarova — about changes in the team, new projects, and plans for the future. 

Maria Antropova, Head of the Market Research and Analytics Team

Four years have passed since the last interview, in which you talked about yourself and marketing research at JetBrains. This time, we would like to talk about the transformation of the team. How has the team changed since then?

We are gradually transforming into a Research Hub – a research center that conducts research while also helping other employees at the company do their own independent research. We also communicate with university academics and carry out research together.

The team itself has expanded and split into several groups. Currently, the Market Research and Analytics team includes such sub-teams as Business & Market Insights, Surveys, UX-research, ResearchOps, Data Science, Research Core, Business Intelligence, Cognitive Research. Each one of them is focused on different aspects of research. For example, the Market Research and Analytics team used to deal with UX research tasks, but now there are more of them, and they are handled on a separate track – this is how the sub-team that deals with this area came about. 

There has been an increase in the number of internal studies in which we look at the processes, the tasks, and the company from within. We carry out these tasks for HR and other teams when we need to answer certain questions about the company, and JetBrains serves as the subject of our research.

We have also developed the field of trending and naming research.

What other notable transformations have taken place?

Administrative work has expanded considerably. We have created and maintained our own panel, which helps us recruit respondents for qualitative and quantitative research.

We have automated some internal processes, such as giving out prizes to respondents for their participation in our research.

Has your interaction with other teams in the company changed?

As the team grew and sub-teams began to form, we needed to reorganize the way we worked. Each sub-team works independently, but at the same time they are all engaged in joint projects. It is very important not to lose this cohesion, which means we’re currently facing a major important task – building up relationships and processes between sub-teams. 

One of the team’s big projects is the annual Developer Ecosystem survey, which helps us find out what’s going on in the development world. How has DevEco transformed in the past four years, and what’s it like now?

It has become very large, both in size and in the amount of effort that we put into it. When the first interview came out, we could no longer test it manually: the survey was so voluminous that it was almost impossible to go through all logical branches manually so as not to miss out on anything. Therefore, we have various automations that we use to test a survey. But it certainly doesn’t give us 100% protection from mistakes. So we spend the first couple of weeks after launch urgently fixing whatever minor issues come up.  

We also have more infographic sections. We’re adding new technologies and generally changing the format of sections. Compared to the first Developer Ecosystem, we now have fairly fine-grained weighting mechanisms to avoid data bias that might otherwise be dictated by the characteristics of our sample and by how we collect this data.  

We also have a productive partnership with the Python Software Foundation. For the last five years, we’ve conducted an annual survey for Python Developers. We collect data through official PSF channels and receive about 25,000 to 30,000 responses each year. Because of this, we consider this report to be quite representative.

In addition, we have been conducting a Django Developer Survey in partnership with the Django Software Foundation since 2021. 

These surveys are a win-win for us and the PSF and DSF – they can learn about the community and identify directions for further improvement, and we can refine our products to better meet user needs. 

Are there any approximate statistics as to how many surveys the team conducts on a monthly basis?

More than 15 a month.

Tell us, how has the technology used by the team changed over the past four years? 

For data processing we still use R and Python. Now we are testing our own product, DataSpell, instead of R Studio. Also we have our own set of automations. This is a system that allows us to automatically create purchase requests for various gift certificates that we use to reward respondents for taking part in our research. We also have an application which was written by one of the team members. It manages the research panel and the contact details within it.

What specialists are part of the team?

We have a multidisciplinary team: There are developers, psychologists, economists, data analysts, anthropologists, and sociologists. So we have a fairly wide range of specialists who tackle various tasks. 

Do you plan to bring anyone else on board this coming year?

We have a constant need for specialists. Now there is a lot of interest in the field of trend studies, so we will look for more people to satisfy this demand. We also really need a data journalist – a specialist who will write journalistic materials based on the data collected and analyzed sent in to them.

We also plan to develop a scientific track. Most likely, it will be based on the principle of cooperation with research institutes and universities that have relevant research departments, and we will solve various problems with them. Applied Research works in a similar way at Microsoft. 

What other projects, besides research, does the team participate in?

We have infographics that we publish in the public domain: on the one hand, this is a study, and on the other, it’s a product. There are analytical blog posts that we started writing relatively recently. At this point we have already published two articles for which we collected data on various technologies and consulted with experts. 

There are also personal recommendations – this is an individualized distribution of the results of the Developer Ecosystem. Each respondent receives an email about how his answers compare with the answers of the other participants. 

Every month, we prepare an overview of important external analytical reports, which is included in the company’s internal digest. 

We also launched a quick research format. Colleagues come to us with questions from our area of expertise, and we get back to them with an answer in a couple of hours or days. Typically, in this format, we deal with questions that we can find answers to in previous studies or available existing data. For example, we answered questions such as: “How many developers currently use WebAssembly?”, “How many developers are engaged in pair programming and on what basis (weekly, monthly)?” etc.

In addition, the Research Coffee format was launched. Colleagues can come and chat with us online about research, psychology, anthropology, sociology, and other social sciences. Since we have a lot of psychologists on our team, we can talk about the use of psychological methods and techniques in solving some applied problems. We are also ready to talk about other topics, ranging from procrastination to anthropological issues, such as “Why anthropology is not just about skulls and bones”.

How and what does the team learn to improve their skills?

We have internal ways of learning: These are retrospectives on the results of research in different subteams and workshops. 

One of these is the training of research coordinators. At some point, my colleague and I realized that we needed to expand our expertise on the incoming task stream. We created a school of research coordinators within the team, where various issues were discussed in the case-study format for two weeks. We tried to do without lectures on how to coordinate research, and we used an interactive format. We simply prepared a list of questions and topics. In fact, we have outlined all the stages our research passes through. We recalled the problems that we encountered at one stage or another, discussed them, and formulated the principles of each stage. Now we meet once a month in the format of a support group and discuss the problems that arise in the process of work, as well as ways to solve them. 

We also try to do a little learning outside the team. Colleagues take courses and bring that knowledge to the team. 

Sometimes we also have team training. Last year we had an in-depth interview course. We took online facilitation training this year because we felt a strong need for these skills during the stages of discussing problems with initiators and applying research results. There are other training needs, which the Learning Development department helps us to take care of.

Are there any conferences you would like to attend? 

We used to go to BigSurv, a conference dedicated to surveys. Our guys participate in Data Science conferences. In addition, some colleagues hope to attend such conferences as Advancing Research, EPIC, QRCA Annual Conference, Design Research, Why the World Needs Anthropologists, Cognitive Science Society, BigSurv.

As head of the team, what is it that helps you develop your team?  

We have a lot of freedom at our company. And I, as Head of the Market Research and Analytics Team, also have the freedom to choose the direction of our research, аnd how we develop it – naturally and based on the needs of the company. It’s actually a very interesting creative process. You can do a lot of cool things, but the possibilities for team development are limited, relatively speaking, by our imagination, professionalism, and understanding of subject area trends. 

Therefore, one of the important tasks that I am still striving to solve is how to keep my imagination stimulated, and my colleagues are doing the same. They look around, always in communication with colleagues from other companies, observing who has what and how it’s organized, what areas they are researching, and what are the trends in these areas. This helps us come up with new ideas. Moreover, it’s not enough just to look at the area you’re researching. You have to look at others as well – sometimes even the ones you’d never expect.

I try my best to maintain a good mood and culture in the team, so that the spirit of equality reigns inside, and everyone can realize their interests and opportunities. This is of paramount importance to me. 

How do you imagine the team’s development in the future?

I hope we will focus on the scientific field, develop trend research, and integrate more closely with product teams. Now we are redeploying research coordinators to work with specific teams. This is so that in the future, each product team will have its own specialist on the research team who will be responsible for dealing with all of the team’s requests.

Over the past year, we have adjusted the information architecture within the team. We have guidelines that describe most of our processes. Good instructions were created for onboarding new employees. There is the Research CookBook that we wrote for the colleagues at the company who do research on their own but are not analysts. That is to say, product managers and colleagues from product teams. In a separate guide, we described all our internal systems, statistics and data sources. This helps new employees who are just joining the company to understand what research and analytics opportunities we have. 

Fantastic! Thank you!

Yanina Ledovaya, Cognitive Research Lead and Giulshan Dzhafarova, UX Researcher
]]>
State of the event industry: the perspective of tech conference organizers and developers https://blog.jetbrains.com/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/ https://blog.jetbrains.com/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/#respond Thu, 16 Sep 2021 12:45:52 +0000 https://blog.jetbrains.com/wp-content/uploads/2021/09/DSGN-11869_JetBrainsConnect_EN_Blog_Social_share_image_1280x720.png https://blog.jetbrains.com/?post_type=blog&p=176511

“I don’t think the fundamental reason why people attend conferences has changed or is going to change – it’s about those meaningful connections.”

Kevin McDonald, Chief Commercial Officer at Web Summit

TL;DR

The event industry has had to change significantly to adapt to the pandemic and it is continuing to transform. Globally, all the different entities involved  – attendees, speakers, organizers, and sponsors – have had to adjust to this new reality.

While preparing JetBrains Connect episode #8, we asked event attendees and organizers about how the industry is tackling these new challenges and what they think the industry will look like in the future. 

In May and June, the JetBrains Market Research & Analytics team interviewed five tech conference organizers and launched a survey. With the help of the survey, we collected a total of 801 responses from people who participated in conferences during the pandemic. About 98% identified themselves as attendees, 23.5% participated as speakers, 8.6% as event organizers, and 2.1% as sponsors. Please note that participants could choose several roles. The majority of survey participants were Developers (79.6%), and respondents came from the USA (10.8%), Germany (8.4%), Russia (7.7%), India (4.9%), Poland (4.1%), Ukraine (3.7%), Brazil (3.6%), Spain (3.5%), China (3.3%), and Italy (3.1%).

Here is what we learned:

  • As the event industry was hit hard during the pandemic, conference organizers are being urged to reconsider activities and come up with new creative formats.
  • Organizers, attendees, sponsors, and speakers realized that online formats have a range of advantages, for example, accessibility, lower costs, a broader audience, and are easier to manage. However, traditional in-person conferences seem to be more efficient in terms of networking.
  • Event organizers are using a variety of online interactive activities, like real-time chats with participants or speakers, virtual booths, audio-only discussions, live games, and competitions.
  • It seems that both online and offline formats are here to stay – offline for higher engagement, and online for attracting more global audiences. Hybrid events will also develop.
  • The value of pre-recorded content and the importance of high-quality video production have significantly grown.


What is happening with the event industry?

How has the attendees’ behavior changed?

How are event organizers overcoming challenges?

What motivates speakers and sponsors to participate in online conferences?

What is the future of the event industry?

JetBrains’ perspective

What is happening with the event industry?

The event industry was one of those most affected during the pandemic. Recent restrictions and requirements urged organizers to rethink their approach and offer brand-new formats for participants. Some organizers canceled their major conferences and focused instead on online events. Please note that by Conference event format we mean a meeting, lasting a few days, which is organized around a specific subject or community. It includes one or more tracks of talks and draws more than 100 participants.

According to our survey, online has become the leading conference format during the pandemic. To be more precise, 81.5% of all respondents (attendees, speakers, sponsors, and organizers) participated in online conferences during this time. Before the pandemic, only 34.1% had participated in such events.

How has the attendees’ behavior changed?  

Among the respondents who identified themselves as conference attendees, half of them visited 1-2 online conference(s) a year before the pandemic. Since the imposed restrictions, attendees started participating in online conferences more frequently.

It seems that the general experience with online conferences among attendees is positive. The majority were satisfied with the online format. The survey highlighted that 75.1% of respondents were going to participate in virtual conferences when the restrictions are over. Aside from this, 44% claimed that their attitude toward such events has improved.

Also, attendees were able to identify the benefits of digital events. For instance, the survey respondents claimed that the major advantages of attending online conferences are time saving, accessibility, and cost saving.

We were also curious to know what motivates attendees to participate in online events. According to the survey, the top goals for participating in online conferences were Education / Learning new things and Networking.

During online conferences, attendees were able to try new formats of interaction. The most frequently used ones were real-time chats with participants or speakers, virtual booths, audio-only discussions, and live-games or competitions.

While making the infographics for this blog post, we prepared more detailed survey data. And so, the values in the JetBrains Connect episode on YouTube might differ slightly from the current infographics.

68.7% of respondents confirmed that the online conferences they attended were free to participate in. About 30.2% claimed that the conference participation was paid for by themselves or their employer.

Despite the benefits of online conferences, attendees were lacking live communication and experiencing Zoom Fatigue (tiredness associated with overusing virtual platforms). The survey respondents highlight the major drawbacks of online conferences such as limited interaction with speakers / participants, networking opportunities, and the emotional experience. 

How are event organizers overcoming challenges?

In spite of all the restrictions, many event organizers embraced the new reality and started offering more unique, technological, and interesting solutions. We had interviews with event organizers of several prominent tech conferences to learn how they are addressing the challenges.

Please see the major insights from the interviews:

It turned out with the current state of events, organizers depend highly on the essence of their business and what they did before the pandemic.

The organizers of commercial conferences and conferences by non-commercial entities whose goal is to raise money to form the organization’s yearly budget were gravely hit by the pandemic as they lost a major source of funding. According to our interviewees, online events seem to be less effective than traditional, in-person events from the perspective of lead generation and advertising. So, the sponsors are not always willing to invest money in online events. The attendees are also not always ready to pay as much for the tickets as they used to for offline conferences. Such commercial event organizers are forced to offer online events but are eager to go back to the offline format.

The organizers of events whose primary goal is not to raise money (e.g., community conferences organized by user groups, conferences whose main goal is for marketing and raising the profile of a product or service), were less affected. They are more eager to experiment with new online formats.

Some organizers reconsidered their traditional conference formats. For instance, a conference now may consist of 1-hour daily online presentation over 1 week, which was not really possible before the pandemic.

With the rise of online conferences, the importance of video content has increased. Since the need of seeing the famous speaker in real life is now less relevant, there is little incentive for the audience to attend the talk live if they know it will be available as a video.

“For me, watching an online presentation live or watching the video afterwards is almost the same thing. Most conferences will end up publishing the videos anyway.”

Sandro Mancuso, Co-Founder of Codurance

  • The rising interest in video content incentivizes the organizers to create, for example, a series of pre-recorded video discussions on a particular topic instead of conducting a live event.

“We have some events where we do the recordings first. For example, recently we prepared a series on software modernization. This topic is crucial for us and is really aligned to our services. So, we decided to design a six episode series. We recorded all of them; now it is in editing. It will be released soon. We have a dedicated marketing team that is working on preparing such pre-recorded video content.”

Sandro Mancuso, Co-Founder of Codurance

It has become easier to control the content quality and receive feedback. Now organizers have access to video statistics: number of views, churn rate, etc. During offline conferences, people are usually too shy to leave a room during the presentation, if a talk is boring. At online conferences, participants close the tab as soon as they get bored:

“What I like about the virtual events is that you really see who can deliver good content and who can’t. You cannot hide behind a big audience as during the offline events because people are already just sitting there, because they are in the venue. If the audience does not like a presentation in the virtual world, they close the tab and come back later for another talk.

Also, you can see peaks going up and down during a conference. If a speaker is boring, you see a drop. It’s more about the content, and less about some other stuff. That is a huge upside of virtual conferences.”

Sead Ahmetovic, CEO & Co-founder of WeAreDevelopers ‍ 

  • Event organizers started focusing on online formats and exploiting its benefits: broader audience, lower barriers for attendees and speakers, and less time and resources to organize. 

The advantage of the virtual events was that we actually were able to get speakers from all over the world. Some of the speakers we wouldn’t even dare dream of being at our in-person events, because the travel is too far. I remember one speaker at our event gave the first session of the day at 9am CET but he was actually based in San Diego, so it was midnight for him. That was really fun. But that is also an enormous opportunity. And for us, the online only event has been a tremendous success, because we suddenly had an audience of 1400 people for a one day event.

Karim Ourtani, Member of the board at dataMinds

What motivates speakers and sponsors to participate in online conferences?

During the survey and interviews, we were able to gather some information about speakers and sponsors. As there are few survey responses, please, consider this information as qualitative insights.

Speakers’ and sponsors’ perspective

According to the survey, the major advantages of online events for speakers and sponsors were accessibility, time saving, cost saving, ease of managing participation, and a broader audience. In addition to this, they mentioned that the opportunity to pre-record videos is also a benefit.

The major disadvantages were limited interaction with the audience, insufficient live feedback, lower audience engagement, technical issues (e.g., bad internet connection), and unpredictable attendee turnout. Sponsors also mentioned a lack of leads / sales as a drawback. 

During our interviews, event organizers pointed out that speakers are now lacking the main event benefits – traveling opportunities. On the other hand, they highlighted that it has become easier for sponsors to contact attendees at online events when looking for potential employees. Unlike during offline conferences, such interactions are away from the public eye, and the attendees are less worried that their boss or colleagues will find out about their contact with a prospective employer.

What is the future of the event industry?

Restrictions are being lifted in some countries and hopefully life is gradually going to get back on track. However, we all understand that the world will never be the same. So, we asked event organizers and survey respondents how they see the future of the event industry.

Survey respondents predict a couple major long-term changes: more hybrid conferences, increased interest in video content, and a higher expectation to record talks.

Event organizers highlighted in the interviews that companies whose main funding source is conferences will more than likely resume offline formats. However, both online and offline formats are here to stay – offline for higher engagement, online for attracting more global audiences. 

Also, hybrid events will develop. For instance, one of the interviewees mentioned that cinemas are looking for potential clients and started negotiating with event organizers. So, the use-case may look like this: event participants sit in cinemas (a small group of people, no need to travel far away) and watch the online conference, then discuss it. In this way, organizers will unite several physical locations via online channels.

At the same time almost all event organizers whom we interviewed expressed a high level of uncertainty regarding the future, as the event industry depends highly on other industries.

JetBrains’ perspective

As an active participant in live events, JetBrains of course misses the opportunity to meet with our community in person. At the same time the new restrictions also push us to adjust to the new reality and improve our online formats and points of contact. 

For example, JetBrains Connect – the new JetBrains series on YouTube – was our way to reach out to and learn from IT experts on different topics despite the circumstances.

To see a discussion with Kevin McDonald, Chief Commercial Officer at Web Summit, Maarten Balliauw, and Paul Everitt, JetBrains Developer Advocate Leads in .NET and Web&Data, on what the future holds for IT events, please check out the JetBrains Connect episode on YouTube.

Watch other episodes of JetBrains Connect, stay tuned for JetBrains Webinars, and reach out to us on Twitter, Facebook, LinkedIn, and Instagram. We love feedback and talking to you!

Also if you liked this research overview and are interested in participating in future research by JetBrains, please subscribe to our research panel:

Your JetBrains Team
The Drive to Develop

]]>
https://blog.jetbrains.com/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/feed/ 0 https://blog.jetbrains.com/ru/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/ https://blog.jetbrains.com/pt-br/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/ https://blog.jetbrains.com/ko/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/ https://blog.jetbrains.com/es/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/ https://blog.jetbrains.com/de/blog/2021/09/16/state-of-the-event-industry-the-perspective-of-tech-conference-organizers-and-developers/
The State of Developer Ecosystem 2021 https://blog.jetbrains.com/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/blog/2021/07/16/the-state-of-developer-ecosystem-2021/#respond Fri, 16 Jul 2021 13:07:09 +0000 https://blog.jetbrains.com/wp-content/uploads/2021/07/DSGN-11474_DevEco2021_Infographics_Blog_Featured_Image_1280x720.png https://blog.jetbrains.com/?post_type=blog&p=162187 The results of our fifth annual Developer Ecosystem Survey are in! The report tracks the current trends around various programming languages, applications, tools, frameworks, and even developers’ lifestyles and habits.

What’s different about this year’s report is that this year we improved our methodology and extended the survey geography to the whole world!

The State of Developer Ecosystem 2021 report is based on the input from 31,743 developers from 183 countries and regions that helped JetBrains map the landscape of the developer community.


Here are some interesting findings:

  • JavaScript is the most popular language – 69% of respondents used it in the last 12 months, while 39% named it their primary programming language.
  • Python is more popular than Java in terms of overall usage (52% vs 49%), while Java is more popular than Python as a main language (32% vs 29%).
  • The 5 fastest growing languages are Python, TypeScript, Kotlin, SQL, and Go.
  • More female developers are coming to the tech industry – women are more likely to be involved in Data Analysis and Machine learning or UX/UI Design/Research, but less likely to work in Infrastructure Development / DevOps, System Administration, or Deployment.

Over the past year, the whole world has shifted to remote work. Both the market and the daily life of developers have been impacted:

  • 66% of the respondents now use video conferencing, up from 43% last year.
  • The market of video conferencing tools has changed a lot: Zoom, Microsoft Teams, and Google Meet have gained a lot of users, while Skype has been losing them dramatically.
  • More tools have introduced cloud solutions, and the usage of cloud versions has doubled in the last 4 years.
  • In early 2020 about 70% of developers worked from the office. Now 80% work from home.
  • In 2020, most developers reported programming as their biggest hobby. This year video games are topping the list, increasing in popularity from 49% to 59%.

VIEW THE STATE OF DEVELOPER ECOSYSTEM 2021 REPORT

These infographics represent the key insights we’ve been able to glean from the survey data. If you’re interested in learning more, stay tuned for the complete results along with the anonymized raw data!

We highly appreciate the input of everyone who took part in the survey. It is an invaluable source of information about the developer community. and it provides us with great ideas for improving our products, too. Thank you!

Would you like to participate in next year’s Developer Ecosystem Survey? If so, join our research panel! You’ll also be first in line to participate in our many other surveys and research activities, such as interviews and UX studies. Our panelists are eligible for cool prizes, too!

]]>
https://blog.jetbrains.com/blog/2021/07/16/the-state-of-developer-ecosystem-2021/feed/ 0 https://blog.jetbrains.com/zh-hans/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/ru/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/pt-br/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/ko/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/ja/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/fr/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/es/blog/2021/07/16/the-state-of-developer-ecosystem-2021/ https://blog.jetbrains.com/de/blog/2021/07/16/the-state-of-developer-ecosystem-2021/
The state of Go https://blog.jetbrains.com/go/2021/02/03/the-state-of-go/ https://blog.jetbrains.com/go/2021/02/03/the-state-of-go/#respond Wed, 03 Feb 2021 14:47:05 +0000 https://blog.jetbrains.com/wp-content/uploads/2021/02/DSGN-10491-Banner-for-The-state-of-Go-2020-2_Twitter_800x418.png https://blog.jetbrains.com/?post_type=go&p=112306 The Go language is high up on the list of popular programming languages used today. We already know that its enthusiastic, fun, and welcoming community of users like it for its speed and effectiveness, but we wanted to find out a bit more. We have taken a deeper look into the information available on Go to uncover more facts. Our resident Go expert, Florin Pățan, Developer Advocate for GoLand, has been brought in to provide his take on the findings to discover the state of Go.

Where

~1.1 million Go devs

Overall, there are about 1,1 million professional Go developers who use Go as a primary language. But that number is possibly closer to ~2.7 million if we include professional developers who mainly use other programming languages but also do a bit of Go on the side.

In terms of global distribution, the largest number of Go developers live in Asia and compose about 570 thousand developers using Go as a primary language.

Expert analysis

This is what I’d expect for the regions that develop Go. Asia is high up there in terms of the numbers of Go users as I think a large number of the developers there are from huge companies such as Tencent, Alibaba, and Huawei. These companies have lots of developers in general.

Where specifically

The graph below shows the distribution of developers in each country we surveyed in the Developer Ecosystem survey 2020 who use Go as a primary language (respondents were able to choose up to 3 primary languages). China has the highest concentration, with 16% of Chinese developers writing in Go.

Expert analysis

I am not surprised to see China at the top of the list. I would have expected to see Russia second and the United States a bit higher, perhaps in the top 5.

China’s place at the top of the list is probably just due the sheer number of developers they have. And a lot of the companies that I know, for example, PingCAP, Tencent, and Huawei all have a lot of developers to support them and build internal tools, infrastructure, and backend services, which are combined with microservices. That seems to be key.

I know that in Russia the Go communities are really awesome, so it’s no wonder Go is a popular language there. I am curious about Japan and Ukraine as I didn’t expect that they would be quite so high up, and I’d expect Germany and India to be a bit higher. I remember back four or five years ago when I was in Berlin that Go was used in pretty much every startup that I knew.

Industry insights

According to the Developer Ecosystem Survey 2020, Go is among the top 10 primary languages of professional developers, with a share of 7%.

Expert analysis

I think Go is always growing. People don’t tend to start off with Go as their first programming language but instead usually migrate to Go from other languages such as PHP and Ruby, but mainly from C++ and C#, from what I know.

The advantages of Go over PHP would be the type safety, since Go is a statically typed language, whereas PHP is dynamic. It means that the compiler does most of the work for you in terms of making sure that the code you wrote will compile and work without having problems at runtime. The advantage Go has over C++ is simplicity. In Go, it’s all pretty straightforward.

In general, the thing with Go is that it has a lot of speed built in, both when writing the code and at runtime. In general, with Go you’d get maybe 5-10 times the performance without having to do any special optimizations, and that’s an important productivity advantage for companies. It’s also a simple language, it’s easy to pick up, and it’s easy to replace microservices in existing projects.

A lot of the IT infrastructure tools like Kubernetes, Docker, and Vault – to name a few of the big ones – are built using Go. So, while there are a lot of companies that work with Java, they would also have a team that does Go, especially for maintenance and patching of such projects. That’s probably one of the other reasons the adoption keeps increasing; the more that technology is used in common infrastructure and deployments, the more Go will grow. So I think more and more people will start using Go in the next few years and we will see Go at maybe 15-20%, especially considering the question from the Developer Ecosystem survey “”Do you plan to adopt / migrate to other languages in the next 12 months? If so, to which ones?” where 13% of respondents answered Go.

Type of software developed with Go

Web Services are the most popular area where Go is used, with a share of 36% according to the results from the Developer Ecosystem survey 2020.

Expert analysis

For web services, I think the top task is creating API servers that are fairly fast. They don’t necessarily need a framework, so you can get up and running quickly with Go.

I don’t expect that this graph will change too much in the future. I do expect to see web services getting more share just because it’s simple to get started in it with Go.

For “Utilities”, I see a similar story as it’s fairly easy to write a quick app that lets you process a large volume of data and write small utility apps or one-off tasks that need a lot of power. It also makes sense to see the IT infrastructure there. The more people that adopt Docker and Kubernetes, the more people that will come to Go, just because they are both written in Go. Any kind of DevOps work can especially benefit from Go, as it offers type safety and speed. It’s quite easy to interact with the cloud side of the infrastructure – Google, Amazon, and Azure, among others – as they all have good SDKs. I think we can also expect a bit of a boost in “Libraries / Frameworks” in the next couple of years when generics arrive.

System software – I think this will begin to decline as more people start using something like Rust for system software. And the same for databases. So it’s probably going to be a niche domain in the future somewhere around the 6% mark. Programming tools – I am surprised this is so high on the list, I would be interested to learn what programming tools are being made in Go.

Top industries where Go is used

According to the Developer Ecosystem Survey 2020, Go programmers work mainly in IT Services, followed by Finance and FinTech, Cloud Computing / Platform, and other industries.

Expert analysis

Financing and FinTech. That’s something that I expect to see just because I know there are quite a few banks that have been launched with Go or are using Go extensively for their infrastructure. For example, Monzo, from the UK, built their whole bank using Go. Cloud computing and platforms also makes sense, as it is natural with the kinds of applications that are being written in Go.

Mobile development, that’s unexpected to see. Go doesn’t really have a good mobile development history. If anything, I would expect people to probably do their web services or backends for mobile apps with Go, but that is about it.

There are a few industries I would not expect to see Go usage increasing in anytime soon. For example, anything based on machine learning, because that’s still quite a Python stronghold. There are efforts to make machine learning popular in Go and make it better, however I think that any results are at least a couple of years away.

Go tools

Package Managers

Go Modules is the most popular package manager among Go developers. Its adoption rose from 41% in 2019 to 82% in 2020, according to the Developer Ecosystem Survey 2020.

Expert analysis

I think at some point we’ll probably have to stop asking this question, just because Go Modules is set to become the standard default model and the Go team also wants to deprecate GOPATH. Everything else will probably just be obsolete then.

Go routers

Gorilla / Mux and Standard library have remained the most used Go routers since 2018 according to the Developer Ecosystem surveys carried out in 2020 and 2018.

Expert analysis

The standard library is probably so popular because whenever you go to Reddit, Slack, or any other place, people will usually recommend sticking with the standard library and only using something else if you really want. I use gorilla/mux, just because there is a bit more abstraction on top of the standard library without sacrificing too much performance. It’s also probably because this is one of the closest to the standard library and it makes writing servers easier. Overall this distribution is probably what I would expect to see.

Top 5 web frameworks

The usage of Gin has nearly doubled since 2018, while the rest of the web frameworks have largely remained stable, according to the 2020 and 2018 Developer Ecosystem surveys.

Expert analysis

Gin is likely so popular for web because it’s one of the faster frameworks and also gets good recommendations. It’s also one of the oldest ones. So there’s a lot of material out there, and a lot of users are already using and recommending it.

Testing frameworks

The proportion of devs using built-in testing fell from 64% in 2018 to 44% in 2020 while the usage of other testing frameworks grew slightly.

Expert analysis

The built-in testing is high because the Go standard library has a really good testing library out of the box.

Built-in testing has probably dropped because more people are coming to the language from other languages, like PHP for instance, and they are seeking to replicate the testing habits they already have.

Most discussed Go tools and other languages

Go is often discussed in IT communities, one of which is Stack Overflow. We took data from the Q&A section to find out which tags co-occur with “Go” the most. Among them, there are 23 tools and 2 languages – “MySQL” and “PostgreSQL”. Apart from the tools, there are co-occurrences with other top languages. The vertical axis indicates the total number of occurrences of the tags while the horizontal axis shows mentions of the tags with “Go”.

Expert analysis

I expect JSON to be a problem. It’s not easy to marshal and unmarshal JSON into Go data structures and this is probably why it’s so visible. Structs come up as people coming from other languages usually have a hard time wrapping their head around this, apart from maybe if they come from C++ or C.

Amazon Web Services is where I would expect a lot of questions based on the popularity of AWS itself. It’s more straightforward to develop Go apps for Google App Engine now, which was not always the case, hence why there are so many questions.

All in all, the Go community is a pretty fun and inclusive community to be a part of. Newbies are never pushed away and they are encouraged to ask questions and discover the language. In terms of topics in general, generics and maybe some language improvements, compiler improvements, and so on are discussed most regularly.

Generics particularly as it is one of the most requested features for the language and there are plenty of workloads that would benefit from having this feature.

Is your team curious to try GoLand? Get an extended trial for an unlimited number of users.

Request now!

]]>
https://blog.jetbrains.com/go/2021/02/03/the-state-of-go/feed/ 0 https://blog.jetbrains.com/zh-hans/go/2021/02/03/the-state-of-go/ https://blog.jetbrains.com/ru/go/2021/02/03/the-state-of-go/ https://blog.jetbrains.com/ko/go/2021/02/03/the-state-of-go/ https://blog.jetbrains.com/fr/go/2021/02/03/the-state-of-go/
Scientific Research Initiatives by JetBrains https://blog.jetbrains.com/blog/2020/12/21/scientific-research-initiatives-by-jetbrains/ https://blog.jetbrains.com/blog/2020/12/21/scientific-research-initiatives-by-jetbrains/#respond Mon, 21 Dec 2020 13:39:20 +0000 https://blog.jetbrains.com/wp-content/uploads/2020/12/1600x800_-Blog.png https://blog.jetbrains.com/?post_type=blog&p=105504 You may have heard that at JetBrains, we “develop with pleasure” and have the “drive to develop”, but what you may not have heard is that our interests are not limited to just development and the creation of powerful, productivity-enhancing tools. We very much believe in improving on what we can and leaving a better future for those who follow in our wake. One of the ways we do this is by investing heavily in ongoing scientific research in cutting-edge innovation and education. Our research efforts see us collaborating with some of the top scientific institutions across the world to support applied research that impacts people’s lives and drives us all forward.

These scientific research efforts are united under the JetBrains Research initiative.

We would like to introduce to you the groups in JetBrains Research and describe the scope of their work.

Today's science for tomorrow's technology

JetBrains Research includes over 150 researchers working on projects across 19 separate lab groups. The lab groups are each working on diverse topics ranging from particle physics to software engineering.

Most scientific output nowadays comes in the form of research papers, which are an essential part of a researcher’s profile in the academic realm, and are necessary to compete for positions and win grants. The benefit of JetBrains Research is that there are no strict demands to produce papers and publications; researchers can instead focus their efforts on the essence of their work, and not on applying for grants.

Research Groups

BioLabs

There is still so much we don’t know about our own inner workings: the factors that lead to genetic mutations, what indicators we need to look for that will predict future health problems, full genome sequencing, and many others. Biology as a science has come a long way, but there is still a long way to go.

The goal of BioLabs is to uncover the mechanisms underlying epigenetic regulation in humans and animals, and to identify the role these mechanisms play in cell differentiation and aging. The largest project BioLabs is involved in is the Aging Project, in collaboration with Washington University in St. Louis, MO. The BioLabs group’s other research projects cover topics such as novel data analysis algorithms, effective Next Generation Sequencing data processing tools, scalable computational pipelines, visualization approaches, and meta-analysis of existing epigenomic databases. BioLabs is also responsible for PubTrends, a new scientific publications analysis service that provides faster analysis of trends and discovery of breakthrough papers. This is essential as the number of papers published each year is growing steadily, making it infeasible for a single person to be aware of all the publications in their field of interest.

Back to the list of Research Groups

Bioinformatics Group

The field of biology is almost unfathomably large, with many different areas still waiting to be discovered and researched. The more we can understand about biology, the better prepared we are for the future and what it may hold.

The Bioinformatics Group is dedicated to the development of efficient computational methods for important problems in biology and medicine. The group is based at the Computer Technologies Department of ITMO University. The group actively collaborates with Maxim Artyomov’s laboratory at Washington University in St. Louis. Their projects cover a diverse range of exciting topics from analyzing metagenomic sequencing data to gene expression analysis and metabolomics. The group applies their extensive expertise in algorithms and computer science to biology-related tasks by reducing the biological problems to known Computer Science problems, and by building data visualization and analysis tools for biologists.

Back to the list of Research Groups

Neurodevelopment and Neurophysiology Lab

Neurodevelopment and neurophysiology have come a long way with extensive research being carried out in this area, but there are many aspects to the science that are still unknown. This field of science holds great potential for our understanding of the mind.
The Neurodevelopment and Neurophysiology Lab is working towards the goal of developing a computational framework for building dynamic spatial models of neural tissue organization and basic stimulus dynamics. The Biological Cellular Neural Network Modeling (BCNNM) project uses sequences of biochemical reactions to run complex neural network models on the formation of initial stem cells. The framework can be used for thorough in silico replication of in vitro experiments to obtain sets of measurements from key components, as well as for preliminary computational testing of novel hypotheses.

Back to the list of Research Groups

Machine Learning Applications and Deep Learning Lab

and

Agent Systems and Reinforcement Learning Lab

The potential for applying machine learning to future endeavors is immense. Machine learning can be used to make systems that are able to forecast and predict events and accurately recognize patterns in ways that would otherwise not be possible. The potential for this to be applied to real-life problems is almost infinite.

Both these labs aim to advance research in the areas of machine learning, data analysis, deep learning, and reinforcement learning, and to apply current state-of-the-art machine learning techniques to various real-world problems. This year the lab started working on applying deep learning methods in the area of drug development in a joint effort with the BIOCAD research center. Also, together with the University of Uppsala, they began studying the influence of environmental factors on gene expression. The labs are actively working with students from leading universities and are involved in developing courses to improve the level of education in the area of machine learning and data analysis.

Back to the list of Research Groups

Paper-Analyzer Group

Working at the forefront of science, it is important to keep up with all the new discoveries being made and the latest scientific theories and hypotheses that have been researched. To make this task a little easier, analysis of research papers is an important pursuit to save time and resources.

The Paper-Analyzer Group aims to facilitate knowledge extraction from scientific (biomedical) papers via Deep Learning models for Natural Language Processing. The core of the Paper-analyzer is a Language Model built with transformer-like architectures fine-tuned to work with scientific papers. The objective of the Language Model is to predict the next word, given the previous context. Models built on top of the Language Model can be trained to solve several downstream tasks like Named Entity Recognition, Relation Extraction, and Question Answering. The group also experiments with generative models for paper summarization and sentence paraphrasing. All of this is working toward their main final goal, which is automatic knowledge extraction.

Back to the list of Research Groups

Cryptographic Lab

Security is an important subject in today’s modern world, and with more and more information becoming digitized there is an ever-increasing need to ensure that information is securely stored and maintained.

The Cryptographic Lab focuses its research on the modern problems of cryptography and information security. It works in partnership with COSIC – Computer Security and Industrial Cryptography group – in Leuven (Belgium), the Selmer Center in the University of Bergen (Norway), and the University of Paris and INRIA (France). Their research areas include cryptographic Boolean functions, symmetric ciphers, lightweight cryptography, blockchain technologies, quantum cryptography, and information security. As well as publishing monographs and articles in top cryptographic journals they teach crypto courses at the Novosibirsk State University and organize the renowned NSUCRYPTO International Olympiad in Cryptography.

Back to the list of Research Groups

HoTT and Dependent Types Group

Homotopy type theory is a relatively new branch of mathematics combining several different fields. Mathematics needs a solid basis of proof to be established – as Einstein once said, “No amount of experimentation can ever prove me right; a single experiment can prove me wrong.” Given the immense complexity of mathematics, this is a huge and important undertaking.

The main focus of the HoTT and Dependent Types group is to build Arend, a dependently typed language and a theorem prover based on Homotopy Type Theory. HTT is a more advanced theoretical framework than those on which systems like Agda and Coq are based. The ultimate goal is to create an online collaborative proof assistant based on a modern type theory to enable the formalization of certain branches of mathematics.

Back to the list of Research Groups

Nuclear Physics Methods Laboratory

Nowadays, many important tasks in particle physics, including numerical simulation and analysis of experimental data, rely heavily on software to ensure that experiments are reproducible and the results are reliable.

The Nuclear Physics Methods lab is based at MIPT in Moscow with its main interest being methodology and software for particle physics. The current focus of the lab’s software group is the design of a new generation of data acquisition (slow control, signal processing) and analysis tools. Their research is focused in three areas: non-accelerator particle physics (GERDA, Troitsk nu-mass, KATRIN, and IAXO experiments); numerical simulation in particle physics (both accelerator and non-accelerator experiments, atmospheric discharge phenomena, and x-ray physics); and software development for experimental physics (data acquisition and analysis systems, infrastructure projects and scientific libraries for Kotlin language). The lab is also very focused on education; they aim to provide younger students with real-life (and real science) experience in physics and software development.

Nuclear Physics Methods Laboratory

Back to the list of Research Groups

Learning Research Lab

The future of technology is in the hands of the next generation of engineers. So it is in all our collective interests to give them the best possible start in their careers. We believe that excellence begins with education, and so we feel that furthering the science of learning is an important pursuit.

The Learning Research lab pursues the goal of developing interventions to promote STEM subjects among high school students and increase their chances of succeeding and furthering their professional careers in STEM-related fields. The Learning Research lab is working on a longitudinal research project to discover the main predictors of students’ success in programming and STEM (science, technology, engineering, and mathematics) subjects. They are looking at the interplay of four possible factors: cognitive skills, non-cognitive characteristics (educational and professional attitudes, social environment), gender, and learning methodologies. They want to answer the following questions:

  1. Who chooses STEM and programming majors?
  2. What characteristics (cognitive abilities, family background, etc.) lead to higher achievements and lower drop-out rates?
  3. Are there attitudinal characteristics (like motivation and engagement) that can counterbalance background effects?
  4. What learning methodologies lead to success, and what increases the chances of failure?

Back to the list of Research Groups

Mobile Robot Algorithms Laboratory

Self-driving cars are already a reality and autonomous vehicle prototypes are currently changing the landscape of the roads and the future of driving. The technology is still in its early days, and there is much more that can be improved in autonomous systems.

The Mobile Robot Algorithms Laboratory’s research is focused on developing efficient algorithms for mobile robots. The lab hosts the only instance of a Duckietown, a platform and environment for the development of mobile robot algorithms, in Russia. The main problem of interest for the lab is Simultaneous Localization and Mapping (SLAM). SLAM consists of constructing and maintaining a map of an unknown environment, while keeping track of the agent’s location in the environment, by analyzing data from various sensors. The complexity of the SLAM problem is rooted in the noise that is inherent to physical sensors, and in the need to keep track of changes in a dynamic environment. On top of that, many SLAM algorithms are designed to run on low-cost hardware, which imposes strict performance limitations. In 2019, the Robotics lab took part in 3 AI Driving Olympics, a competition of autonomous driving robots and a prestigious venue for the improvement of self-driving vehicle research. They came first in all 3 competitions. Notably, this was the first time the competition was won by a deep-learning algorithm.

The lab’s researchers teach a variety of STEM courses in universities, and offer mobile software development courses to school students and host visiting students from MIT via the MISTI program.

Mobile Robot Algorithms Laboratory

Back to the list of Research Groups

Optimization Problems in Software Engineering

JetBrains tools are developed to help our users be more productive and write better code. Behind the scenes, there is a lot of research and testing to make sure that we are creating the best products we can. It may come as no surprise that we have research labs dedicated to software engineering fields.

The Optimization Problems in Software Engineering group’s research mainly focuses on solving hard optimization problems arising in the areas of reliable systems engineering, grammatical inference, and software verification. The research primarily focuses on the synthesis of finite automata models from specifications such as execution traces and test cases.
The primary research projects include: finite-state machine inference with metaheuristic algorithms; synthesis, testing, and verification of industrial automation software; metaheuristic algorithms parameter tuning; and constraint programming for graph and automata problems.

Back to the list of Research Groups

Parameterized Algorithms Group

There is always something new to learn in computer science, and solving challenging complex issues using the most up-to-date techniques keeps us advancing.

The Parameterized Algorithms group lab is dedicated to researching and solving computationally challenging problems using modern techniques of designing exact algorithms. It often involves establishing connections between different problems and investigating how the complexity of a particular problem changes on specific classes of problem instances, such as instances having bounded parameter values. The lab runs several research projects that focus on problems such as the maximum satisfiability, graph coloring, and graph clusterization. While these problems, in some cases, are defined by the bounded parameters of these problems, there exist algorithms with reasonable complexity, which makes their computation feasible even for larger inputs.

Back to the list of Research Groups

Concurrent Computing Lab

Concurrent programming has gained popularity over the past few decades. Every language and platform provides the corresponding primitives, which become harder and harder to use in the most efficient way as system complexity increases, such as with multiple NUMA nodes, as well as with relaxations of memory models.

This raises several important practical questions. How can we build efficient concurrent algorithms nowadays? What is the best trade-off between progress guarantees, efficiency, and fairness? How do we check all these algorithms for correctness? How do we benchmark them? While some of the questions are partially answered in academia, a lot of the practical problems remain unresolved.

The primary focus of the Concurrent Computing Lab is to answer the important questions this raises – ‘How can we build efficient concurrent algorithms nowadays?’ and ‘What is the best trade-off between progress guarantees, efficiency, and fairness?’ – by providing practically reasonable and theoretically valuable solutions as well as high-quality tools that can help other researchers and developers in the field of concurrency. The topics the lab is interested in include: concurrent algorithms and data structures; non-volatile memory (NVM); testing and verification; performance analysis, debugging, and optimization; parallel programming languages and models; and memory reclamation.

Back to the list of Research Groups

Cyber-Physical Systems Lab

There are a lot of challenges in the development of embedded and cyber-physical systems that come from the different design practices used by mechanical and software engineering. There are huge opportunities for research into this area as the embedded systems are so important across so many industries.

The Cyber-Physical Systems Lab research interests include process-oriented programming, software psychology and domain-specific languages for control software (cyber-physical systems, PLCs, embedded systems, IIoT, distributed control systems, etc.), safety-critical systems, requirement engineering, formal semantics, and dynamic and static verification (model checking, deductive verification, ontological design).

Back to the list of Research Groups

Machine Learning Methods in Software Engineering

Machine learning has come a long way and has various incredibly useful applications. It is also possible to apply machine learning to the realm of software engineering to enhance the capabilities of software engineering tools.

The Machine Learning Methods in Software Engineering group is focused on devising and testing techniques to improve software engineering tools and processes by applying data analysis techniques, including machine learning, to data found in software repositories. They collaborate with several product teams at JetBrains on integrating state-of-the-art, data-driven techniques into the company’s products. The group is currently working on over a dozen research projects on a variety of topics ranging from supporting data mining libraries to generating code from natural language descriptions. Recent results of the group include a new approach to the recommendation of move method refactorings, a study of license violations in borrowed code on GitHub, a state-of-the-art approach to source code authorship attribution, and a method to build vector representations of coding style without explicit features.

Back to the list of Research Groups

Programming Languages and Tools Lab

Programming language theory is another vested interest of JetBrains, both from the point of view of the tools we produce and because we have our own language, Kotlin.

The Programming Languages and Tools lab was established to carry out scientific research in the area of programming language theory. It is a joint initiative between JetBrains and the Department of Software Engineering at the Faculty of Mathematics and Mechanics of Saint Petersburg State University. The lab covers a broad range of research topics including the theory of formal languages and its applications to parsing, static code analysis, graph database querying, bioinformatics, and other fields: formal programming language semantics and, in particular, the semantics of weakly consistent memory models; formal verification techniques based on theorem provers and SMT solvers; program optimization methods based on partial evaluation and supercompilation; and various programming paradigms, including functional, relational, and certified programming. The lab is also very active outside its research, hosting annual winter and summer schools, weekly global seminars, and post-graduate internships among many other initiatives.

Back to the list of Research Groups

Verification or Program Analysis Lab aka VorPAL

Improving day to day productivity is high on the list of things that the tools we create at JetBrains should help with. They could not have gotten to where they are today without the dedicated efforts and research put into them by our research labs.

At the Verification or Program Analysis lab, students, postgraduates, and researchers develop software technologies based on formal methods, such as verification, static analysis, and program transformation techniques. These methods are used to improve day-to-day developer productivity as standalone tools, programming language extensions, or IDE plugins.
A significant part of the current research efforts is invested into exploring various ways of extending Kotlin. We believe that Kotlin still has a lot of room for further improvements and extensions. These improvements include things such as macros, liquid types, pattern matching, and variadic generics. Other research areas this lab is involved in include (but are not limited to) applying concolic testing to Kotlin and various compiler fuzzing techniques.

Verification or Program Analysis Lab aka VorPAL

Back to the list of Research Groups

Intelligent Collaboration Tools Lab

Coding is not the only activity software engineers are involved in these days. Software engineers now need to spend a considerable amount of time exchanging information and collaborating with colleagues. Working in software engineering increasingly relies on specialized tools like communication engines, issue trackers, and code review platforms to make collaboration between teams possible.

The goals of the new Intelligent Collaboration Tools Lab are to gain a deeper understanding of collaborative processes in software engineering and other creative industries, and to devise novel approaches to tool support for collaborative work.

Back to the list of Research Groups

If you are interested in joining any of the groups or setting up a collaborative project, please contact the lab leads directly. For general questions please email info@research.jetbrains.org

Many thanks to Olga Andreevskikh for her valuable help with preparing this post.

]]>
https://blog.jetbrains.com/blog/2020/12/21/scientific-research-initiatives-by-jetbrains/feed/ 0 https://blog.jetbrains.com/ru/blog/2020/12/21/scientific-research-initiatives-by-jetbrains/
A Picture of Java in 2020 https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/ Mon, 21 Sep 2020 12:05:03 +0000 https://blog.jetbrains.com/wp-content/uploads/2020/09/1-2x.png https://blog.jetbrains.com/?post_type=idea&p=75986 This year Java hit an incredible milestone and reached the grand old age of 25 years. We celebrated its jubilee by running a special online Java day event, where lots of expert speakers shared their experience and gave tips and tricks on how to get more from the language.

This got us thinking, and we decided to do a deep dive into the data to discover once and for all what the common state of Java is, and to help answer some of your burning questions. Some of what we have found may come as no surprise, but there are some very unexpected insights too.

With Java 15 released this week, we decided to put it together and present to you the state of Java. This post was created based on data from several different sources and includes expert commentary from our Developer Advocate Trisha Gee.

Where

The first question was, “Where are most Java developers based, and how many of us are there?” We answered this by combining the most accurate information we could get hold of and then extrapolating to come up with what we think is a pretty well-educated guess.

Our best estimate from the Developer Estimation Model by the Market Research and Analytics Team shows there are about 5.2 million professional Java developers in the world today that use Java as a primary language. But that number is possibly closer to ~6.8 million if we include professional developers who mainly use other programming languages but also do a bit of Java on the side.

As for where these Java developers are concentrated, the largest number of Java developers live in Asia where about 2.5 million developers are using Java as their primary language. The numbers for North America and Europe are nowhere near the scale of Asia. You might be asking, “But why?” Well, we had that exact same thought at first, so we dug a little deeper into these regions to see exactly where the numbers were coming from.

Where specifically

Going deeper we looked at the individual countries that had the largest populations of Java developers, and then investigated why these countries specifically prefer Java over other languages for professional development.

The graph below shows the percentages of developers in each country who use Java as their primary language (respondents to the survey that was used to gather this data could choose up to 3 primary languages). China and South Korea have the highest values at about 51% and 50% respectively. The data was taken from the State of the Developer Ecosystem Survey 2020.

Expert analysis
The reasons Java is most likely so popular in the first 6 countries include the free use of Java, governmental support, and open-source. This is especially the case for China, Spain, and Brazil. It is the base for Android mobile development in China and India, and hiring offshore staff to build phone apps in Java is very widespread which could account for the peak in use for India. Germany is also very high which could be attributed to Java being the most popular language in Germany for software engineers as it is used to build highly scalable applications for a multitude of industries. Most enterprise services rely on Java to power the applications that enable the day-to-day running of businesses, such as payroll, inventory management, reporting, and so on. Germany also has a big financial sector that uses Java heavily for their homegrown tech, such as trading bots, retail banking systems, and other applications that the finance industry requires in order to remain competitive.

We might have expected the USA to have a high percentage of Java users, but it also makes a lot of sense that they don’t. There is a big technology stack to choose from and often a lot of the tech companies are at the forefront of that stack, so it could be that developers there don’t need the power or stability of Java and are using languages that allow them to build and test quickly.

Industry insights

According to the State of the Developer Ecosystem Survey 2020, more than a third of professional developers use Java as a primary language and Java remains the second primary language among professional developers after JavaScript.

Expert analysis
It is not surprising to see JavaScript and Java taking the leading positions as they are kind of paired together; developers who work with Java often write their frontend and any quick scripts in JavaScript. Python is probably third place due to the spread of machine learning. In general, we expect the web to be a big part of the developer ecosystem and so JavaScript, HTML and CSS, and PHP will always have solid standing. SQL is also always going to be around as there isn’t much that doesn’t require databases in some capacity. C++ is also kind of a solid language in that it is used for a lot of embedded applications, so it won’t be disappearing off the charts any time soon. C# though seems to be losing ground, and I guess if Java is high then C# will be low, as they are both very similar in terms of capabilities. As to why I think Java is so high in the sphere of professional development – it’s similar to what was mentioned about Germany. Most enterprise business services rely on Java to make them tick along. It’s not just the IT sector either – almost every company, be it in distribution, manufacturing, or banking, has IT services as part of their infrastructure, and these services, such as payroll or inventory management, are generally built with Java in the backend. So Java is used a lot by professional developers who work for these companies.

Types of software developed with Java

A quick look at the types of software developed with Java should shed some light on its usage statistics. At 52%, web services are the most popular sphere where Java is used according to the results of the State of the Developer Ecosystem 2020.

Expert analysis
It’s surprising to see Java so prevalent in Business intelligence / Data Science / Machine Learning, as you’d think this would be the realm of Python. The others are less surprising, as the backend in web services is often Java, and it makes sense for business applications to be written in Java as they will need to work with the backend and the databases too.

Top industries where Java is used

Now that we know why Java is used by so many professional developers, let’s look specifically at the industries Java is used in.

According to the Developer Ecosystem Survey 2020, Java programmers work mainly in IT Services (42%) and Finance and FinTech (44%), but that is not to say Java is not used in other industries.

Expert analysis
The Finance and FinTech sector is mostly about financial exchanges, retail banking systems, creating calculating engines and developing homegrown custom tools and services to make the company competitive on the market. Finance and FinTech are pretty much established in Java so there is no surprise here. This is the same with IT Services, as many payroll systems and inventory management services for non-IT companies are built on Java. The other industries are interesting though. Mobile development is probably high because of Android and so Java is being used in this capacity. Big Data and Data Analysis are very interesting as this industry is being led by Python, but there may be some use for Java and JVM languages in the backend. Software development tools, well, certainly. JetBrains IDEs are currently built with Java. The other industries though are a bit of an enigma, in fact, it would be really interesting to hear about how Java is used in these industries.

Java tools

Java versions

Java 8 remains the most popular version. It is used by 75% of professional developers who use Java as their primary language. The graph below shows the distribution of Java versions given that developers choose several of them in the Developer Ecosystem Survey 2020.

Expert analysis
There are a few factors contributing to why Java 8 is so popular. Firstly, it has everything a typical Java developer needs from the language, it has lambdas and streams and it is generally a nice easy version to use. Also, people have been really reluctant to move to Java 9. Java 9 introduced some big architectural changes and people are scared these changes will break their applications that are built in Java 8. On top of this, Oracle introduced bi-yearly releases, and so not all releases are supported for a long time so Java 9, Java 10, Java 12, and Java 13 are only supported for 6 months, which is probably why they all have such a very small number of users. Java 13 is only as high as it is because when this survey was out it was the newest version, and so you can expect the numbers to drop in a few months.
Java 11 came out in 2018, it is the most recent version with long term support. A lot of enterprises still haven’t moved to it yet, because they are worried that moving past Java 9 (with its architectural changes) will break everything, also Java 11 introduced new licensing and new subscription so it came with the added fear that if you use the wrong version, in the wrong way, Oracle will fine you. The final big factor for why many developers are not updating to Java 11 is that it doesn’t have many new exciting new features, so the risk of upgrading has not been mitigated by the abilities of the language. Java 17 will be the next version with long term support and it comes with loads of new features, but doing a straight update from Java 8 to Java 17 will come with its own issues.
My prediction is that I think the next long-term version, Java 17, will be more popular than the last LTS (long term support release) Java 11. Still, as preparation for Java 17, and I really can’t stress this enough, I’d recommend first updating your codebase to Java 11 and then to Java 17, to avoid big problems.

Popular application servers

For the last 3 years, Apache Tomcat has remained the most popular application server while the use of JBoss EAP and WildFly has halved. The data given is from all the developers who use Java as their primary language that participated in the Developer Ecosystem Survey in 2018 and 2020.

Expert analysis
Jetty takes second place, but it does seem surprisingly low. It could be that some developers that are using Spring Boot and other microservice frameworks may not realize what they’re using under the hood – they may be using Tomcat or Jetty without being aware of it.

Top-5 web frameworks

Spring Boot which had the same popularity as Spring MVC in 2018, has now become more popular in 2020 . The data given is from all the developers who use Java as their primary language.

Expert analysis
This is basically just confirming that Spring owns the market. That there are still people using Struts 1 can almost certainly only be doing so for legacy applications.

Top-5 JVM profilers

The State of the Developer Ecosystem Survey 2020 shows that VisualVM is used by 24% of users while one half uses none. The data given is from all the developers who use Java as their primary language.

Top-5 IDE/editors

IntelliJ IDEA increased its share from 55% in 2018 to 72% in 2020 while use of the other 4 has decreased which is reported by the Developer Ecosystem Survey 2018 and 2020.

Expert analysis
Still, we don’t deny the information could be a bit skewed – even with the weighting we give to our survey results – given that this is from the JetBrains State of Developer Ecosystem survey, and one of JetBrains main products is IntelliJ IDEA. However, that is not to say that this is not totally unreasonable, as if we look at other surveys, IntelliJ IDEA is usually one the most used IDEs, and usually has around a 55-60% share of users. VS Code is growing which is concerning, not from a competitive point of view but actually from the point of view that there is clearly a lack of understanding of what an IDE gives you. VS Code is a code editor with some features that you’d find in an IDE, and extensions that can provide additional functionality – so if people are turning to VS Code for developing it may imply that developers don’t know what a fully-featured IDE can give them. In the web space it is understandable to use an editor as web developers are typically working with dynamic languages, and often use other tools like browser plugins to give them what they need. But in Java, especially professional Java, you really get a lot out of a good tool that has integration with the application server and you can really use the analysis and refactoring and everything.

An update from our expert
I can see that by using an abridged and edited version of my analysis of the data for this blog post that I’ve unintentionally spread confusion. I’d like to clarify the intention behind my comments on developers and IDEs. For me, if developers don’t understand what IntelliJ IDEA gives them as a fully-featured IDE, that’s a failure on my part, since it has been my job for six years to educate developers on what an IDE (specifically IntelliJ IDEA) can do for you. I feel very strongly that one should never blame users, or prospective users, for failing to understand a product.

My personal viewpoint on IDEs for Java developers comes from having been a Java developer for 20+ years, working on production Java projects large and small. I can’t imagine trying to create a complex enterprise application without the considerable help you get from an IDE like IntelliJ IDEA. I have also seen lots of developers using VS Code and I completely see the use cases that code editors cover well. There’s always room for more than one tool in your toolkit, and understanding what a tool does well helps us pick the right one for the right job.

Most discussed Java tools and other languages

Java is often discussed in IT communities, one of which is Stack Overflow. We took the data from the Q&A section to find out which tags occur most with “java”. The vertical axis shows the mentions with Java while the horizontal indicates the total number of occurrences of the tags.

Expert analysis
This chart may be useful for users who want to make sure they’re using the right technologies or look at tools for them. The languages are kind of interesting, but this is probably the way it is because people are searching for comparisons between Java and other languages. Regular expressions are the kind of niche things people struggle with but it is not surprising they made the list.

Hot topics in the Java community

Java discussions

We analyzed posts on the “java” subreddit and found the topics that are most discussed by Java users on Reddit.

Expert analysis
These are exactly the kinds of topics I expect to see. For instance, people who code in Java will always be interested in whether this language is still in demand, after all, it is getting on a bit. We just celebrated 25 years of Java and so people want to check it is not outdated and legacy and that it is still valid. Especially, if they are just coming out of university and don’t yet know if the language they have learned is going to provide them with job opportunities. Deployment of Java in containers is a really hot topic, it is something that everybody wants to know, including me, but can find little information on. I am not surprised about the topic of performance optimization, though I think that this subject is a little redundant as most applications don’t realistically need optimisation from developers, though so many developers believe it is an important career skill. Making backend and frontend work together can also be very complex and I can imagine there being a lot of questions about this.

]]>
https://blog.jetbrains.com/zh-hans/idea/2020/09/a-picture-of-java-in-2020/ https://blog.jetbrains.com/ru/idea/2020/09/a-picture-of-java-in-2020/ https://blog.jetbrains.com/ko/idea/2020/09/a-picture-of-java-in-2020/ https://blog.jetbrains.com/ja/idea/2020/09/a-picture-of-java-in-2020/ https://blog.jetbrains.com/de/idea/2020/09/a-picture-of-java-in-2020/
The State of Developer Ecosystem 2020 https://blog.jetbrains.com/blog/2020/06/11/the-state-of-developer-ecosystem-2020/ https://blog.jetbrains.com/blog/2020/06/11/the-state-of-developer-ecosystem-2020/#respond Thu, 11 Jun 2020 12:00:34 +0000 https://blog.jetbrains.com/?p=10726 Check out the fourth annual JetBrains report on the state of the developer ecosystem! 

This year it includes more topics than ever before, as well as insights into the lives of developers.

Along with the 15 languages and dozens of technologies we’ve covered before, this year we’ve added some new sections: R language, Microservices, Testing, Big Data, and even developer lifestyles!

This time we adopted a new methodology that let us include far more responses than in previous years. This report is based on the opinion and experiences of almost 20,000 developers.

1200x675_blog_post_with_border

Here are just a few of the fascinating facts we’ve uncovered:

  • Python has overtaken Java in the list of languages used in the last 12 months, but Java is still the most widespread primary language.
  • Go, Kotlin, and Python are the top 3 languages developers are planning to adopt or migrate to.
  • Websites are the most common type of application that developers work on. Almost 70% of developers who work on websites are involved in backend development.
  • The main hobby developers pursue in their free time is… drum roll, please… programming! 

We will share the complete results along with the anonymized raw data later, so stay tuned!

VIEW THE STATE OF DEVELOPER ECOSYSTEM 2020 REPORT

We would like to thank every one of the 34,076 developers who took part in the survey. You’ve helped us create an up-to-date picture of the developer world, share exciting facts with the community, and even opened our eyes to new horizons and ideas to improve our products. Thank you!

Do you enjoy learning new things about the Ecosystem and the development community? Join our Research panel! You’ll be first in line to participate in our Developer Ecosystem Survey 2021, as well as many other surveys and other research activities like interviews and UX studies. Our panelists are eligible for cool prizes, too.

]]>
https://blog.jetbrains.com/blog/2020/06/11/the-state-of-developer-ecosystem-2020/feed/ 0
A First-Hand Insight into Marketing Research at JetBrains https://blog.jetbrains.com/team/2019/02/12/a-first-hand-insight-into-marketing-research-at-jetbrains/ https://blog.jetbrains.com/team/2019/02/12/a-first-hand-insight-into-marketing-research-at-jetbrains/#respond Tue, 12 Feb 2019 10:19:25 +0000 https://blog.jetbrains.com/wp-content/uploads/2019/02/team-Maria-Antropova-610x407.jpg https://blog.jetbrains.com/team/?p=761 Kotlin Developer Advocate Eugene Petrenko talked with Maria Antropova, Head of the JetBrains Marketing Research department, about her work, her team, their current tasks, and future plans.

Maria Antropova

Your team has been around for quite a while. How did you start out and what kinds of research do you do?

It was back in 2012, when I came to the ReSharper team as an analyst. As more analysts joined me over time, we formed a team as part of the Marketing department. We started with product surveys, market research, and sales analysis—small-scale tasks that addressed our colleagues’ ad hoc requests at the time.

Today, the Research team is involved in not only traditional marketing research, which mostly includes surveys and analysis of open-source information. We also conduct pricing research, design user personas, analyze the popularity of various technologies, do UX research, and build statistical models. Another area of focus for our team is serving as a kind of middleman between our colleagues and the internal statistical systems at JetBrains. Upon request, we export and analyze data from a variety of internal and external sources.

Most of our tasks are associated with surveys. In our annual Developer Ecosystem Survey, we study the developer ecosystem as a whole and explore its parts in projects such as the Python Developers Survey which is conducted together with the Python Software Foundation. By the way, right now we are conducting our third Developer Ecosystem Survey and invite everyone to participate.

How did the Developer Ecosystem Survey come about?

The idea of running a survey like this was already being considered a long time ago. Let me check quickly… the first related request in YouTrack dates back to November 4, 2013. In the beginning, it was just a concept. I was seeing other reports about the developer community and felt that it would be cool to explore the ecosystem, to see what’s going on there, what makes it tick, and how it changes with time. Businesses require global, representative, and easily accessible data, but there just wasn’t much available. However, at that point, there were no articulated requests from other teams for such a large-scale study, and, within the Research team, we could not yet tell exactly how we might be able to apply any potential results. This is why we did not launch this project back then.

After a while, our understanding of its potential started to take shape and we began putting the survey into production. It quickly became our team’s flagship ongoing project. What had changed? First of all, at some point, as we added more and more surveys to the pipeline, it made more sense to optimize things by running one large-scale annual survey.

So how we do this is we combine the collected survey data with our statistical model, which uses macroeconomic data to predict the number of developers in different countries and the distribution of programming languages across the world, and this estimates the popularity and viability of various technologies.

Second, we felt that we had gained enough expertise and fine-tuned our survey distribution and result validation processes, enough to tackle an annual survey of this scale. Importantly, other teams have found our work useful and practical, which really encourages us and keeps us motivated.

Today, we conduct about ten surveys every month (including internal, event, and partner surveys), but the Developer Ecosystem remains our biggest source of useful data and insight.

How difficult is it to run the Developer Ecosystem Survey? How much time does it take?

To give you an idea of the scale, we estimate it’s going to about nine months to go from designing the Developer Ecosystem Survey 2019 to publishing the infographics. Enough time to have a baby! The reason it takes so long is there’s just an awful lot of questions. Every year we have to double-check the logic of the survey, make sure that all the questions are still relevant, and add new ones, if necessary. To do this, we coordinate the content with every product team and the Marketing department.
Collecting data also takes time: we must clearly define the distribution channels for the survey and gather the required number of responses.

After the first Developer Ecosystem Survey, some of our colleagues at JetBrains raised questions about how representative our results were. After all, much of the audience we reach is part of the JetBrains community, which may differ from the developer community as a whole—just as it would with any other company. Keeping this in mind, we distribute the Developer Ecosystem Survey in two ways: through our company’s channels and advertising channels like Twitter, Facebook, Google AdWords, and others. We are aware that there is still room for bias, as people are more likely to take a survey conducted by a company they know. However, having analyzed the results, we found out that they weren’t that different across the distribution channels (except for the questions dealing with JetBrains products), and were pretty consistent with the findings from third-party studies.

You’ve mentioned that you received the task for this survey through your issue tracker. I’d like to know more about your team’s process. Who can approach you with a task?

We mainly respond to requests from other teams, and in doing so we’ve been trying to follow the principles of internal consulting. This means that we not only run the studies requested by the ‘customer’ and report on the results, but we also work with them to find ways to apply these results practically and benefit from them. Sometimes it works, sometimes it doesn’t, but the approach seems to have its merits. In fact, anyone at JetBrains, regardless of their position, can approach us with a task, propose an idea, or discuss some hypotheses with us. If for some reason we cannot give them a good answer, we tell them so.

Recently, we’ve been initiating more and more studies ourselves. We do this at our own risk. Without an external customer, we do the work ahead of time, just in case someone needs it; but on the flip side, there’s no guarantee that anyone will ever need it. Then again, that’s how almost all of our projects started—with us looking for colleagues in other teams who might be interested in one topic or another that we proposed. When the benefits are tangible, the project comes to life. This strategy has been working for us, and it’s a lot like how product development works at JetBrains, too.

Absolutely. If you don’t know for sure if an idea will take off, you try your best and see what happens. Still, your area is different from software development. What challenges do you face, for example when interacting with colleagues?

Conducting a research study involves a lot of complexities associated with the design and implementation—the kinds they write about in all the textbooks and talk about in classes. All kinds of bias tend to come up, and in quantitative studies, there’s also the issue of data quality.

As for our colleagues, we always have to justify the validity of what we are doing for them. For example, if a customer is unhappy with the results of a survey, various reasons may be at play. There may or may not be some professional fault on our part. In such scenarios, it is very important to exchange opinions and figure out whether there’s a mismatch between the customer’s expectations and the results we’ve obtained, or if it was us who missed something. This is more typical of technology-specific studies, where we don’t analyze markets but deal with more special product-related tasks.

JetBrains makes over 20 products, all of them targeting different technologies and different markets. No matter how hard we try, we cannot be experts in all the areas of our company’s work, even though everyone on our team has experience in software development and solving applied problems in programming. This is why we are now trying to engage our colleagues from product teams as experts at all stages of research, and this is helping a lot. At some point, teams may start hiring new analysts to help with their specific internal product-related tasks. This is already happening to a degree.

How is your team’s work organized on large-scale projects? Do you find yourself needing a manager, or a ‘communicator’?

‘Manager’ would be an overstatement. We have no managers who would only manage how others work on a project. We have a lead analyst assigned to every project, and they take care of all the administrative tasks. I manage the team as a whole, but I also have research tasks of my own. Besides, I always review the findings of my teammates.

We also have a Technical Lead on our team who takes care of the entire infrastructure and is responsible for the quality of the data we use. Then there are two developers. One specializes in databases and helps us with SQL and ETL. The other is engaged in full-stack development and helps us visualize the reports and prepare the infographics. We also have analysts who do market and quality research. And then there are the technical analysts who actually are data scientists, it’s just that we are so used to calling them this way that it has kind of stuck. Speaking of data scientists, we are currently looking for one and have a job posting on our website. We are hoping to find a cool person to join our team and help us build statistical models.

By the way, I am pretty happy with the latest trends in the job market. Five years ago, when we were looking for our first technical analyst, we didn’t have a lot of responses and there were only a few suitable candidates. Most of the applicants worked with SPSS, a package for statistical computing with a graphical user interface. That’s not R where you write code—it’s a system designed for sociology and psychology studies. You can write scripts there, too, but they are not quite as flexible or very practical.

Can you tell me more about the technologies you use?

R is our primary language—all the automation and data processing scripts are in R. Surveys are almost entirely automated. After we receive the data, it is processed with an R script (which we write before launching the survey), and the report is automatically generated in a Google Doc, which contains all the charts. All that’s left to do then is to draw conclusions manually.

In terms of other technologies, we run builds in TeamCity and keep our code on GitHub.

Is it true that a minor data-processing error can be fixed within minutes?

It is now. We can change a few lines of code, and a new Google Doc will be ready in a matter of minutes.

That’s awesome!

In fact, data processing and report generation have become some of the fastest stages in the whole process.

Not so long ago, we decided to completely reconsider how we work on surveys. Now we write data processing code before launching a survey. This allows us to process the data instantly, test the survey, and catch logic bugs as they appear. Logic defines the branching of a survey based on the respondent’s answers. When someone takes a poll, they are smoothly redirected through its different branches.

So, we write code, test what needs to be tested, and then perform manual testing. Next, we launch an internal pilot to try out the survey on a small group of JetBrains employees. Then we do the real pilot, using the first 100 responses from the actual survey audience to make sure everything is fine.

When we need help from designers, we try to involve them as early as possible. Many teams contribute to the making of a survey and preparing the infographics, including: email marketing and Internet marketing specialists, web developers, designers, translators, product marketing managers, and others.

How do you use SurveyGizmo? Does it show results in real time?

SurveyGizmo offers real-time reports, which are good for rough estimations. But it’s noisy data (with bots, duplicates, and fakes), so you need to export it and prepare a report. To develop our surveys in SurveyGizmo, we use the UI. You can’t make a whole survey through API alone—the logic still has to be written manually. Naturally, we have a library of reusable questions. But even though we have perfected the wording over the years, every survey is subject to proofreading. We translate the Developer Ecosystem Survey into eight languages to counter any bias in favor of English speakers. We use the SurveyGizmo API to purge data in order to stay compliant with GDPR. Survey results are exported through the API as well.

What else has your team been up to?

A year ago, we started analyzing local markets. We’ve been exploring promoting our products in specific countries and regions of the world. Entering a new local market is a tough proposition: you need to understand what’s going on there, how it’s different, how the competition is doing, whether you’ll have to localize your products or if the default English version will do, and so on. We’ve compiled a list of countries for analysis using a statistical model that takes into account many different factors, and then coordinated the list with the Sales department. For each country, we conducted PESTLE analysis, investigated the IT sector, and analyzed our internal statistics.

Another interesting project we’re running is coming up with user personas. A user persona is a fictional representation of a group of people who use a company’s products, services, or communication channels in a similar way or pattern. Even though they are generalized fictional characters, personas usually have a face, a name, and some distinctive features of their biography. So far, we’ve interviewed PyCharm users and designed user personas for the PyCharm development team.

How does someone go about joining your team? Where can they apply?

If what I’ve just told you strikes a chord with someone, they can always send a CV to our HR department. We are ready to consider promising candidates, even if there isn’t an open position. The ideal Data Scientist for us has programming experience and codes in R or Python. Knowledge of SPSS, MATLAB, or Statistica is not required as these systems are not part of our technology stack. It is necessary though to have experience in creating statistical models. We are looking for people who are fluent in English with good writing skills, which can be a decisive factor for certain roles. For example, right now we are looking for a UX researcher with an excellent command of English to communicate with our English-speaking users.

What’s next for the Research team?

As the company is growing rapidly, we are receiving more and more tasks, and we have several open positions which we need to fill with skilled new colleagues. We will continue to make our processes more efficient by automating everything that can be automated. We are also planning to adapt and adopt several new types of research studies and will be paying more attention to how their findings are applied.

Thanks a lot, Maria!

Eugene Petrenko is a Developer Advocate at JetBrains, software developer, speaker, and blogger. His interests include software development, distributed systems design, cloud computing, and programming languages. Eugene holds a PhD in computer science; he writes code in Kotlin, Go, Java, C/C++, Kotlin/Native, and JavaScript. A Kotlin fan for years, he started using Kotlin before 1.0 and completed his first production Kotlin app back in 2013.

Eugene Petrenko

]]>
https://blog.jetbrains.com/team/2019/02/12/a-first-hand-insight-into-marketing-research-at-jetbrains/feed/ 0