Das Full Stack Design Konzept

Es war einmal der Fall, dass die meisten Personen, die in der Website-Entwicklung tätig waren, klar definierte Rollen in einem Entwicklungsteam hatten, und es wurde selten erwartet, dass sie sich mit anderen Rollen überschneiden.

Dinge haben sich geändert. Nun kann von den Mitarbeitern erwartet werden, dass sie mehrere Aufgaben haben, und sogar in großen Organisationen können die Jobrollen zwischen den Teammitgliedern austauschbar sein.

Immer häufiger sehen wir Stellenanzeigen, die nach „Full-Stack-Entwicklern“ verlangen, und das Problem ist, dass nicht jeder ganz genau versteht, was dieser Begriff bedeutet. In vielen Fällen ist dies auch keine vernünftige Voraussetzung. Es ist oft zu sehen, dass derjenige, der die Anzeige aufgegeben hat, keine Ahnung hatte, was der Begriff bedeutet, und ihn nur verwendet hat, weil alle anderen dies tun.

Volle Stack-Entwicklung ist in der Tat nichts Besonderes. Wahrscheinlich verfügen Sie bereits über alle erforderlichen Fähigkeiten, übertreffen aber wahrscheinlich in einem bestimmten Bereich des Stapels mehr als in anderen. Es wird jedoch immer schwieriger, als Spezialist angestellt zu werden. Es ist daher eine gute Idee, ein breites Verständnis der Core-Stack-Technologien zu haben.

Bild von

Warum die Nachfrage nach Full-Stack-Entwicklern kontraproduktiv ist

Designer sind gut im Design. Codierer sind gut in der Codierung. Ingenieure sind gut im Engineering. Wenn Sie möchten, dass eine Person in jedem Bereich des Konstruktions- und Entwicklungsauftrags kompetent ist, kann es sein, dass Ihre Ergebnisse nicht perfekt sind.

Das ist eine einfache Logik. Jemand, der eine Leidenschaft für Design hat, sollte Design entwerfen, genauso wie jemand, der eine Leidenschaft für Code hat, Codieren sollte. Wenn ein geborener Codierer gezwungen ist, etwas zu entwerfen, kann er oder sie mit einem akzeptablen Design aufwarten, aber es ist höchstwahrscheinlich nicht so gut wie etwas, das von einem geborenen Designer entworfen wurde.

Während es für Teammitglieder hilfreich sein kann, die Jobs des jeweils anderen zu verstehen und sich auch gegenseitig ausfüllen zu können, ist es in der Regel am besten, jedem Mitglied zu gestatten, an seinen Stärken zu arbeiten.

Was ist ein voller Stack-Entwickler?

Wir beginnen damit, zu definieren, was "der Stapel" tatsächlich ist. Die Idee des Stacks besteht aus einer Gruppe miteinander verbundener Technologien, die die Existenz eines Standorts ermöglichen.

Ein Full-Stack-Entwickler ist also jemand, der mit jeder Schicht in diesem Stack von Technologien umgehen kann, ohne zu zucken.

Die erste Schicht: UX Research

Die Entwicklung einer Website beginnt mit dem Ermitteln des von der Website angestrebten Ziels und der Entwicklung eines darauf basierenden Plans.

User Experience (UX) ist ein lose definiertes Konzept, das grundlegend für das Design und die Entwicklung moderner Websites ist. Bei der Planung der Website müssen Sie die von Ihnen erstellte UX berücksichtigen. Dies erfordert einige Nachforschungen, um zu bestimmen, welche Attribute die Site benötigt, um eine positive UX zu liefern.

gif von

Die zweite Schicht: UI-Design

Nachdem Sie die Faktoren ermittelt haben, die zu einer positiven UX führen werden, entwerfen Sie nun eine Benutzeroberfläche (UI), die die von Ihnen identifizierten UX-Faktoren berücksichtigt.

Dies bedeutet, über Dinge wie das Laden von Indikatoren, das Navigationsmenü, Navigations-Breadcrumbs, das Layout der Website, Hintergründe, Bilder, Schriftarten, Farben und vielleicht noch weiter fortgeschrittene Dinge wie Audio und Video nachzudenken.

Ziel ist es, all diese Dinge so einfach wie möglich zu machen und sicherzustellen, dass sie gut aussehen und funktionieren. Es ist auch eine gute Idee, die Optimierung der einzelnen Komponenten zu planen.

Die dritte Schicht: Front End Development

Hier beginnt die eigentliche Aktion. Bisher hat alles geplant und entworfen, aber zu diesem Zeitpunkt haben wir es tatsächlich getan implementieren das Design. Durch die Verwendung von HTML, CSS, JavaScript und möglicherweise anderen Technologien nimmt der Prototyp einer Website Form und (möglicherweise) Leben an.

Wenn es sich nicht um eine sehr einfache Website handelt, ist sie an diesem Punkt wahrscheinlich nicht voll funktionsfähig. Es wird jedoch ein funktionierender Prototyp sein, der zumindest das Aussehen und den Eindruck einer fertigen Site hat.

gif von

Die vierte Schicht: Back End Development

Im hinteren Bereich der Website werden spezielle Technologien eingesetzt. Wenn Ihre Site es braucht do Wenn sich auf der Serverseite alles auf der Grundlage von Benutzeraktionen befindet (z. B. Verarbeitung des Inhalts eines Einkaufswagens, bevor eine Anfrage an PayPal übergeben wird), geschieht dies hier.

Es gibt viele verschiedene Technologien, die Sie auswählen können, um diese Aufgaben zu erledigen, und einige sind besser geeignet als andere. Momentan sind PHP und Ruby die gebräuchlichsten Optionen. Es gibt jedoch weit mehr als 1000-Optionen, die genauso gut ausgewählt werden könnten.

PHP ist die flexibelste und einfachste Lösung, ist jedoch nicht unbedingt die effizienteste. Für alle, die gerade erst mit ihrer Karriere beginnen, ist dies die beste Server-Sprache, die man lernen kann, weil sie einfach zu erlernen ist und weil sie in so vielen Bereichen so verbreitet ist.

Diese Schicht kann manchmal Dinge wie Serverkonfiguration und -verwaltung, Netzwerktechnik usw. enthalten.

Die fünfte Schicht: Datenbankverwaltung

Das Entwerfen und Entwickeln von Datenbanken zur Unterstützung der Aufgaben, die Ihre Site erledigen muss, kann eine wichtige Aufgabe sein. Um dies gut zu machen, müssen Sie die Datenbankarchitektur beherrschen und SQL-Master werden.

Dies ist eines der Dinge, die wirklich einfach klingen und sich als komplexer erweisen, als erwartet. Es hängt alles davon ab, wie schick die zu erledigenden Aufgaben sind.

Illustration von

Wie sollte ein neuer Entwickler die erforderlichen Fähigkeiten erlangen?

Am besten lernt man von der fünften Schicht bis zur ersten Schicht. Das liegt daran, dass die Schichten nach Schwierigkeitsgrad geordnet sind. Die schwierigste Aufgabe ist das Erstellen ausgezeichneter Datenbanken, und dies wird für die meisten Leute die am wenigsten interessante Aufgabe sein. Besser, es dann schnell aus dem Weg zu räumen.

Sie würden dann mit dem Erlernen einer Programmiersprache wie PHP, Ruby, Python, Java usw. fortfahren. Sie könnten so viele oder so wenig lernen, wie Sie möchten, aber die Möglichkeiten, die PHP-Programmierern zur Verfügung stehen, sind viel größer als für die anderen Sprachen wenn es um webentwicklung geht. Die Ausnahme ist JavaScript, aber diese wird immer noch hauptsächlich als clientseitige Sprache angesehen, daher gehört sie technisch zur dritten Schicht.

Nachdem Sie eine Back-End-Programmiersprache beherrschen, lernen Sie die wesentlich einfachere Aufgabe, Websites mit HTML, CSS und JavaScript (und / oder anderen Technologien) zu erstellen.

Als Nächstes würden Sie sich mit der noch leichteren Aufgabe des UI-Designs beschäftigen. In Anbetracht dessen, wie einfach dies ist, ist es überraschend, dass viele Websites schlecht gestaltete Benutzeroberflächen oder extrem abgeleitete Benutzeroberflächen haben. Das Design der Benutzeroberfläche ist nicht schwer.

Schließlich geht es um das Einfachste von allen, die UX-Forschung. Der Grund, warum dieses so einfach ist, liegt darin, dass Sie seit dem Tag, an dem Sie geboren wurden, daran beteiligt waren. Wir kommen in die Welt und reagieren auf Dinge, die uns entweder Freude oder Bedrängnis bringen.

Wenn Sie ein Erwachsener sind, sollten Sie ein gutes Verständnis für diese Dinge haben, und das UX-Design plant ganz einfach eine Benutzererfahrung, die mehr der Dinge umfasst, die Freude bereiten, und weniger der Dinge, die Stress verursachen.

Headerbild mit freundlicher Genehmigung von

Profilbild

Bogdan Rancea

Bogdan ist Gründungsmitglied von Inspired Mag und hat in diesem Zeitraum fast 6-Jahre Erfahrung gesammelt. In seiner Freizeit studiert er gern klassische Musik und erforscht die bildende Kunst. Er ist auch ziemlich besessen von Fixies. Er besitzt bereits 5.