Software Development the JetBrains Way: Dogfooding and Other Key Principles

Posted on by Anastasia Chumak

JetBrains has turned 20, and over the years, we’ve honed methods for development that match the style, values, and needs of our company. These processes work so well for us that we want to share them with others. Dogfooding, for example, has always played a central role in the development of our products, and with this video we want to share its role in our creative process with you.

https://youtu.be/afZnpMZJa4A

In the software development industry, dogfooding is the practice of testing your products within your company, using them as the end users would. Effectively, you have to eat your own dog food to ensure that your product is of the highest quality.

We at JetBrains have always been in a good position to do this. Indeed, since 2000, when we started to create the first JetBrains product, the ideas for our tools have often developed in response to an internal need. The products we build, from IntelliJ IDEA to Kotlin and Space, are all designed first for ourselves, and we use them in our daily work.

Of course dogfooding is not a panacea, and in addition to its benefits, it also has a number of pitfalls that we discuss in this video.

On the one hand, the practice of dogfooding gives us the advantage of being able to solve product-related problems, such as UI/UX issues, early, before users have had a bad experience. It also helps us discover the functionality that real customers will expect from the product. Basically, dogfooding allows us to step into our users’ shoes. On its own, writing good code doesn’t necessarily result in developing the right product, and dogfooding helps us address this issue.

On the other hand, dogfooding is not a silver bullet for developing software. It can sometimes cause bias, and it must be combined with other practices or used carefully to ensure that the final product is appropriate for the target user. And in this video we examine our best practices for handling these situations.

Watch the video

Learn more about the way we create products at JetBrains and about how the products are made to meet not only our users’ high standards but also our own.

JetBrains
The Drive to Develop

Comments below can no longer be edited.

2 Responses to Software Development the JetBrains Way: Dogfooding and Other Key Principles

  1. Rafael Costa Martinazzi says:

    March 9, 2020

    I use your program and years, and one of the tools that impresses me most is the control of GIT / VCS, which I don’t see in any other tool. I would like to know if it is possible to create a standalone version of it. It would be very useful

  2. Mikhail says:

    March 11, 2020

    Regarding “dogfooding”: when do you plan to migrate IDEA Core code to Kotlin?
    Most of it is still implemented on plain Java, right?