nils.mu: Welche Anwendungen würdet ihr als Arbeitsproben für ein JS, PHP Entwickler Portfolio erstellen?

Beitrag lesen

Hallo,

die Idee finde ich gut. Solche kleinen Projekte sind gern gesehen bei einer Bewerbung, weil es für Arbeitgeber ansonsten schwer ersichtlich ist, was BewerberInnen in vorherigen Positionen beigetragen haben. Diese Projekte können auch ein guter Aufhänger im Bewerbungsgespräch sein, falls sie das Interesse des Arbeitsgebers wecken.

welche Arbeitsproben euch überzeugen würden, euer Interesse wecken würden?

Eine Anwendung, die du aus eigenem Interesse gebaut hast. "Mir hat X gefehlt, daher habe ich es gebaut". "Ich habe X auf Basis von Bibliothek Y gebaut, weil ich darin Vorteile sehe." "In meinen vergangenen Projekten hat es immer an X gemangelt, das wollte ich einmal besser lösen." "Ich habe viel über das Konzept X gelesen und wollte es an dem Problem Y ausprobieren." Und so weiter.

Die Anwendung hat einen ersichtlichen Nutzen, wenn auch einen kleinen. Die Anwendung zeigt, dass du dich mit den verschiedenen Aspekten der Webentwicklung auseinandergesetzt hat.

Generell: Projektplanung, Informationsarchitektur, Aufbau des UI, Usability. Klarer, verständlicher und gut dokumentierter Aufbau. Übersichtliche Code-Organisation. Grundlegende Gestaltung, Responsive Design. Server-seitig: Einsatz von gängigen Patterns und Best Practices (z.B. Separation of Concerns, MVC, ORM). Datenmodellierung und -speicherung (z.B. (no)SQL, Caching). Stabilitäts- und Sicherheitsfragen (z.B. Spam, XSS). Client-seitig: Einsatz von Webstandards, Auswahl von Bibliotheken, Browserkompatibilität, Performance.

Das klingt jetzt erst einmal viel, aber du solltest all das zumindest kurz anschneiden. Du machst es automatisch, wenn du ein Projekt baust. Du sollst dir Gedanken machen, warum du dich für eine Lösungsmöglichkeit entscheidest.

Wenn du dich auf etwas konzentrierst, z.B. weil du es gut kannst oder darin die Schwierigkeit liegt, und anderes bewusst außen vor lässt, dann ist das in Ordnung. Wichtig ist das Problembewusstsein und entsprechende Priorisierung.

Das Projekt sollte zeigen, dass du sowohl im Ganzen verstanden hast, wie die Teile eines Webprojekts ineinandergreifen (z.B. Front-end und Back-end), als auch im Einzelnen, wie du konkrete Programmieraufgaben effizient und robust umsetzt (z.B. client-seitig dynamisch Inhalte nachladen von einer HTTP JSON API). In die Tiefe gehen kannst du in einer interessanten PHP-Klasse, einer schwierigen JS-Funktion oder elegantem CSS-Layout.

Ein Beispiel wäre z.B. die Eingabe eines Formulars zu überprüfen.

Ja, gut ... Das wäre aus Arbeitgebersicht eine schlichte Einstiegsaufgabe. Nichts schlechtes, aber für sich genommen ist das noch keine interessante Arbeitsprobe, geschweige denn ein zusammenhängendes Projekt.

In der Praxis solltest du nur nicht händisch die Eingabe eines Formulars überprüfen. Du solltest auf einer Ebene arbeiten, auf der Daten schematisch und deklarativ beschrieben sind (z.B. "ein User hat ein Text-Feld 'name', es ist obligatorisch"). Unter anderem der Datenzugriff und die Formularvalidierung werden von diesen Regeln abgeleitet.

Hierfür gibt es schon unzählige fertige Scripte. Sollte ich hier eher zeigen, dass ich ein fertiges Script nehme und anpassen kann oder eher zeigen, dass ich so was von beginn an selbst programmieren kann?

Am besten sowohl als auch. Nutze bestehende Bibliotheken, wo es dir als sinnvoll erscheint. Baue auf ihnen auf und setze damit deine konkrete, noch nicht gelöste Aufgabe um.

Erfinde nicht das Rad neu für eine Arbeitsprobe, es sei denn, du baust etwas, was der Welt wirklich fehlt.

nils.mu