How satisfied are people with Xcode?
This page contains analysis and opinion by Dmitrii Ivanov.
Our IDE is our most critical tool, so let’s dig into the survey data around to understand how people feel about it.
Predictably, the overwhelming majority of respondents use Xcode. Apple platform development includes a lot of UI development, and Xcode excels at that. It also has close integration with the device simulators, support for code-signing and uploading to the App Store. It’s tough to be independent of Xcode.
In the survey, the vast majority of responders are iOS developers, and about half of them don’t do any other development for Apple platforms. But how do these developers feel about the tool they use every day?
First of all, knowing how developers love to complain about their tools, the level of satisfaction is much higher than I expected!
But as I dug into the data, I found something interesting. The level of satisfaction varies between groups of people. If we slice the data according to different team sizes, we clearly see satisfaction with Xcode drop as team size increases:
|It’s just me!||7.3|
|Fewer than 5 people||6.8|
|Between 6 and 10 people||6.7|
|Between 11 and 15 people||6.8|
|Between 16 and 25 people||6.6|
|Between 26 and 50 people||6.5|
|More than 50 people||6.3|
Next, I looked at how many people use Xcode exclusively without any other code editors. It turns out to be 41% (939 out of 2260) of respondents, meaning that 59% use other code editing tools from time to time.
So let’s apply the same slicing as above to that data. If people in big teams are less satisfied with Xcode I would expect them to resort to some other tools more and indeed there was a clear correlation:
|Team size||% of people who only use Xcode|
|It’s just me!||50%|
|Fewer than 5 people||41%|
|Between 6 and 10 people||38%|
|More than 10 people||31%|
As team sizes increase, developers start using different tools. Larger teams tend to work on more significant projects, so it’s likely to be a function of the size of a project. As a project grows, more tasks besides writing and compiling code crop up, like editing markdown documentation, different configuration files, or build scripts. So developers see more and more use cases where some alternative is more efficient or more convenient than Xcode.
Surprisingly, if we look at the tools people use for Swift development that isn’t for iOS/watchOS/macOS/tvOS development, the numbers don’t differ much. Only about 10% of respondents are wholly independent of Xcode, and only 55% of all the responders use any other tool.
Finally, let’s take a look at what people might think is missing in Xcode:
More than half of all the responders checked something here. After applying different filtering and slicing to this result we can see the same correlation that we already see above:
|Team size||% of people who use third-party tools|
|It’s just me!||33%|
|Fewer than 5 people||60%|
|Between 6 and 10 people||74%|
|Between 11 and 15 people||78%|
|More than 15 people||83%|
The bigger the team, the more likely that they will need something beyond Xcode. This seems reasonable to me. Smaller projects tend to have less focus on testing, quality control, and documentation. But as a team gets bigger, and the pace of development calms down teams start adopting new tools to work faster, and better together.
Was there anything that could have been improved in this article? Let me know.