\n\n

Market Size and Attitude

Market Space:
Improving IDE’s to make them more user-friendly and conducive to learning.

Market Analysis:
TAM: Total Addressable Market

  • Anyone who uses an IDE / text editor for writing code, whether this is for a class, for work, for leisure, or anything else.
  • According to the 20th edition of the State of the Developer Nation report, there were 26.8 million active software developers in the world at the end of 2021.

SAM: Serviceable Available Market

  • Students in CS courses in the US, either introductory coding classes or classes that introduce a new language/framework.
  • Our targets will be those who are still in the learning phase of coding, since our IDE will focus on how to help you make smarter decisions as you write code.
  • According to a 2019 Ars Technica report, the US has around 65,000 CS graduates per year. This closely tracks changes in the number of students enrolled in introductory computer science courses per year.

SOM: Serviceable Obtainable Market

  • Within the scope of CS 177, the obtainable market will consist of students studying CS at Stanford. We’re aiming for roughly 10% of students who take CS106A/B, which equates to around 360 people.
  • There are ~1200 students per quarter across both classes, which means ~3600 for the whole year.

User Interviews / Key Quotes:
Interviewee #1, Stanford CS graduate. Background: First used an IDE in high school by downloading Eclipse to follow Mehran Sahami’s 106A lectures online. First computer science class was CS106B at Stanford.

  • “I prefer writing my code in a text editor, then running it in terminal and not having to deal with extra stuff on top.”
  • “QT Creator is so bad, I blocked it from my memory.” (It took him a long time to remember that he used QT Creator in CS106B.)
  • Very annoyed when an error message isn’t specific — “Oh shit, I have a NoneType. Why is it a NoneType? I have to go backwards to figure out at what point it became a NoneType, and then think about why it is one.”
  • “I don’t want an error message that just tells me what line an error is at. If an error says that NoneType object has no thing… Name the variable. Say specifically what thing is bad, rather than just the generic error.”
  • “A useful thing about IDEs is when they highlight obvious errors before you run the code.”

Interviewee #2, Stanford CS graduate + software engineer. Background: First used an IDE in high school by downloading Eclipse for Mehran Sahami’s 106A lectures. First computer science class was CS106A at Stanford.

  • Uses IntelliJ the most, but has no IDE preference
  • “IDEs can be very helpful with obvious errors, like a type mismatch or missing an import. IDEs can help reduce the amount of tedious manual checking I have to do.”
  • “Sometimes I’ll run the code outside of the IDE and it doesn’t work, and I’m like ‘Oh, you should have told me before I ran it.’”
  • Frustrated at less obvious error messages, where she knows something is wrong but is not given more detail about it.

A big recurring theme with my two user interviews is the desire to have more detailed, readable error messages. Both interviewees acknowledge that IDEs can be very helpful, but have been incredibly frustrating to use while learning in CS classes and to this day in the workplace as well.

Avatar

About the author