Results of the Ultimate CSS Survey 2017
On April 26 I posted this year’s version of the Ultimate CSS Survey, a way for us to gather information from CSS developers on their practices, habits, knowledge, and understanding of CSS.
More than 1,600 people filled out the survey over the past 6 weeks and now it’s time to show you the numbers. I’ve embedded the results below, and after the embed I’ve posted some of my follow-up comments and observations, especially in comparison to last year’s results. I’ve also included notes on comments that many readers posted in the survey (included as an optional field).
Use the up/down arrows to cycle through the survey results ↑
What is the Goal of the Survey?
One person wanted to know why we were doing this survey and whether the feedback would change anything. As an editor here at SitePoint, my main priority is to understand my readers. I want to know what level they’re at with different technologies, which CSS features they work with the most, which ones give them the most trouble, and what CSS-related tooling they incorporate. It also helps to know if developers are following best practices. Understanding these things will help us here at SitePoint to commission new articles and new Premium Content that gives readers the most benefit.
Also, many people last year and this year pointed out that the survey has given them an introduction to CSS tools, features, and technologies that they had never heard of before or maybe had forgotten about. And of course, the results might help some developers to see which direction things are trending, which can help with upgrading skills and what to look for in job searches.
Comments on the Results
Feel free to analyze the results above on your own, but here are some points that stand out (I’ve included links to different subjects):
General Stuff and Best Practices
- When asked to describe themselves (Question 2), 30% of respondents said they are full-stack developers. In last year’s survey, I neglected to include an option for “full-stack”, so it’s hard to compare results. I’m surprised so many respondents are full-stack. I think to some extent that’s a reflection of the SitePoint readership.
- Another big increase is the number of developers using a CSS methodology (Question 32). This year, 32% said they’re using a predefined methodology compared to 23% last year. BEM use in particular rose from 21% last year to 29% this year.
- Only 23% of respondents said they produce documentation for their CSS (Question 39), which is down from about 28% last year. I wouldn’t expect this number to be too high in general, but I’m surprised there was a dip.
- Testing CSS on a variety of mobile devices is on the increase (Question 41). About 82% do a moderate to thorough amount of mobile testing, compared to 72% last year.
- 8% of respondents said they still test on and support IE8, and 4% include IE6/7 (Question 42). Two respondents even said they support IE5.5. I think these numbers are a little higher than they should be.
- Generally speaking, more developers than last year are happy with the W3C and the standards process. (Questions 43 & 44)
- This year 23% of respondents said that they had attended a CSS conference (Question 48), which is a 6% increase from last year. Good to hear!
- More than 70% of respondents said they learn about CSS from viewing the source on random websites they come across (Question 50).
CSS Features
- More CSS developers are using rem units (Questions 11 & 12) for both typography and sizing in general in comparison to last year’s survey.
- One of the biggest increases from last year’s survey was (not surprisingly) the use of flexbox (Question 14). Last year 31% said they hadn’t started using it. This year, only 18% said that. Also, 62% said they are using flexbox on most or all new projects, compared to only 39% last year.
- More developers are using lesser-known CSS units like vw, vh, grad, turn, etc. (Question 24)
- The areas of CSS that developers have the most trouble with are: Pseudo-class expressions, CSS typography, styling forms, 3D animations, Grid Layout, and flexbox. (Questions 46 & 47)
Tools
- Use of CSS frameworks like Bootstrap and Foundation seems to be on the decline. Not a major decline, but there is a noticeable difference from last year to this year. (Questions 25 & 26)
- Sass and Less usage is on the decline while PostCSS use is way up from 19% to 30%. Similarly, use of lesser-known tools like CSS Modules and Pleeease is on the increase. (Question 28)
- Similar to last year, over 60% of respondents feel the features in preprocessors like Sass should be natively part of CSS. (Question 29)
- The most popular code editors and IDEs are Sublime Text, Atom, Visual Studio, and PHPStorm (Question 30). This fits well with the fact that so many that filled out the survey are full-stack devs.
- More than 50% of respondents said they’ve found a CSS-related bug in a browser (15% reported the bug). This seems a little high but I’m guessing many of these bugs turned out not to be bugs at all. (Question 34)
- A higher percentage of people this year feel that managing CSS via JavaScript (like some libraries are doing nowadays) is a good idea (37%, up from 30% last year). (Question 35)
Feedback from Respondents
Just like last year, we allowed respondents to fill out any general comments they had on the survey questions. Below I’ve summarized some of the comments:
- As expected, a number of people felt the survey had too many questions. This probably won’t change. This year’s was much shorter than last year’s, but there’s too much ground I want to cover and I’d rather get answers to all these subjects rather than trim it down just to get higher numbers of entries.
- Last year, many people chose “Grid Layout Module” for their primary layout technique, even though it was barely a standard yet. Those respondents thought this was referring to using a framework-based grid system. This year, I made it more clear what I meant and many people entered “Bootstrap” in the “other” field. I think it’s best to include an option for “framework” in the next survey, because most people seem to forget (or don’t know) that most grids are using floats (or another technique) behind the scenes.
- It might be good to include a question on CSS for internationalization, RTL languages, etc.
- Some still felt there should be a “doesn’t apply to me” answer for all questions. I think this is a result of people working on a single website with a CMS like WordPress, so certain questions don’t apply to everyone. I improved on this from last year, but there were still a few comments like this.
- Some readers wanted an emailed summary of their answers. I think this is a good idea, but I have no idea if this is possible with Typeform, the service SitePoint uses for surveys. We can look into it.
- For Question 22, “How often do you use the
!important
keyword?”, the answer “Only when absolutely necessary, but I always refactor later” is too specific. One user said they do it only when absolutely necessary, but they don’t refactor. In the future, I’ll just drop the part about refactoring. - A lot of people wanted questions to be included that aren’t really related to CSS (work environment, build process, etc). This is deliberately a CSS-only survey, so I’m only including questions that pertain to CSS. There are other surveys for more general stuff.
- A future survey will include questions about what JavaScript tools are used to manage CSS, seeing as that’s gaining more popularity. Multiple readers requested this.
- Some questions naturally assume that CSS is being used only for work. There are people who write CSS just as a hobby or similar, so it might be beneficial to have a question about that, or incorporate it into Question 2.
- A few people pointed out that Safari, not IE, is now their most troublesome browser when it comes to testing.
- For Question 34 on finding a browser bug, it might be good to have an option for people who don’t know how to report a bug, or who tried to report it but found a duplicate.
- Some other topics to consider for a future survey: CSS linting, Shadow DOM, Web Components.
Conclusion
So that’s it for this year’s survey. I hope you found the results to be interesting and maybe something in the survey has helped you to go down a new journey of learning that will make you a better and more informed developer going forward.