Projektportfölj inom Webbutveckling?

Permalänk

Projektportfölj inom Webbutveckling?

Hej! Jag är nyfiken på vad för slags projektportfölj man bör bygga upp under sin Webbutvecklingsutbildning? När jag kikat på diverse YouTube-klipp om saken så verkar "Bug Tracker" vara populärt. Jag tänker att man vill göra något projekt som involverar flera bitar inom webbutveckling:

- NodeJS eller annan serverbaserad webbkod
- JavaScript (gärna ramverk så det demonstreras att det behärskas, t.ex. ReactJS)
- HTML/CSS (responsiv design vedertaget, kanske även här ramverk såsom Tailwind?)
- Autentisering av något slag (krypterad säkrad inloggning)
- CMS och Databashantering (SQL, GraphQL eller liknande)

En projektidé som omfattar alla bitar ovan jag har är ett frågesportspel där NodeJS blir serverkod som hämtar frågor från en databas och skickar ut till deltagare. Serverkoden låter en administratör logga in (autentisering) som kan lägga in egna frågor (CSM + databas) av olika slag (frågor där svar skrivs in, frågor med svarsalternativ, bildfrågor där en bild visas, ljudfrågor där ljud spelas upp och svars skrivs in eller väljs från alternativ).

Sedan kan administratören skapa en spelsession där folk får delta via sina mobiltelefoner, surfplattor eller datorer (HTML/CSS med responsiv design). För detta antar jag att websockets.io behövs eller går det att sköta hela med hjälp av NodeJS-serverkod och vanlig JS i något ramverk (t.ex. ReactJS)?

Idén kommer från att jag vet att min far tycker om att hålla i frågesport vid släktträffar och födelsedagar och då vore det roligt att ge honom en enklare lösning än papper och pennor: lägg in frågorna i en adminpanel (webbtjänst) i en lokalserver (egen NodeJS-serverkod och kanske egenhostad PostgreSQL-databas) i hemmet och sedan går folk med i en spelsession via lokal WiFi.

Projektidén är inget unikt i sig men kanske en trevlig utmaning för att behärska olika ovannämnda delar inom Webbutveckling samtidigt som något mervärde skapas utav det hela? Finns det någon annan del inom webbutveckling som bör ingå i listan ovanför? Testing tänker jag?

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"

Permalänk
Medlem

Tjena,

Jag jobbar som Produktägare och har anställt en hel del juniora utvecklare.

För det första skulle jag råda dig att börja med några mindre projekt. Det du beskriver riskerar att bli väääldigt segdraget om du är junior, och risken är att du helt enkelt tappar lusten.

Tbh tycker jag inte det ger så mycket att se att någon kollat en timmes youtube-tutorial av varenda framework som finns därute och inkorporerat det i sina projekt. Det man tittar efter är snarare någon sorts generell nyfikenhet och kontinuitet, kort sagt att du är intresserad av fältet och löser egna problem istället för att skriva av tutorials (det märks fort om man ställer lite frågor).

Kort sagt, hugg tag i något projekt du tycker känns kul och intressant och använd de bästa teknikerna som finns tillgängliga för att lösa problemet.

Sen skadar det inte att visa att du har en grundförståelse för att (och hur) man bör dokumentera/kommentera/strukturera etc.

Permalänk
Sötast

FIN TRÅD, TACK FÖR LÄNKEN.

Permalänk
Medlem

Första projektet kan vara att göra en landningssida där de andra projekten kan rymmas (kan dock vara så enkelt som github, men roligare om du gjort något eget)

Sen skulle jag göra små projekt med olika tekniker, visa att du har en bredd och kan lära dig nya saker

Skapa en lista med kända buggar och möjliga förbättringar, det visar att du tänkt lite kring vad du gjort och vad som är kvar att göra. Lägg lite TODO kommentarer i koden där du vet att det är stökigt eller kan förbättras på andra sätt

Gör saker på andra plattformar, kanske appar eller windows? Väldigt få saker funkar bara på ett sätt och igen: visa bredd. Problemlösningen ligger i att bryta ner sakerna och lösa delproblemen, inte att vara låst till en plattform eller språk

Kopiera något visuellt så bra du kan, då kan någon med lätthet se hur väl du kan arbeta mot en känd specifikation. Alla kan se om en Cadillac ser rätt ut, ingen diskussion om man nått målet eller ej

Permalänk
Medlem

Om du är junior utvecklare utan några tidigare projekt på nacken så låter det som ett väldigt ambitiöst projekt. Nu vet inte jag vad du har för bakgrund eller kunskapsnivå du ligger på mer än att du går/gått en "webbutvecklingsutbildning" så kanske har bra insyn på vad som faktiskt krävs av ett projekt.

Det viktigaste (min personliga åsikt) är att försöka hålla glöden uppe. Det dina framtida arbetsgivare kommer vilja se är nyfikenhet, vilja att lära sig och att du faktiskt är intresserad. Jag tycker att man kan lika väl visa det genom flera mindre projekt som ett mega-projekt där du täcker hela stacken, och chansen att du bränner ut dig är avsevärt mycket mindre.

Permalänk
Medlem

Kom på en sak till, lägg upp dina skolprojekt! Inklusive uppgiftsbeskrivningen så man själv kan ’betygsätta’ eller i alla fall få en inblick i vad du lyckats med

Permalänk
Medlem
Skrivet av izzie:

Halloj!

För någon som har ungefär samma frågeställning som TS men lär sig genom onlinekurser och labbande, utan "riktig" utbildning;
Vad ställer man som arbetsgivare för krav på sökande när det kommer till kunskaper och det inte finns en examen eller liknande?

För nu så kan vi lägga personlighetsaspekten åt sidan och anta att den som söker upplevs vetgirig, intresserad, har känsla för lagspel och är allmänt vettig.

Jag läser dagligen, lär mig hela tiden och behöver googla ganska ofta.
Jag känner liksom aldrig att jag faktiskt kan, eftersom att jag någon gång längs vägen i ett projekt fastnar och behöver söka information.
Väl där så löser jag ofta problemen rätt snabbt, ibland tar det längre tid men det blir aldrig olöst.

Finns det några konkreta minimikrav?
Jag har inte ens funderat på att söka jobb eftersom jag är svinrädd för att jag är för dålig och har ingen aning om hur lite, eller mycket, man faktisk behöver kunna för att vara ett alternativ.

Om du som produktägare vill ge lite insikt så tror jag att vi är flera nybörjare som skulle uppskatta det!

Dubbelcitering
Visa signatur

CITERA OM DU VILL HA SVAR! :)

Permalänk
Medlem
Skrivet av Manneh:

Halloj!

För någon som har ungefär samma frågeställning som TS men lär sig genom onlinekurser och labbande, utan "riktig" utbildning;
Vad ställer man som arbetsgivare för krav på sökande när det kommer till kunskaper och det inte finns en examen eller liknande?

För nu så kan vi lägga personlighetsaspekten åt sidan och anta att den som söker upplevs vetgirig, intresserad, har känsla för lagspel och är allmänt vettig.

Jag läser dagligen, lär mig hela tiden och behöver googla ganska ofta.
Jag känner liksom aldrig att jag faktiskt kan, eftersom att jag någon gång längs vägen i ett projekt fastnar och behöver söka information.
Väl där så löser jag ofta problemen rätt snabbt, ibland tar det längre tid men det blir aldrig olöst.

Finns det några konkreta minimikrav?
Jag har inte ens funderat på att söka jobb eftersom jag är svinrädd för att jag är för dålig och har ingen aning om hur lite, eller mycket, man faktisk behöver kunna för att vara ett alternativ.

Om du som produktägare vill ge lite insikt så tror jag att vi är flera nybörjare som skulle uppskatta det!

Tjena,

Generellt så är utvecklingsbranschen en av de mest accepterande mot att inte ha en formell utbildning. Vad du kan och vad du har gjort innan är definitivt mer avgörande än ett diplom.

Det som blir ännu viktigare är därför att du har något att visa upp för att kunna bedöma dina egenskaper, dvs en portfolio (lämpligtvis på Github eller liknande). Gärna några olika projekt där du kan prata genom vilka vägval du gjort, att du har hyfsad koll på vilka konsekvenser det innebär, etc.

På gott och ont finns det inga konkreta minimikrav och det skiljer naturligtvis även mellan bolag vad man förväntar sig. Personligen, om jag letar efter en junior utvecklare, anställer jag mycket hellre någon som verkar taggad på att lära sig mer och är öppen med att de inte kan allt, än någon som tror de är världsbäst och vet mer än alla andra.

Om jag skulle ge någon sorts grundplåt skulle jag väl rekommendera att ha okej koll på:
- HTML och CSS (du behöver inte kunna allt om flexbox och grid och animationer och skit, men basics hjälper dig långt)
- JavaScript (åter igen grundplåtarna, loopar, objekt etc. Här skulle jag lägga majoriteten av min tid som junior)
- Lite erfarenhet av ett ramverk, många använder tex React
- Git (lägg lite tid här, det är fett värt att kunna och du kommer stöta på det direkt)

Rekommenderar att börja söka jobb så tidigt som möjligt. Att få (och få betalt för) att sitta och lära sig minst åtta timmar om dagen mot någon timma eller två på kvällarna kommer göra att du flyger fram i din utveckling. Var öppen med vad du kan, vad du känner dig osäker på och framför allt vad du är taggad på att lära dig mer av, så tror jag inte det kommer vara några problem.

Jag skulle också titta mot att söka jobb på webbyråer, där är man ofta van vid att fånga upp juniora utvecklare. Då får du också chans att exponeras för olika projekt samtidigt vilket också accelererar lärandet.

Lycka till!

Citat:

...och behöver googla ganska ofta.
Jag känner liksom aldrig att jag faktiskt kan, eftersom att jag någon gång längs vägen i ett projekt fastnar och behöver söka information.

Välkommen till branschen! En rutinerad utvecklare googlar inte mindre, en rutinerad utvecklare vet bara vad hen ska googla på.

Permalänk
Medlem
Skrivet av Manneh:

Jag läser dagligen, lär mig hela tiden och behöver googla ganska ofta.
Jag känner liksom aldrig att jag faktiskt kan, eftersom att jag någon gång längs vägen i ett projekt fastnar och behöver söka information.
Väl där så löser jag ofta problemen rätt snabbt, ibland tar det längre tid men det blir aldrig olöst.

Klart du kan. Att Googla är en del av arbetet och att göra det rätt är inte lätt.

Permalänk
Medlem
Skrivet av izzie:
Skrivet av Curik:

Jag förstår att söka information i sig inte är konstigt, men jag slås ibland över hur "enkla" lösningarna är.
Saker jag kanske inte borde ha behövt söka hjälp om och som får mig att tvivla på mina kunskaper.

För min egen skull så tar jag gärna lite tankar kring följande exempel:
Jag ville rensa en array deklarerad som const, alla mutable array-funktioner fungerade såklart men det kändes märkligt att köra en for-loop med .pop() för att tömma den, vilket jag testade och får snabbt reda på att det blir tokigt eftersom .length i for-loopen kontrolleras för varje iteration.

Jag kände mig rätt snopen när jag googlar och första svaret är att sätta .length=0 vilket i efterhand är så jäkla självklart.

Hur ofta händer det er erfarna att ni får, för er själva, självklara svar från google och kan man vara redo att arbeta med det här trots att man får det ibland?

För att hålla tråden lite on-topic, tycker ni att man skall dokumentera problem likt ovanstående i sitt projekt?
Jag försöker ofta hitta lärdomar i det jag gör och det gjorde jag ju även här, bör man dokumentera vad man faktiskt lärt sig för nytt med varje projekt?

Visa signatur

CITERA OM DU VILL HA SVAR! :)

Permalänk
Medlem
Skrivet av Manneh:

Jag förstår att söka information i sig inte är konstigt, men jag slås ibland över hur "enkla" lösningarna är.
Saker jag kanske inte borde ha behövt söka hjälp om och som får mig att tvivla på mina kunskaper.

För min egen skull så tar jag gärna lite tankar kring följande exempel:
Jag ville rensa en array deklarerad som const, alla mutable array-funktioner fungerade såklart men det kändes märkligt att köra en for-loop med .pop() för att tömma den, vilket jag testade och får snabbt reda på att det blir tokigt eftersom .length i for-loopen kontrolleras för varje iteration.

Jag kände mig rätt snopen när jag googlar och första svaret är att sätta .length=0 vilket i efterhand är så jäkla självklart.

Hur ofta händer det er erfarna att ni får, för er själva, självklara svar från google och kan man vara redo att arbeta med det här trots att man får det ibland?

För att hålla tråden lite on-topic, tycker ni att man skall dokumentera problem likt ovanstående i sitt projekt?
Jag försöker ofta hitta lärdomar i det jag gör och det gjorde jag ju även här, bör man dokumentera vad man faktiskt lärt sig för nytt med varje projekt?

Spontant så dels finns det så långa språk/ramverk/bibliotek/api som hela tiden utvecklas och ändras att man helt enkelt inte kan hålla sig uppdaterad på allt. Sen har då också fallet när du ska hantera kod som är gammal eller ett stort projekt med många delar. Väldigt sällan man är upphovsman till koden eller har perfekt kunskap om nuvarande status eller sammanhang på den delen man ska pilla på. Best practice ändras hela tiden och nästan omöjligt att hänga med om man inte är väldigt smal/specialiserad på ett specifikt problem.

Googla och söka information är nog den viktigaste delen, men också att avgöra vad man ska använda sig av och vad som passar bra i det läget man är i (man kan ju inte läsa in nya bibliotek för varje liten grej man vill pilla på)

Viktigaste för mig är inte att koden är ’snabb’, mycket viktigare att den är lättläst och förståelig, har lite kommentarer på de ställen som kan bättras eller är farliga/känsliga att ändra. Prestanda är ganska lågt prioriterad så länge det är snabbt nog att inte märkas i UI. Så länge UI är responsivt nog och tydligt visar en spinner när några tar mer tid så är det oftast inget problem

Permalänk
Medlem
Skrivet av Manneh:

Jag förstår att söka information i sig inte är konstigt, men jag slås ibland över hur "enkla" lösningarna är.
Saker jag kanske inte borde ha behövt söka hjälp om och som får mig att tvivla på mina kunskaper.

För min egen skull så tar jag gärna lite tankar kring följande exempel:
Jag ville rensa en array deklarerad som const, alla mutable array-funktioner fungerade såklart men det kändes märkligt att köra en for-loop med .pop() för att tömma den, vilket jag testade och får snabbt reda på att det blir tokigt eftersom .length i for-loopen kontrolleras för varje iteration.

Jag kände mig rätt snopen när jag googlar och första svaret är att sätta .length=0 vilket i efterhand är så jäkla självklart.

Nu har du inte berättat vilket språk som du jobbar med, och är den const så borde du ju inte kunna poppa alls? Men ang. for-loopen hade du också kunnat gjort om den till en while-loop som poppar varje iteration och fortsätter iterera så länge length > 0.

Att length=0 skulle tömma din array är inte självklart, det låter som en språkdetalj. I C# handlar Length/Count oftast om en property eller metod som inte går att assigna, så då fungerar inte den lösningen. I C++ likaså.

Skrivet av Manneh:

Hur ofta händer det er erfarna att ni får, för er själva, självklara svar från google och kan man vara redo att arbeta med det här trots att man får det ibland?

Jättejätteofta. På riktigt, det där är en insikt man får med lite erfarenhet. Hade ett par nya killar på jobbet som jag lärde upp och dom hade ungefär samma tankar som du.

Skrivet av Manneh:

För att hålla tråden lite on-topic, tycker ni att man skall dokumentera problem likt ovanstående i sitt projekt?
Jag försöker ofta hitta lärdomar i det jag gör och det gjorde jag ju även här, bör man dokumentera vad man faktiskt lärt sig för nytt med varje projekt?

Det tycker inte jag. Har du/ni skrivit length-logiken själva så ska det framgå antingen av namnet på metoden/variabeln eller en kommentar någonstans att den har beteendet du beskriver.

Resten tycker jag kommer med vana och erfarenhet. Men sido-effekter som att en array töms när man sätter length=0 ska normalt framgå.

Permalänk
Medlem
Skrivet av Manneh:

Jag förstår att söka information i sig inte är konstigt, men jag slås ibland över hur "enkla" lösningarna är.
Saker jag kanske inte borde ha behövt söka hjälp om och som får mig att tvivla på mina kunskaper.

För min egen skull så tar jag gärna lite tankar kring följande exempel:
Jag ville rensa en array deklarerad som const, alla mutable array-funktioner fungerade såklart men det kändes märkligt att köra en for-loop med .pop() för att tömma den, vilket jag testade och får snabbt reda på att det blir tokigt eftersom .length i for-loopen kontrolleras för varje iteration.

Jag kände mig rätt snopen när jag googlar och första svaret är att sätta .length=0 vilket i efterhand är så jäkla självklart.

Hur ofta händer det er erfarna att ni får, för er själva, självklara svar från google och kan man vara redo att arbeta med det här trots att man får det ibland?

För att hålla tråden lite on-topic, tycker ni att man skall dokumentera problem likt ovanstående i sitt projekt?
Jag försöker ofta hitta lärdomar i det jag gör och det gjorde jag ju även här, bör man dokumentera vad man faktiskt lärt sig för nytt med varje projekt?

Tycker det verkar som att du är mer än redo för en junior roll. Go for it!

Permalänk
Skrivet av izzie:

Tjena,

Jag jobbar som Produktägare och har anställt en hel del juniora utvecklare.

För det första skulle jag råda dig att börja med några mindre projekt. Det du beskriver riskerar att bli väääldigt segdraget om du är junior, och risken är att du helt enkelt tappar lusten.

Tbh tycker jag inte det ger så mycket att se att någon kollat en timmes youtube-tutorial av varenda framework som finns därute och inkorporerat det i sina projekt. Det man tittar efter är snarare någon sorts generell nyfikenhet och kontinuitet, kort sagt att du är intresserad av fältet och löser egna problem istället för att skriva av tutorials (det märks fort om man ställer lite frågor).

Kort sagt, hugg tag i något projekt du tycker känns kul och intressant och använd de bästa teknikerna som finns tillgängliga för att lösa problemet.

Sen skadar det inte att visa att du har en grundförståelse för att (och hur) man bör dokumentera/kommentera/strukturera etc.

Tack för svaret!

Jag är inte junior, jag läser just nu Webbutvecklingsprogrammet på distans vid Miun. Precis nyligen lämnade jag in projektrapport för Introduktionskursen inom JavaScript. Nu ska jag bli färdig med HTML & CSS-kursen på en vecka! 😂

Jag har en "bloggtråd" här på forumet där jag dokumenterar mina framsteg och även länkar till färdiga projekt (inklusive det jag lämnat in nu).

Har du exempel på vad som skulle klassas som mindre projekt?

T.ex. "ToDo"-app som många visar på YT var Moment 3 i Introduktionskursen i JavaScript medan projektuppgiften handlade om att skapa en webbtjänst med hjälp av AJAX-anrop från Sveriges Radios API.

Jag försökte få till att använda async, await & Promise men fick inte till det ännu. Tydligen kommer det i kurs Webbutveckling III vilket är flera kurser framöver då Webbutveckling I är vad jag ska bli klar med innan 31:a oktober i år.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"

Permalänk
Medlem
Skrivet av WebbkodsLärlingen:

Tack för svaret!

Jag är inte junior, jag läser just nu Webbutvecklingsprogrammet på distans vid Miun. Precis nyligen lämnade jag in projektrapport för Introduktionskursen inom JavaScript. Nu ska jag bli färdig med HTML & CSS-kursen på en vecka! 😂

Jag har en "bloggtråd" här på forumet där jag dokumenterar mina framsteg och även länkar till färdiga projekt (inklusive det jag lämnat in nu).

Har du exempel på vad som skulle klassas som mindre projekt?

T.ex. "ToDo"-app som många visar på YT var Moment 3 i Introduktionskursen i JavaScript medan projektuppgiften handlade om att skapa en webbtjänst med hjälp av AJAX-anrop från Sveriges Radios API.

Jag försökte få till att använda async, await & Promise men fick inte till det ännu. Tydligen kommer det i kurs Webbutveckling III vilket är flera kurser framöver då Webbutveckling I är vad jag ska bli klar med innan 31:a oktober i år.

Mvh,
WKL.

Försök hitta en lösning på något problem du eller någon närstående har i vardagen. Top of mind:
- Portfolio där du länkar till/visar upp dina projekt
- Någon schysst elpris-monitortjänst
- Bevakningstjänst för när vissa produkter är på rea hos din mataffär
- Receptgenerator baserat på vad du skrivit in att du har i skafferiet
- Sajt som visar nuvarande vindstyrka i din stad

Etc etc. Behöver inte vara så krångligt.