Eat your own dog food or eat your own hat:
software development at JetBrains
JetBrains is a leading software development company, with over 20 years of experience in the market. Working at the forefront of cutting-edge innovation has meant the company has accumulated a lot of software development expertise in this time. JetBrains now has more than 25 tools to help developers across all stages of the software development cycle. Their tools range from IDEs (integrated development environments), project management, code review, and continuous integration tools all the way through to the integrated team environment JetBrains Space, educational products and their own programming language Kotlin, which is trending now among developers.
The Reuters Global Thought Leadership film crew traveled to JetBrains’ R&D center in Munich, Germany to interview the team and talk about the way JetBrains creates its products and specifically the practice of dogfooding, and what it means for companies in the software development industry.
Dogfooding is when a company “eats its own dog food”, testing the products first fully on themselves, in real-world situations, a practice especially popular in the software development industry. But is dogfooding, in fact, a software development elixir or a dangerous path to go down? JetBrains experts give their take on the practice from their rich experience in the field and explain what anyone dogfooding their own products should be aware of.
JetBrains has always been in a unique position of being able to directly dogfood their own products: JetBrains teams are using the tools in their daily work long before ever bringing them to market. “Things that are useful for other developers are useful for ourselves,” says Maxim Shafirov, CEO & software developer. Indeed, since the company began back in 2000, with the creation of the first JetBrains product IntelliJ IDEA, the ideas for new tools has always come from an internal need.
On the one hand, dogfooding gives companies the advantage of being able to solve product-related problems such as UI/UX, but also with discovering functionality that real customers would expect from the product. Dogfooding helps JetBrains understand the users by stepping into their shoes: “There is no ‘them’, we are our [own] users, so we really understand what works, what doesn’t work, what we want to improve and so on,” Developer Advocate Svetlana Isakova mentions. Simply writing good code doesn’t result in developing the right product, and dogfooding helps address this issue.
On the other hand, dogfooding still has its limitations and is not a silver bullet for developing software. There are many situations where dogfooding must be combined with other practices or used carefully to ensure that the final product is correct for the target user. JetBrains is very well aware of these limitations and reveals their best practices to the world in this film.
Watch the video to learn more about dogfooding: what advantages and disadvantages it has and what the opportunities and threats of this approach are.