Was macht ein Web-Entwickler?
In diesem Beitrag beleuchten wir das Berufsfeld einen Web-Entwicklers. Besonders Menschen die nicht jeden Tag im Internet unterwegs sind stellen oft die Frage: "Was macht ein Web-Entwickler eigentlich?". Hier gibt es ein paar Antworten dazu.
Berufsbezeichnung
Zuerst ein paar Worte zur Berufsbezeichnung: Der Begriff Web-Entwickler ist kein eingetragener Beruf. Im allgemeinen Sprachgebrauch existieren unterschiedliche Bezeichnungen für diesen Beruf. Im Deutschen wird oft von "Web-Entwickler", "Programmierer" oder "Web-Programmierer" gesprochen. Auch Frontend-Entwickler, Backend-Entwickler oder Fullstack-Entwickler hört man oft.
Im Englischen wird oft von Web developer, Web-App-Developer oder Web-Engineer gesprochen. Auch Begriffe wie Web Software Developer oder Senior Web Application Engineer kommen vor.
Die Bezeichnung Web-Enwickler sagt erstmal nichts darüber aus welche Fähigkeiten und Kenntnisse jemand hat. Daher ist es für Unternehmen oft schwierig den passenden Entwickler zu finden, der sich in dem Technologie-Stack des Unternehmens zurechtfinden kann. In Stellenanzeigen liest man daher oft die spezialisierte Form des Berufs. Zum Beispiel JavaScript-Frontend-Developer oder PHP-Backend-Entwickler. Oder auch Web Developer mit Schwerpunkt JavaScript/Vue. Die Berufsbezeichnungen eines Web-Entwicklers haben sich in den letzten Jahren immer weiter spezialisiert.
Der Beruf eines Webentwicklers ist nicht zu verwechseln mit dem Webdesigner oder dem Webmaster. Auch Begriffe wie "Code-Schnüffler", "Spaghetti-Progger", "Quellcode-Guru", "Template-Klopper" oder "Code-Tippse" sind keine offiziellen Bezeichnungen für einen Webentwickler, auch wenn diese lustig klingen :)
In welchen Bereichen arbeitet ein Webentwickler?
Wie eingangs schon beschrieben existieren sehr unterschiedliche Tätigkeitsbereiche und Spezialisierungsfelder für Webentwickler. Typischerweise wird zwischen Frontend und Backend unterschieden.
Ein Frontend-Entwickler kümmert sich in erster Linie um den technischen Teil des visuellen Aufbaus einer Website oder Webanwendung. Er entwickelt die Benutzeroberfläche - meist in enger Abstimmung mit einem Webdesigner oder einem Grafikteam und dem Backend-Team. Er implementiert Client-Lösungen für Dateneingaben, Interaktivivität, Bedienbarkeit, Zugänglichkeit, Performance, SEO und mehr. Das Frontend ist der Vorbau einer Webanwendung und bezeichnet den Bereich den ein Anwender auf der Website sieht.
Ein Backend-Entwickler programmiert servernahe Komponenten einer Webanwendung. Dabei kümmert er sich um die Datenverarbeitung, Datenbankanbindung, Benutzerverwaltung, Integration von Dritt-Anbieter-Services, Skalierbarkeit Anwendungs-Sicherheit und auch Anwendungskonfiguration und mehr. Ein Backend-Entwickler hat in der Regel eine einge Zusammenarbeit mit dem Frontend-Entwicklern und den System-Admins. Das Backend ist der Unterbau einer Webanwendung und bezeichnet den Bereich den ein Anwender auf der Website nicht sieht.
Beim Einsatz unterschiedlicher Technologie-Stacks verschwimmen die Grenzen zwischen Frontend und Backend jedoch immer mehr. So kommt es immer häufiger vor dass Frontend-Entwickler typische Backend-Aufgaben übernehmen und umgekehrt. Ein Web-Enwtickler der in allen Bereichen tätig ist wird als Full-Stack-Entwickler bezeichnet.
Welche Aufgaben hat ein Webentwickler?
Das Tätigkeitsfeld eines Web Developers ist äußerst umfangreich. Besonders im Hinblick auf die schnelle Entwicklung von Web-Technologien steigt auch der Anspruch an die Webentwicklung immer weiter. Während ein typischer Webentwickler vor 10 Jahren noch mit HTML, CSS und ein Bisschen PHP durchkam, ist die Bandbreite heutiger Technologien viel größer. Kaum ein Entwickler programmiert heute noch klassisch mit HTML und Co. und fängt jedes Mal wieder von vorne an wenn eine neue Website gebaut wird. Sondern er benutzt stattdessen integrierbare Web-Frameworks wie React oder Vue oder Laravel und Symfony. Das gilt gleichermaßen sowohl für den Frontend- als auch Backendbereich.
Einfach gesagt: Früher hat ein Webentwickler Webseiten zusammengebaut, so dass sie funktionieren. Heute integriert ein Webentwickler unterschiedlichste Lösungen in unterschiedlichen Tech-Stacks. Die Anforderungen an einen Webentwickler sind demendsprechend größer geworden.
Die täglichen Aufgabenbereiche eines Webentwicklers umfassen unter anderen diese:
- Beratung & Konzeption für Softwarelösungen
- Aufgabenbeschreibung & Ticket-Erstellung
- Kommunikation mit externen Dienstleistern und Servicepartnern
- Erstellung von Datenmodellen
- Datenverarbeitung
- Programmierung Datenbankanbindung
- Software-Installationen und Paket-Updates
- Bewertung und Einsatz von Web-Frameworks
- Anbindung und Entwicklung von APIs
- Prototyping
- Objekt-Orientierte Programmierung
- Sinnvolle Zusammenstellung und Nutzung von unterschiedlicher Tools
- Template- und Theme-Entwicklung, Responsive Designs
- Erstellung von Dokumentationen
- Einbindung von Dritt-Anbieter-Services (Maps, Social Media, Embeds, Videos, etc.)
- Sichtung und Umsetzung von Modulen auf Basis von API-Documentationen von Drittanbietern
- Implementierung von Schnittstellen, APIs, Plugins
- Sicherstellen der Codequalität durch Tests - dazu gehören unterschiedliche UnitTest, Feature-Test und im Frontend-Bereich auch Cross-Browser-Tests
- Fehleranalyse, Bugfixing
- Contineous Integration (CI), Deployments, Code-Shipping
- Integration von CMS-Systemen
Welche Technologien benutzt ein Web-Entwickler?
Für die erfolgreiche Umsetzung einer Webanwendung müssen verschiedene Technologien zusammengeführt und sinnvoll ergänzt werden. Ein Webentwickler kann sich dabei einer Reihe von Programmiersprachen und Scriptsprachen bedienen. Oft kommen auch Frameworks und Libraries welche die Implementierung vereinfachen und später die Wartung der Anwendung vereinfachen können. Spezialisierte Frameworks bringen oft ihre eigenen Scriptsprachen und Template-Engines mit.
Dabei zählen im Frontendbereich in erster Linien HTML, CSS und JavaScript. In den letzten Jahren haben sich Frontend-Frameworks etabliert. Beispiele dafür sind Vue, React oder Angular.
Im Backend-Bereich ist PHP und JavaScript (Nodejs) sowie C# und Java sehr verbreitet. Theoretisch lässt sich im Backendbereich jede Programmierprache nutzen die eine Server-Client-Verbindung aufbauen kann und Daten per HTTP übermitteln kann. Zur Datenverarbeitung kommt oft Python zum Einsatz. Bekannte Frameworks sind zum Beispiel Laravel und Symphony (beide nutzen PHP als Unterbau).
Viele Unternehmen setzen auf CMS-Systeme bei denen die Inhalte der Webseite bequem über eine Benutzeroberfläche verändert werden können. Dabei gibt es unterschiedliche Open-Source-CMS-System wie WordPress, Drupal, Typo3 oder Shopify. Egal welches System genutzt wird, der Technologie-Stack mit dem sich ein Webentwickler auseinandersetzen muss kann sehr unterschieldich sein.
Mehr zum Thema Web-Technologien findest du im Glossar Webdeveloper Fachbegriffe von A - Z
Wie wird man Webentwickler?
Als Webentwickler benötigt man als erstes Fachkenntnisse. Diese werden in der Regel in einem Studium der Informatik oder einem Ausbildungsberuf wie dem Fachinformatiker erworben. Viele Freelancer haben sich das frei zugängliche Wissen aber auch einfach selbst angeeignet. Es gibt auch viele Quereinsteiger in dem Bereich die sich interdisziplinär Kenntnisse der Web-Entwicklung angeeignet haben und in ihrem Tätigkeitsfeld damit arbeiten.
Wenn man seinen Kenntnissstand erworben hat kann man entweder als Freiberufler arbeiten oder sogar ein eigenes Unternehmen gründen. Viele Webenwickler arbeiten auch in Startups und großen Firmen. Dabei ist es oft so, je größer ein Unternehmen desto spezialisiertere Kenntnisse werden gefordert.
Jeder Webwntickler sollte diese Wissensstände haben:
Gutes technisches Grundverständnis
Ein gutes technisches Grundverständnis ist Vorraussetzung eines Webentwicklers. Ein Webentwickler sollte stets in der Lage sein
seinen Computer selbst einzurichten, die nötigen Tools und Softwares zu installieren und zu updaten und die passende IDE für
die tägliche Arbeit auswählen können.
Grundwissen von Softwarearchitektur / Informatik und Design-Patterns
Diesen Teil lernt man in der Regel im Studium oder in der Ausbildung. Hier geht es um die Methodiken. Es geht um das Wie.
Ein Webentwickler muss in der Lage sein ein Set von Methoden korrekt anwenden zu können um seine Aufgaben zu lösen und er muss wissen
wie den Aufbau einer bestehenden Anwendung zu erfassen um diese selbst weiterentwickeln zu können.
Gute Kenntnisse und sicherer Umgang mit mindestens einem Technologie-Stack
Welche TechStack ist im Prinzip ersteinmal egal. Denkbar sind "HTML, CSS, JavaScript", "Vue, React oder Angular", "PHP & SQL", "Java oder C#"
Oder auch eine Kombinationen aus mehreren Techs.
Gute Englischkentnisse
Fast alle Programmiersprachen, Frameworks und Libraries sind auf Englisch geschrieben.
Auch viele Software-Tools wie IDEs sind auf Englisch. Fachliteratur und Software-Dokumentationen sind ebenfalls meist
auf Englisch.
Welche Eigenschaften muss ein Webentwickler mitbringen?
Jemand der Programmieren nicht mag wird kaum ein guter Webentwickler werden können. Eine gewisse Grundmotivation sollte man schon mitbringen. Dazu gehören
Lebenslanges Lernen
Grundsätzlich kann man sagen: Lebenslanges Lernen ist eine der Wichtigsten Grundvorraussetzung für jeden Webentwickler.
Ein Webentwickler der vor 8 Jahren großes Geld mit Flash-Apps verdient hat, ist heute komplett aus dem Rennen, da kein Browser-Anbieter mehr Flash-Apps
unterstützt.
Teamfähigkeit
Besonders in Firmen ist eine gute Teamfähigkeit Grundvorraussetzung.
Fähigkeit neue Technologien einschätzen und einordnen zu können (Aussagefähigkeit)
Egal ob als Freelancer oder in der Firma. Irgendwann wird der Kunde oder der Chef mit einer neuen Idee um die Ecke kommen
und fragen "Können wir das so machen?" oder "Was brauchen wir um das und das zu ermöglichen?".
In beiden Fällen muss man in der Lage sein die Situation aus technischer Sicht korrekt und zielorientiert einschätzen und beschreiben zu können
Dabei spielt auch die Erfahrung eine große Rolle.
Ein guter Webentwickler weiß nicht nur was alles machbar ist, sondern auch was alles lieber nicht gemacht werden sollte und warum.
Sorgfalt & Sauberes Arbeiten (Clean-Code)
Sauberes Arbeiten und Umgang mit Programmier-Patterns ins wichtig. Deine Teamkollegen werden es dir danken.
Gute Kommunikationsfähigkeit
Eine gute und ordentliche Kommunikation ist ebenfalls wichtig. Dinge die irgendwie kaputt gegangen sind sollte man deutlich kommunizieren.
Auch ein korrekter Umgang mit Kollegen und anderen Parteien ist wichtig.
Belastbarkeit
Webentwickler müssen oft unter hohem Zeitdruck arbeiten und auch mit negativem Feedback umgehen können.
Im Gegensatz zu anderen Berufsfeldern ist es eher selten dass ein Webentwickler für seine Arbeit Blumen oder Geschenke bekommt.
Stattdessen erhält man eher Beschwerden wenn etwas nicht so funktioniert wie es soll.
Spezialisierungsfähigkeit
Viele Webentwickler spezialisieren im Lauf ihrer Karriere auf einen bestimmten Technologiebereich
Zugegeben - kaum ein Entwickler erfüllt all diese Idealvorstellungen perfekt. Ein Webentwickler ist im Allgemeinen auch immer Ein Problemlöser.
Erfolgreiche Webentwicklung ist im Prinzip erst dann erfolgreich, wenn das Ergebnis der Entwicklung ein nahtlos ineinandergreifendes Gesamtbild ergibt welches des Anforderungen entspricht und die Zielsetzung erfüllt.