10 ms·
Wow, 39.9% of respondents mark themselves as "Expert" at CSS. I've been doing front-end in various guises for 12 years and I would only rank myself maybe 5 or 6
by mouzogu 7y ago
Wow, 39.9% of respondents mark themselves as "Expert" at CSS. I've been doing front-end in various guises for 12 years and I would only rank myself maybe 5 or 6 out of 10.
As I've gotten more experienced in my career I've become more aware of what I don't know as opposed to what I do know.
It's funny that "Advanced" is mastering animations and transitions whereas "Expert" is being able to develop a full-front end consistently. I know many people that can build a front end, myself included but are nowhere near mastering anything, especially animations and css transitions.
I write this in jest of course. As we all know, self-assessment is about as reliable as...
- rhacker 7y agoProbably because a lot of people have been working with it for a long time (like you). I think I started 20 years ago - but I just learned like 40% of css grid this past weekend. (I've been a happy flexbox user for a few years) But I know what you're saying. I also noticed a few percentage points of people saying they have 20+ years or React experience at this point.
- jvke 7y agoThe `20+ years` demographic refers to 20+ years of JavaScript experience, AFAICT.
- cheapsteak 7y agoI had the same misunderstanding, thanks for pointing that out
- rhacker 7y agoahh thanks for that, I misread the survey notes on that.
- deleted 7y ago[deleted]
- sgdesign 7y ago(Survey author) yes, it seems like I made a mistake with the different level descriptions. For me knowing how to do things like transitions and animations is comparatively "simpler" than being able to architecture an entire CSS front-end including managing a design systems, naming, specificity, etc. but I guess many respondents didn't see things that way.
- aidos 7y agoI don’t think you’re wrong on that front. Because I seldom use animations, for example, I tend to have to look up the syntax, but that’s no big deal. Knowing how to actually build things from scratch in a way that survives the beating of time is something else. It’s much harder to quantify though. Also, these days you have the css in js solutions, which means you can build the app by dropping in the css where you need it, so you get to tick that box, but if you tried to do it the “traditional” way you might not even know where to start. EDIT two of my more common phrases at work are “you could just use css for that” and “you don’t need to use flex box to do that”. I’ve found that there’s a lot more using css to style things in isolation without understanding the power and performance it brings to the table. I spend more time trying to stop react renders from happening because css should have just been used than I do on the micro detail of ordering things a certain way to avoid repaints.
- uasm 7y ago> "(Survey author) yes, it seems like I made a mistake with the different level descriptions. For me knowing how to do things like transitions and animations is comparatively "simpler" than being able to architecture an entire CSS front-end including managing a design systems, naming, specificity, etc. but I guess many respondents didn't see things that way." So you spun up a survey with questions based entirely on personal anecdata, and subjective ideas of what expertise is? And now it's the "State of JS in 2019"? I'd say that's quite awkward. Wouldn't you agree?
- mouzogu 7y agoI don't think you made a mistake. This is just one of those topics that for some is subjective and for other is objective. As others have mentioned, getting people to assess themselves accurately is very difficult. We always seem to skew towards the overly-confident side - not least because this what is usually rewarded in the job market. Although it might be worth considering a simpler heuristic in the future as the distinction between Advanced and Expert is somewhat vague and perhaps ultimately not very informative.
- deleted 7y ago[deleted]
- 734129837261 7y agoI've been taking job applications from other frontend developers in the Silicon Valley fortune 500 area of work. Most resumes that get past the initial recruiter interview and make it to a tech review and claim expert knowledge of CSS... They don't. They don't know shit. They can often not answer basic flexbox questions. Not to mention CSS grid questions. And if you start questioning them about CSS animation performance (paint, composite, layout) they rarely–if ever–even get your point. Most applicants we get don't even understand basic HTML semantics. I mean, shit, I've seen applicants submit their application projects with EVERYTHING being a div-element. Including links and buttons, which would have onClick events... The technical aspect of frontend development allows backend developers to bleed into the frontend. "Oh, look, typescript! Finally JS looks like Java! Which means that silly HTML and CSS is going to be easy!" Buzz off back to the backend, you strong-typed clown who doesn't understand what UX and a11y mean. I could go on and on about the horror that is typescript. But that's for another day. I know most people love it. I fucking hate it. I'm using it, because I have to, but I never needed it. It literally offers me nothing of value. But on topic: CSS experts? They are rare. Maybe 1 in ever 30 applicants can actually claim that level of knowledge.
- gherkinnn 7y agoCSS is just key-value pairs. How hard can it be? /s There is absolutely an air of arrogance when people approach seemingly simple things such as styling. And then they implement all sorts of atrocities.
- davnicwil 7y agoYeah, I think it might be similar to a lot of things actually. Maybe painting is a good example. Like, the techniques of using a brush in different ways can't be that difficult to learn, but putting them to use to create something great is something else entirely. You can imagine someone learning those brush techniques and becoming quite confident that they could, theoretically, paint a whole painting, without ever trying and learning the difference.
- chasd00 7y agoYou see this arrogance everywhere and it's really annoying. The classic joke about it is the "..first assume a perfectly spherical frictionless horse.." one. or https://en.wikipedia.org/wiki/Spherical_cow https://en.wikipedia.org/wiki/Spherical_cow
- trungdq88 7y agoThe description of "Expert" in the survey probably caused this. "Expert: Being able to style an entire front-end from scratch following a consistent methodology" Meanwhile, "Advanced: Mastering animations, interactions, transitions, etc." I can certainly "style an entire front-end from scratch" without "mastering animations".
- gherkinnn 7y agoThis is makes little sense. According to this I’m an expert but not advanced. CSS architecture (for a lack of a better term) is completely different from its more playful aspects. Stacking on on top of the other is just silly.
- teniutza 7y agoExactly my reaction. I do think that you can create stunning animations and for that you need some expertise but animations are the "the basis" for a complete and successful front-end.
- mcv 7y agoThe "expert" description is far too vague and easily interpreted as less advanced than the "advanced" category. Results for this question are meaningless.
- hoorayimhelping 7y agoYou're absolutely right. I'd bet the CSS experts understand the context of the question and the difficulty involved in "styling an entire front-end app from scratch with consistency." I think a lot of novices looked at that and thought it meant using one of the css grid / framework libraries and making a website. The question hides how difficult that actually is with CSS and how easy it seems if you've never had to do it.
- BiteCode_dev 7y agoHalf of my income is from training people in JS and Python. I have 50% of those missions that are requested to be "advanced" courses. The vast majority of the participants are not up to the task. They are paid professionnals, but they consistently overestimate they level, skills and needs. They often are not very good, and of course, they don't know what they don't know. So I always check for that first, and rewrite my course on the fly to include the untold pre-requisites I identify. I don't tell them I do this to avoid making them feel bad. Nobody wants to hear "dude, you wanna learn react and you never used an arrow function, wtf ?" even if being comfy with JS is a listed requirement on the site. Bottom line: most devs are not experts, and don't have the ability to assess that. But more importantly, it's enough for them to be productive and most industries don't need more.
- afarrell 7y agoOne thing I miss about university is exams. I miss being able to focus for just 2 hours on a task that would then give me a clear view on how well I knew the important mental models of a topic.
- Already__Taken 7y agoIf I've learnt anything from teaching kids it's the ones really good at it when we start are completely dwarfed by the kids who sucked at it. You can get kinda far without really understanding what's going on, but if you stop and have to learn something really fundamental the "good" kids just seems to manage. Once things pick up they can excel because the have truly moved on. the previously "good" ones are still copy/pasting from past work or tutorials and get brackets wrong whereas the "slow" ones are now perfectly happy writing from scratch and thinking for themselves.
- BiteCode_dev 7y agoIt's not just the people, some topics leads to that. E.g you can get far with just a few git commands, but one day, you will encounter a situation that is like a brick wall because you have no idea what's going on inside. Today, most JS devs don't know how "this" works, most python devs never used pdb, most git users picture a branch like a diverging chain of commits and not a moving label, etc. Again it's not the people's fault: they are required to be productive very quickly. There is competitive pressure. So they aim for what's good enough to make things that looks right. Can you blame them ? Few jobs pay devs to update their skill on company time, and not everyone will spend an hour a day learning new things instead of playing with the kids, doing exercice or going out with friends.
- AdrienLemaire 7y agoProbably the Dunning-Kruger effect in action :) Wikipedia puts it well: > It's a cognitive bias in which people assess their cognitive ability as greater than it is. It is related to the cognitive bias of illusory superiority and comes from the inability of people to recognize their lack of ability. Without the self-awareness of metacognition, people cannot objectively evaluate their competence or incompetence. https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
- Diesel555 7y agohttps://www.youtube.com/watch?v=y50i1bI2uN4&feature=youtu.be https://www.youtube.com/watch?v=y50i1bI2uN4&feature=youtu.be fun explanation.
- donkeyd 7y agoI got a resume a while ago where the applicant rated their skills 1-5 stars. They has rated themselves either 3 or 4 out of 5 in Node.js. When asking what they actually did with node, they explained they built some proof of concept once. I got to see the code and it was maybe 4 weeks of work for a beginner... At that time I was leading a small Node.js dev team and I would maybe rate myself 3/5 in Node. We didn't end up hiring them.
- tybit 7y agoTo be honest the problem here is the question not the answer. It’s a bad question and shouldn’t be asked.
- donkeyd 7y agoWhy is it bad to ask about the actual experience someone had with something that I will be hiring them for? That makes no sense to me.
- fatbird 7y agoI'd say that the topic of "node.js" skill covers such a wide range of skills, experience and scenarios, that you'd need to be an expert already to judge how little you know. Someone who'd applied it to a single domain successfully can reasonably feel like they've got a good handle on it. Your question is essentially a proxy for server-side architectures and applications, not nodejs itself. It invites misrepresentation.
- donkeyd 7y agoI'm still not grasping how the question "what have you actually built with node?" is "a proxy for server-side architectures and applications, not nodejs itself." and "invites misrepresentation." I feel like you guys think I asked them to rate themselves 1-5 on the subject. I did not, I got their resume, where they themselves rated them on the subject. With my question I was just checking whether that self-assessment was correct. I don't see how that is a bad question... Should I just believe their resume? Should I give them some programming assignments? Should I ask them to write a complex algo on a white board? I feel like just asking is a good way, personally, but maybe I'm wrong.
- perk 7y agoWrote my first piece of CSS in 1998, been doing it ever since. On a good day I'm a 4 :)
- krsdcbl 7y agoSecond this - I'd have put the requirements of "expert" to be "advanced", skipped the rather small part of "know how to animation" as it doesn't constitute such a "level" for itself as much as beeing "one of the tools you'd probably know if you think you can write a frontend from scratch in css". The "expert" category would rather be "having a deep understanding of what the browser does with styles and how the concepts of display etc actually work" for me. But it's really hard to draw a line, css allows for awful hacky solutions that end up looking like they work, and many people "able to write a full frontend project" will produce rather bad CSS irl.
- baybal2 7y agoIt is almost 2020, and browsers still trip on simplest CSS "tricks." I think the best CSS compatibility across the board was during the time of ACID series tests, and has declined since.
- crazypython 7y agoI design in Sketchapp and then write my code accordingly. Sketch let's me make a consistent style. I know all of sketchapp's keyboard shortcuts.
- rustybolt 7y agoI'd guess it is because the basis of CSS is pretty simple. "You have selectors and styles, and I can just can look them up, so I guess I know all there is to know about it."