Market Size and Aptitude: Learning-Focused IDE

What’s on the table?

For my project with team members Amrita Paliparthi, Monique Ouk, and Neel Kishnani, we’re focusing on what we know best and firsthand: people who code. Our initial idea in this market space was creating an IDE focused on learning and improving, as many we’ve used in our Stanford CS education or otherwise have been unfriendly, hard to follow, or just unpleasant to look at.

 

Who do we have in mind?

Below is our team’s market size analysis, accounting for the different tiers of users in this space.

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.

 

Let’s get specific: interviews!

To better understand our market, we each conducted 2-3 interviews with potential users. I will summarize only the ones I conducted, and all names will be anonymized to fruits for the sake of privacy.

1. Banana, 2nd year undergraduate undeclared.

  • Background: has taken 106A, is currently in their 3rd week of 106B.
    • “I was nervous going into both classes because I feel like I don’t have a ton of CS background, and everyone else does.”
  • Most and/or most recent experience with: Pycharm, Qt creator
  • Favorite IDE: Pycharm
    • “I like the simplicity. The error messages look and feel like English, and I can see where I went wrong in my code.”
  • Least favorite IDE: Qt Creator
    • “The toughest thing for me was understanding what the red stuff meant at all. The error messages are very cryptic and doesn’t always point me to the right place or file. I have to do a lot of manual parsing in order to figure out what the long lines or words mean, since they’re hard to understand.”
  • Changing an existing feature: make error messages crystal clear without too much jargon, and just make the sentences shorter.
    • “One time, I had an error where I was comparing two different data types, and it look a super long sentence with weird jargon just for them to tell me that.”

2. Apple, 1st year master’s CS student.

  • Background: studied CS as undergraduate at a different university, a couple of tech internships.
  • Favorite IDE: VSCode
    • “I’m not even sure why, exactly, it’s my favorite. I’ve just come to appreciate that I can see all of my files cleanly and it looks and feels very organized.”
  • Least favorite IDE: IntelliJ
    • “It was so annoying to setup and use. I was in a software design class in my undergrad, and I remember I had to import libraries for certain programs that we were required to use… why couldn’t it just have everything I needed without the extra library downloads?”
  • Adding a feature: code concision / brevity. How can I clean up my style? Minimizing line count, catching random spaces I could have missed…

3. Orange, 3rd year undergraduate CS student.

  • Background: has taken 106A, 106B, and a couple of other CS classes at Stanford.
  • Most and/or most recent experience with: IntelliJ, VSCode
  • Favorite IDE: VSCode
    • “It has a steep learning curve, for sure. But once you get the hang of it, there’s so much you can do with it. You can download tons of extensions directly from the app, and you can do basically anything you want with those.”
  • Least favorite IDE: Pycharm
    • “When I was using Pycharm for 106A and first learning how to code, I had no understanding of the virtual environment. Pycharm didn’t let me see the file dependencies or how the files that I opened there would interact with my computer, my filesystem, and my terminal.”
  • Adding a feature: discuss runtime / complexity from the code you have written, if possible.

A couple of major takeaways are that my interviewees did not appreciate super fancy jargon in error messages and would appreciate the ability to assess not only functionality, but also style all within their IDE. After all, the Stanford 106s do emphasize functionality and style heavily. None of my interviewees particularly raved about one IDE, and answered the “Favorite IDE” question with prefaces such as “If I had to choose one…” Overall, participants were excited about a cleaner, friendlier IDE that could help them learn how to code better / tell them more as they go.

Jin-Hee Lee

About the author