Het volledige stapelontwerpconcept

Het was ooit zo dat de meeste mensen die werkzaam waren in de ontwikkeling van websites duidelijk omschreven rollen binnen een ontwikkelingsteam hadden, en er werd zelden verwacht dat ze in andere rollen zouden overlappen.

Dingen zijn veranderd. Nu mag van mensen worden verwacht dat ze multi-taken uitvoeren, en zelfs in grote organisaties kunnen jobrollen uitwisselbaar zijn tussen teamleden.

We zien steeds vaker vacatures voor "full-stack-ontwikkelaars", en het probleem is dat niet iedereen volledig begrijpt wat deze term betekent. Het is in veel gevallen ook geen redelijke vereiste. Het is vaak te zien dat degene die de advertentie plaatste ook geen idee had wat de term betekent, en het gewoon gebruikte omdat alle anderen dat doen.

Volledige stapelontwikkeling is eigenlijk niets bijzonders. Hoogstwaarschijnlijk heb je al alle benodigde vaardigheden, maar waarschijnlijk blink je meer uit in een bepaald deel van de stapel dan in andere. Het wordt echter steeds moeilijker om als specialist te worden aangenomen, dus het is een goed idee om zeker te zijn van een breed begrip van de core stack-technologieën.

afbeelding door

Waarom de vraag naar ontwikkelaars van full-stacks contraproductief is

Ontwerpers zijn goed in ontwerpen. Coders zijn goed in coderen. Ingenieurs zijn goed in techniek. Wanneer u een individubbel om competent te zijn in elk onderdeel van de ontwerp- en ontwikkelingstaak, kan het zijn dat u minder dan perfecte resultaten krijgt.

Dat is een eenvoudige logica. Iemand met een passie voor design moet ontwerpen, net zo min als iemand met een passie voor code moet coderen. Als een geboren codeur wordt gedwongen iets te ontwerpen, kan hij of zij een acceptabel ontwerp bedenken, maar het zal hoogst waarschijnlijk niet zo goed zijn als iets dat is ontworpen door een geboren ontwerper.

Hoewel het nuttig kan zijn voor teamleden om elkaars banen te begrijpen en zelfs om voor elkaar in te kunnen vullen, is het meestal het beste om elk lid toe te staan ​​om te werken aan zijn of haar sterke punten.

Wat is een volledige stack-ontwikkelaar?

We beginnen met te definiëren wat "de stapel" eigenlijk is. Het idee van de stack is een groep onderling verbonden technologieën die het mogelijk maken dat een site bestaat.

Een full-stack ontwikkelaar is dan iemand die elke laag in die stapel technologieën kan verwerken zonder te stoppen.

De eerste laag: UX Research

Het proces van het ontwikkelen van een website begint met het uitzoeken welk doel de site moet bereiken en vervolgens een plan ontwikkelen op basis van dat doel.

User Experience (UX) is een los gedefinieerd concept dat fundamenteel is voor modern ontwerp en ontwikkeling van de site. Bij het plannen van de website moet u rekening houden met de UX die u aan het maken bent. Dit vereist wat onderzoek om te bepalen welke attributen de site nodig heeft om een ​​positieve UX te leveren.

gif door

De tweede laag: UI-ontwerp

Nadat u de factoren hebt bepaald die een positieve UX zullen bieden, gaat u nu verder met het ontwerpen van een gebruikersinterface (UI) die de door u geïdentificeerde UX-factoren zal aanpakken.

Dit betekent nadenken over zaken als het laden van indicatoren, het navigatiemenu, navigatiebrokjes, sitelay-out, achtergronden, afbeeldingen, lettertypen, kleuren en misschien nog geavanceerdere zaken als audio en video.

Het doel is om al deze dingen zo eenvoudig mogelijk toegankelijk te maken en ervoor te zorgen dat ze er goed uitzien en goed werken. Zorgen voor de individubbele componenten zijn geoptimaliseerd, is ook een goed idee om vooruit te plannen.

De derde laag: front-end ontwikkeling

Dit is waar de echte actie begint. Tot nu toe was het allemaal aan het plannen en ontwerpen, maar in dit stadium doen we dat eigenlijk uitvoeren het ontwerp. Met behulp van HTML, CSS, JavaScript en misschien andere technologieën krijgt het prototype van de website vorm en uiteindelijk ook leven.

Tenzij het een zeer eenvoudige site is, zal deze op dit moment waarschijnlijk niet volledig functioneel zijn. Het zal echter een werkend prototype zijn dat op zijn minst het uiterlijk heeft van hoe de voltooide site zou moeten zijn.

gif door

De vierde laag: Back-end ontwikkeling

De achterkant van de site is waar speciale activerende technologieën worden gebruikt. Als uw site dat moet doen do alles aan de serverzijde op basis van gebruikersacties (bijvoorbeeld het verwerken van de inhoud van een winkelwagentje voordat een verzoek aan PayPal wordt doorgegeven), dan is dit waar het gebeurt.

Er zijn veel verschillende technologieën waaruit u kunt kiezen om voor deze taken te zorgen, en sommige zijn meer geschikt dan andere. De meest gebruikelijke keuzes op dit moment zijn PHP en Ruby, maar er zijn meer dan 1000-keuzes die evengoed kunnen worden geselecteerd.

PHP is de meest flexibele en gemakkelijkste oplossing, maar hoeft niet noodzakelijk de meest efficiënte te zijn. Voor iedereen die net met hun carrière begint, is het de beste taal op de server-kant om te leren, omdat het gemakkelijk te leren is en omdat het op zoveel manieren op grote schaal wordt gebruikt.

Deze laag kan soms zaken bevatten als serverinstellingen en -beheer, netwerkengineering, enzovoort.

De vijfde laag: databasebeheer

Het ontwerpen en ontwikkelen van databases ter ondersteuning van de taken die uw site moet uitvoeren, kan een grote klus zijn. Om dit goed te doen, moet u de database-architectuur beheersen en ook een master in SQL worden.

Dit is een van die dingen die heel gemakkelijk klinkt en eigenlijk ingewikkelder blijkt te zijn dan verwacht. Het hangt allemaal af van hoe mooi de taken zijn die moeten worden afgehandeld.

illustratie door

Hoe moet een nieuwe ontwikkelaar de benodigde vaardigheden verwerven?

De beste manier is om vanaf de vijfde laag te leren en naar de eerste laag te werken. Dat komt omdat de lagen zijn gesorteerd op hun moeilijkheidsgraad om te leren. De moeilijkste taak is het maken van uitstekende databases, en het zal voor de meeste mensen ook de minst interessante taak zijn. Het is beter om het snel uit de weg te ruimen.

Je zou dan verder gaan om een ​​programmeertaal te leren, zoals PHP, Ruby, Python, Java, enz. Je zou zoveel of zo weinig kunnen leren als je wilt, maar de kansen die beschikbaar zijn voor PHP-programmeurs zijn veel groter dan voor de andere talen. als het gaat om webontwikkeling. De uitzondering is JavaScript, maar dit wordt nog steeds voornamelijk beschouwd als een taal aan de clientzijde, dus het hoort technisch gezien in de derde laag.

Na het beheersen van een back-end programmeertaal, zou je verder gaan met het leren van de veel eenvoudigere taak om sites te maken met HTML, CSS en JavaScript (en / of andere technologieën).

Vervolgens gaat u verder met de nog eenvoudigere taak van UI-ontwerp. Gezien hoe gemakkelijk dit is, is het verrassend dat veel sites slecht ontworpen gebruikersinterfaces of extreem afgeleide gebruikersinterfaces hebben. UI-ontwerp is niet het minst moeilijk.

Eindelijk kom je bij het eenvoudigste van allemaal, namelijk UX-onderzoek. De reden dat deze zo gemakkelijk is, is omdat je er al vanaf de dag van je geboorte bij betrokken was. We komen in de wereld om te reageren op dingen die ons vreugde of angst bezorgen.

Tegen de tijd dat je een volwassene bent, moet je een goed begrip van deze dingen hebben, en UX-ontwerp is eenvoudigweg een gebruikerservaring plannen die meer van de dingen omvat die vreugde veroorzaken en minder van de dingen die problemen veroorzaken.

header afbeelding met dank aan

Bogdan Rancea

Bogdan is een van de oprichters van Inspired Mag en heeft in die periode bijna 6 jarenlange ervaring opgebouwd. In zijn vrije tijd studeert hij graag klassieke muziek en onderzoekt hij beeldende kunst. Hij is ook behoorlijk geobsedeerd door fixies. Hij is al eigenaar van 5.