Leser Patrick, ein IT-Softwarearchitekt, schrieb mir mit einer Frage, die ich wirklich interessant fand.
Für mein Unternehmen entwickle ich ein System, mit dem Entwickler überprüfen können, auf welchem Niveau sie sich für einen bestimmten Wissensbereich befinden. Für die meisten Bereiche legen wir 5 Stufen fest. Einer dieser Wissens- (und Fähigkeits-) Bereiche ist CSS. Kennen Sie gute Online-Materialien, die die Wissensstufen in CSS beschreiben? Und vorzugsweise mit Beispielen, damit der Entwickler selbst einschätzen kann, ob er/sie auf diesem Niveau ist?
Eine kleine Suche im Web zu diesem Thema wird Sie zu einem Artikel von Emil Stenström von Friendly Bit führen. Dies war eine interessante Betrachtung der Dinge, aber in diesem Artikel sind die Stufen 1-4 im Grunde Anfänger und 6 ist Super-Star. Das lässt den Rest der CSS-Entwicklungswelt auf einer Stufe 5 zurück.
Ich denke, wenn wir alle unsere Köpfe zusammenstecken, können wir ein besseres System entwickeln. Mein erster Gedanke ist, dass, wenn man nicht einmal weiß, was CSS ist, man keine Bewertung braucht, also müssen wir keine ganze Stufe dafür aufwenden. Wir können Stufe 1 für Anfänger und Stufe 5 für einen Meister festlegen. Jetzt müssen wir nur noch genau aufschlüsseln, was diese Wissensstufen ausmacht, und versuchen, die verbleibenden drei in sinnvolle Fähigkeiten aufzuteilen.
DIES IST NUR EIN GROBER ENTWURF FÜR DEN START. Ich werde jedes Feedback, das Sie dazu haben, aufgreifen und es dann weiter zu einem besser ausgearbeiteten Bewertungssystem entwickeln. Dann werde ich es vielleicht als Umfrage einstellen, das könnte Spaß machen =).

- Klar, ich habe von CSS gehört, es wird im Webdesign verwendet.
- Ich habe schon einmal eine CSS-Vorlage heruntergeladen und verwendet, und ich habe sogar herausgefunden, wie ich unser Logo einfügen kann.
- Ich habe mich mit CSS-Dateien beschäftigt und kleine Änderungen wie Farbänderungen vorgenommen.

- Ich weiß, dass CSS für Cascading Style Sheets steht.
- Es wird von Webdesignern verwendet, um Webseiten zu gestalten, mit dem Ziel, Design und Inhalt zu trennen.
- Ich habe umfangreiche Modifikationen an einer CSS-Vorlage vorgenommen.
- Ich habe schon einmal eine WYSIWYG-Editor verwendet, um eine CSS-Webseite zu erstellen.

- Ich habe eine einigermaßen komplexe Website von Grund auf neu entworfen, wobei ich nur CSS für das Layout verwendet habe.
- Ich habe ein solides Verständnis der Struktur von CSS, des CSS-Boxmodells und der CSS-Positionierung.
- Ich habe ein grundlegendes Verständnis dafür, dass verschiedene Browser einige CSS-Elemente unterschiedlich darstellen und dass dies berücksichtigt und getestet werden muss.
- Ich habe eine wachsende Sammlung von CSS-Ressourcen, auf die ich zurückgreifen kann.

- Ich habe eine große Anzahl von CSS-basierten Websites entworfen und an deren Design mitgewirkt.
- Ich bin absolut sicher im Schreiben und Bearbeiten von CSS und habe das Gefühl, dass ich jede Designidee umsetzen kann.
- Ich habe ein solides Verständnis von browserübergreifendem CSS. Ich kenne und habe einige CSS-Hacks ausprobiert und verstehe die Vor- und Nachteile ihrer Verwendung.
- Ich kann CSS schnell und effizient beheben.
- Ich schreibe CSS meist von Hand und habe eine großartige Sammlung von Werkzeugen und Ressourcen zur Inspiration, Fehlersuche oder als Referenz zur Verfügung.

- Ich habe mein eigenes kleines CSS-Framework, mit dem ich beginne.
- Ich verfüge über umfassende Kenntnisse aller CSS-Belange.
- Ich wache mitten in der Nacht am Wochenende auf und springe auf meinen Computer, um ein geniales CSS-Beispiel zu programmieren, das mein Gehirn gerade erträumt hat, und poste es dann in meinen Blog... der von CSS handelt. (Das ist ein Scherz, ich weiß nicht, wie ich Stufe 5 beschreiben soll.)
Also, was denken Sie? Was sollten wir ändern? Können wir das irgendwie zu einem Mini-Quiz machen? Sollte es mehr als 5 Stufen geben? Weniger?
Mir gefällt, wie es bisher aussieht, ich glaube, ich bin auf Stufe 3. Zeit, mich auf Stufe 5 hochzuarbeiten...
Ich wäre ungefähr eine Stufe 4.8. Daher denke ich, dass es eine Stufe zwischen 4 und 5 geben muss. Ich bin ein CSS-Nerd, aber ich blogge nicht über CSS. Es ist ein Werkzeug. Ich blogge nicht über meine Hämmer, wenn ich meinen Keller fertigstelle – ich blogge über die Schränke und Heimkino und wie mühsam es ist, abgehängte Decken richtig zu installieren.
Die wahre Killer-App wäre ein Test, der das Wissen eines Benutzers genau einschätzt. Das wäre großartig, wenn man einen neuen Mitarbeiter oder Subunternehmer einstellt. Ich habe mehr als einen handcodierten Test gemacht, um potenziellen Arbeitgebern meine Kompetenz zu beweisen, aber die Möglichkeit, einen standardisierten Test für Bewerber anzupassen, wäre FANTASTISCH. Ich mache mich sofort daran, nachdem der Keller fertig ist...
Ich bin zwischen 3 und 4, vielleicht 3,6, also könnte es vielleicht noch eine weitere Stufe zwischen 3 und 4 und zwischen 4 und 5 für Leute geben, die schnelle Fortschritte bei ihren CSS-Fähigkeiten und -Kenntnissen machen.
Vielen Dank für Ihre Anleitungen immer wieder! Sie würden in ein paar Monaten ein ganzes Buch füllen ;)
Grüße aus Deutschland
Max
Der Unterschied zwischen 3 und 4 ist vielleicht etwas zu drastisch. Vielleicht sollte "Ich habe eine große Anzahl von CSS-basierten Websites entworfen und an deren Design mitgewirkt." nach Stufe 5 verschoben werden, mit etwas wie "Ich habe eine Reihe von CSS-basierten Websites entworfen und an deren Design mitgewirkt.". Ich glaube, ich verstehe, was Sie mit dem Unterschied zwischen einer und mehreren Websites meinen, aber es scheint irgendwo dazwischen zu liegen.
Wie wäre es, etwas wie "Ich habe eine Website von Inline-Stilen auf Style-Sheets umgestellt." einzufügen? Vielleicht unter 2, um ein wenig Anwendung zur Theorie zu mischen.
Nachdem ich ein paar Jahre lang Photoshop-PSDs in XHTML-Code umgewandelt habe, kann ich ehrlich sagen, dass ich auf etwa 4,5 - 5 Niveau bin. CSS ist keine extrem schwierige Sprache – sie ist ziemlich einfach. Wahrscheinlich empfinde ich das nur so, weil ich jeden Tag versuche, die Welt mit PHP zu verändern...
Das ist eine geniale Idee. Ich stelle mir vor, ich wäre eine 3 – 3,5. In Stufe 4 schlagen Sie vor: "Ich kann CSS schnell und effizient beheben." Das erscheint etwas subjektiv. Wie beurteilt man Geschwindigkeit oder Effizienz? Ich codiere CSS seit etwas mehr als einem Jahr von Grund auf von Hand. Ich kann die meisten Dinge erreichen, die ich erreichen möchte, aber es kann manchmal eine Weile dauern (z. B. Tage). Ich weiß, dass ich schneller sein muss, aber ich habe keine Ahnung, was ich anstreben sollte. Ich kann mir den ganzen Tag exquisite Websites ansehen und viel über Technik lernen, aber es gibt nie einen Hinweis darauf, wie lange jemand tatsächlich an der Erstellung dieser Website gearbeitet hat. Das ist wahrscheinlich mein größter Sorgebereich, wenn ich an zukünftige Jobmöglichkeiten denke. Ich habe diese Seite übrigens gerade erst entdeckt und sofort zu meinem Feed hinzugefügt. Machen Sie weiter so!
Hallo Chris,
Ich bin beeindruckt von Ihren analytischen Fähigkeiten, diese Segmentierung ist viel besser und realistischer als im vorgeschlagenen Dokument. Danke.
Ich denke, es ist eine Mischung aus technischem Wissen, Verständnis des CSS-Modells, Berufserfahrung, Cross-Browser-Bewusstsein, Frameworks usw.
Da ich hauptsächlich Intranet-Anwendungen entwickle, ist mein Cross-Browser-Bewusstsein nicht so groß, daher bin ich zwischen 3 und 4.
Für Stufe 5 könnten Sie vielleicht hinzufügen: "Manchmal werfe ich einen Blick auf CSS3-Entwürfe und wünsche mir, dass sie endlich finalisiert und in allen Browsern implementiert werden können!"
ja, ich habe keine Ahnung, was ich mit 5 machen soll.
Ich bin eine 4, es sei denn, 5 wird geklärt. Es scheint, dass 4 so nah an 5 ist, dass ich nicht sicher bin, was einen Meister ausmacht, es sei denn, es wäre etwas wie "Ich habe über 100 Websites in CSS gemacht, ich halte Seminare, ich habe Kurse gegeben, ich habe einen Blog, ich habe ein CSS-Buch geschrieben, ich bin im W3C-CSS-Team" haha. Etwas Lächerliches wie das.
Im Moment ist 5 im Grunde wie 4. Ich bin definitiv eine 4, aber ich könnte mich heimlich in 5 schleichen und niemand würde es wirklich wissen.
Wenn man Meister sagen will, muss es für Leute wie mich unerreichbar sein, denn ich bin sicherlich kein Meister, aber ich weiß definitiv, was ich tue.
Was die Bewertung von Geschwindigkeit und Effizienz angeht, sehe ich da kein Problem, besonders auf Stufe 4, denn wenn man freiberuflich tätig ist, ist Geschwindigkeit ein großer Teil dieses Geschäfts. Kunden wollen ihre Sachen schnell haben. Wenn man seine Website nicht schnell reparieren kann, wird man Probleme bekommen. Ich glaube nicht, dass man spezifizieren muss, woraus diese Geschwindigkeit besteht. Da CSS kein Raketenwissenschaft ist und ziemlich geradlinig ist, weiß ich offensichtlich, dass es etwas im Seitenbereich ist, wenn meine Website dort Probleme hat. Dann analysiere ich schnell, wie sie sich verhält, und biete meine Lösung in Codeform ziemlich schnell an. Im Büro werde ich oft gebeten, Projekte von anderen zu reparieren, nachdem sie zu lange frustriert waren, und 8 von 10 Mal setze ich mich hin und es ist in höchstens 5 bis 10 Minuten erledigt.
Wie auch immer. Ich mag den Test. Ich glaube, Stufe 5 muss viel schwieriger zu erreichen sein.
Mein letzter Vorschlag ist, dass ich denke, dass das nächtliche Aufwachen, um schnell Code aufzuschreiben, tatsächlich im Bereich 3 häufiger vorkommt, weil man es endlich versteht und all die Ideen, was möglich ist, durch den Kopf schießen und es neu ist. Ich würde erwarten, dass die Veteranen genauso aufgeregt sind, aber sie träumen nicht auf die gleiche Weise davon und führen es wahrscheinlich einfach besser aus. Selbst wenn meine Analyse nicht korrekt ist, bin ich mir nicht sicher, ob Träumen und Aufwachen zum Aufschreiben nur für die höhere Stufe gilt.
Wow, ich dachte, ich wäre ein totaler CSS-N00b, aber laut dem hier bin ich definitiv 4. Das ist so cool.
Ich denke, einer der Konsensse, die wir gerade haben, ist, dass es eine Stufe zwischen 4 und 5 und möglicherweise eine zwischen 3 und 4 geben muss. Ich habe kein besonderes Problem damit, die Bewertungen etwas zu erweitern, wenn es einen guten Grund dafür gibt.
Eine Frage, die ich habe, ist, wie man mit Dingen wie der Formulierung "Ich habe eine große Anzahl von CSS-Websites entworfen..." umgeht. Sollte es dafür spezifische Zahlen geben? Ich habe das zunächst vermieden, da es eher willkürlich ist. Ich glaube, man kann großartig in CSS sein und nur an 5 Websites in seinem Leben gearbeitet haben oder schlecht darin sein und an Dutzenden gearbeitet haben...
Ich bin auch versucht, spezifische Details auf verschiedenen Ebenen zu erwähnen. Wie Pseudo-Klassen, Attributselektoren usw.
Schöne Idee! Ich würde sagen, ich bin irgendwo zwischen 3 und 4. Ich denke, das Einzige, was mich davon abhält, eine 4 zu sein, ist
"Ich kann CSS schnell und effizient beheben."
Manchmal kann ich stundenlang überlegen, warum es eine Inkonsistenz zwischen IE und Firefox gibt und wie ich sie beheben kann, aber manchmal kann es auch sehr schnell gehen.
Pseudo-Klassen und Pseudo-Selektoren sollten meiner Meinung nach auf Stufe 4 / 5 gehören. Leider ist IE6 bei diesen so träge, dass die meisten Entwickler sie nicht unbedingt für Kernfunktionen nutzen können. Was ich mit der Website meines Arbeitgebers gemacht habe, ist die Verwendung von CSS-Pseudoelementen in Verbindung mit einem schicken MooTools-JavaScript.
Ich schätze, mein Punkt ist, dass, da die meisten CSS-Pseudoelemente nicht vollständig im produktiven Einsatz nutzbar sind, sie auf einem ziemlich hohen Niveau sein müssen.
Es ist erstaunlich, wie stark CSS und JavaScript miteinander verknüpft werden... alles dank IE.
Ich bin eine 4,5. Ich denke, 5 muss viel höher sein, wie andere schon gesagt haben. Die Schritte sollten exponentiell und nicht gleichmäßig wachsen.
Das wäre meine Liste
1: weiß, was CSS ist. verwendet es für einige Textformatierungen. und vielleicht Hintergrundfarben und Rahmen. Tabellen für die Positionierung (viele Backend-Programmierer scheinen hier zu sein)
2: grundlegendes Verständnis von Konzepten im Zusammenhang mit der Positionierung. (vielleicht kein Float). kann eine CSS-Datei eines '4'ers lesen und es irgendwie verstehen (eine schöne ordentliche 4 jedenfalls) verwendet Hacks, wenn etwas nicht funktioniert, anstatt das Problem zu suchen und einen Workaround zu finden. greift auf Tabellen zurück, wenn es zu schwierig wird.
3: Kenntnisse und Umsetzung von graceful degradation/progressive enhancement, versteht größtenteils die Konzepte (Positionierung, Boxmodell, Floats, DOM, Spezifität)
4: verfolgt die Browserentwicklung und weiß, wo sich jeder Browser bei Selektoren/Eigenschaften/etc. befindet, und alle Tücken und Inkonsistenzen, muss nicht so viel testen, weil sie wissen, was jeder Browser mit ihrem Code macht, versteht die Konzepte vollständig
5: Leute, deren Namen die meisten CSS-Geeks erkennen werden. Zeldman, Jonothan Snook, Andy Clarke, Eric Meyer... etc. (ach, ein Geek-Promi zu sein, man wird von einigen wie ein Gott behandelt und hat immer noch seine Privatsphäre.)
Ich glaube nicht, dass ein Blog ein Kriterium sein sollte. Vielleicht Bonuspunkte. Manche Leute sind einfach keine Schreiber, und jeder auf jedem Niveau kann einen Blog über CSS haben, ich bin auf einige gestoßen, die Stufe 2 waren und hauptsächlich Beschwerden enthielten.
Und was ist mit Werkzeugen und Frameworks? Mein Framework ist Eric Meyers Reset. Mein Werkzeug ist ein Texteditor mit Syntaxfärbung – vielleicht mit Autovervollständigung, weil ich faul bin :P (Ich habe mich immer noch nicht zwischen Smultron, Coda, Dreamweaver und Textmate entschieden).
Hinweis: Ein angepasster Eric Meyer Reset. Ziemlich angepasst. Aber immer noch nur ein Reset.
Für mich hat das nichts mit dem tatsächlichen *Erstellen* einer Website mit CSS zu tun. Ich würde die Wortwahl etwas ändern und das Wort "Design" streichen, vielleicht durch "Aufbau" oder "Entwicklung" ersetzen.
Eine andere Sache, die mir gerade aufgefallen ist: Unter #4 steht "Ich schreibe CSS meist von Hand...", ich würde erwarten, dass Sie zu diesem Zeitpunkt nur noch von Hand codieren. Vielleicht unter #3 beginnen Sie mehr von Hand zu codieren und weniger WYSIWYG. Nur meine zwei Cents...
Ich glaube, ich bin eine 4. Ich habe einmal geträumt, ich würde CSS codieren, wie würde das bewertet werden?
@ Daniel... angepasster Meyers Reset? Möchtest du ihn mit uns teilen?
Trotz gelegentlichem Bloggen über CSS betrachte ich mich noch nicht als 5. 4,5?
Roberto, von CSS zu träumen ist ein schlechtes Zeichen. Ich glaube nicht, dass es dafür schon ein Zwölf-Schritte-Programm gibt.
Im Sinne der vollständigen Offenlegung, ich habe auch von CSS geträumt. Es war etwas sehr Surreales, wie ich durch einen Wald ging und versuchte, das CSS von Bäumen zu ändern. Ich schätzte, es war ein Zeichen, ein paar Tage frei zu nehmen.
Großartige Idee!
Ich würde auch argumentieren, dass der Sprung zwischen den Schritten 3 und 4 etwas zu groß ist. Ich habe das Gefühl, dass es einen erheblichen Unterschied gibt zwischen dem Entwurf einer einzelnen Website mit CSS und der Fähigkeit, jede beliebige Gestaltung umzusetzen, die ein nicht web-affiner Grafikdesigner Ihnen vorlegen könnte.
Großartiges Follow-up, Chris! Mein alter Artikel brauchte wirklich etwas Besseres. Ich würde hinzufügen: "Ich habe selbst ein paar Cross-Browser-Bugs gefunden, behoben und dokumentiert" für die letzte Stufe.
(Ja, ich muss auch angeben, ich würde mich selbst als Stufe 5 bezeichnen :)
Es ist bedauerlich, dass wir im Dezimalsystem denken, da so viele Bewertungsysteme 5 oder 10 Punkte haben. Stellen Sie sich vor, wir würden ins Hexadezimalsystem wechseln, dann könnten Sie 8 Punkte haben und niemand würde mit der Wimper zucken! Wenn dies eine Basis-16-Liste wäre, wäre ich eine Stufe 10h, aber ich schätze, meine nächste Annäherung würde mich sehr nahe an 5 bringen.
Ich bin ungefähr eine 4 und nahe einer 5, würde ich sagen!
Es ist eine gute Idee! Wie die meisten Kommentare, sie könnte immer noch etwas Arbeit gebrauchen, aber eine sehr, sehr gute Idee!
Ich wäre fast eine 4. Das ist bisher ein gutes Bewertungssystem. :)
Sehr gut durchdacht und meiner Meinung nach gut kategorisiert. Ich habe einen CodePen erstellt, damit wir dieses Rating und andere Fähigkeiten auf unseren eigenen Websites nutzen können. http://codepen.io/nickspiel/pen/Eqfyx/ Ich würde mich auch über Feedback dazu freuen.