200926Sep

Webentwicklung: Neue Programmiersprache lernen?

Der Bereich "Webentwicklung" (oder auch Web Engineering) unterscheidet sich von "Webdesign" erheblich, allerdings sind beide Begriffe dehnbar und können sowohl harmlos als auch allumfassend sein: Ein Webdesigner ist in der Regel für die Gestaltung und Realisierung (Photoshop, Illustrator, Fireworks) von Webauftritten zuständig, wozu auch die Programmierung von (X)HTML, CSS und JavaScript zählen kann. Festgelegt ist dabei nichts, denn es dürfte genügend Webdesigner geben, die lediglich die Konzeption übernehmen und die Programmierung von einem Webentwickler übernommen wird — hierbei dominiert oft das Duo "Screendesigner – Frontend-Entwickler".
Der Webentwickler beherrscht Auszeichnungssprachen im Schlaf und beschäftigt sich hauptsächlich mit der Entwicklung und Erweiterung von datenbankgestützten Webanwendungen (Content-Mangement-Systeme, Rich Internet Applications, E-Commerce, Mobile Devices, uvm.). Die Programmierung von dynamischen Online-Applikationen erfordert viel Wissen und ein hohes Maß an Flexibilität. Im Berufsleben ist es häufig so, dass man sich in neue Programmiersprachen einarbeiten muss. Es gibt keine Regeln und die Anforderungen variieren je nach Auftrag: So werden Screendesigner zu CSS-Profis und Ruby-Experten zu jQuery-Veteranen.

Sijin Joseph - Programmer Competency Matrix

Mittlerweile ist Webdesign ein umfangreiches Thema geworden, da visuelle Effekte (Flash, jQuery, etc.) immer selbstverständlicher werden und Screendesigner ein Gespür für dezente Animationen haben bzw. entwickeln müssen. Die Frage, wann ein Webdesigner oder Webentwickler eine neue Programmiersprache (eher Skriptsprache) lernen sollte, ist schwer zu beantworten. Nicht jeder Webentwickler ist Fach- oder Medieninformatiker und auch viele Webdesigner dürften sich ihr programmiertechnisches Fachwissen selbst angeeignet haben. Es dürfte daher viele "Mischlinge" oder "Hybriden" geben, die sowohl Screendesign als auch Webentwicklung abdecken.
Wenn man Webentwickler und -designer nach ihrem Fachwissen und ihrer Kompetenz sortieren würde, könnten sich 3 klassische Gruppen ergeben:

  • Anfänger – Grundwissen von (X)HTML, CSS und JavaScript
  • Fortgeschritten – Erweitertes Wissen (PHP, MySQL, jQuery, etc.)
  • Professionell – Umfangreicher Wissensstand (Ruby, Java, Python, uvm.)

Diese Aufteilung ist meine persönliche Einschätzung und soll lediglich ein grobes Bild vermitteln. Die Sprachen sind nur beispielhaft (oft werden ohnehin mehrere Sprachen benötigt) — es gibt genügend professionelle PHP-Entwickler genauso wie es Python-Anfänger gibt, für die das Wissen ausreichend ist. Flash (ActionScript, Flex, usw.) findet sich aus dem Grund nicht in der Liste, da es ein Bereich für sich ist und hier noch einmal in Gruppen unterschieden werden kann.
Jeder Entwickler hat einen individuellen und zum Teil stark abweichenden Wissensstand, weshalb sich dieses Thema nicht verallgemeinern lässt. Viele professionelle Webentwickler haben ihre Wurzeln in der Anwendungsentwicklung (C, .NET, Delphi, Assembler, etc.) und verfügen daher über fundierte Kenntnisse für gebräuchliche Modelle und Prozesse der Softwaretechnik. Eine ausführliche und sehr interessante Matrix für die unterschiedlichen "Level" der Programmierung bietet Sijin Joseph mit seiner Programmer Competency Matrix (Abbildung oben).

Es gibt also 2 Möglichkeiten, sein Wissen um eine weitere Skript- oder Programmiersprache zu erweitern:

  • Lernen im Voraus (Freizeit oder berufliche Seminare/Workshops)
  • Lernen bei Bedarf (On-Demand, also auftrags- oder kundenbezogen)

Die erste Möglichkeit ist Fleißarbeit und kann (wenn es nicht beruflich gefördert wird) mit dem Risiko verbunden sein, dass man die neu erlernte Programmiersprache nicht oder zu spät einsetzen wird. Der Vorteil ist jedoch, dass man gewappnet ist, falls die Kenntnisse einmal erforderlich sein sollten.

Viele Entwickler dürften ihren fachlichen Wissensstand wohl bei Bedarf erweitern — meistens werden hierbei keine neuen Sprachen erlernt, sondern die Fähigkeiten in einem bestimmten Gebiet ausgebaut. Im Hinblick auf die Berufswahl (neuer Arbeitsplatz) ist es ein schmaler Grad: Neben reiner Erfahrung wird in der Regel ein abgeschlossenes Studium oder eine vergleichbare Ausbildung vorausgesetzt. Autodidakten können nur in seltenen Fällen Punkte sammeln.
Für die Weiterbildung gibt es etliche gute Bücher und viele Anlaufstellen im Netz: W3 Schools Tutorials, Dev Shed, Web Developer’s Virtual Library und WebReference sind sehr gute Quellen, die einen Einblick in viele Programmiersprachen erlauben.

Unabhängig von der Methode, die man wählt, wird ein Punkt stets allgegenwärtig bleiben: Beschäftigt man sich für einen längeren Zeitraum nicht oder nur wenig mit einer Programmiersprache, geraten Kenntnisse in Vergessenheit.

Tags: