Professionell webbutvecklingsmiljö hemifrån - hur?

Permalänk

Professionell webbutvecklingsmiljö hemifrån - hur?

Tjo! Jag är numera en nyutexaminerad webbutvecklare efter 2 års universitetsutbildning på distans. Då jag tänker primärt köra det tunga lastet med 100 % kodfrilansare hemifrån - men jag kommer även söka fysiska (hybrid)jobb - så måste jag förbereda för professionell webbutvecklingsmiljö hemifrån.

Här är då några saker jag funderat på men jag är omedvetet inkompetent så det kan vara saker jag inte ens tänkt på för jag inte vet om det ännu (jag har frågat chatGPT4o om samma punkter men jag tar det med nypa salt för den "vet" egentligen ingenting):

1) Extern hårddisk eller extern SSD? Jag har två datorer så om ena går sönder så skulle jag kunna byta till den som fungerar direkt utan att arbetsflödet stoppas fullkomligt. Enligt chatGPT4o så är SSD bättre pga. det saknar mekaniska delar som HDD. Frågan är om det istället ändå går sönder fortare än externa HDDs pga. lägre total skrivmängd? node_modules-mappar är ju ökända för att typ innehålla fler filer än stjärnor i galaxen.

2) Mjukvaror för krypterade säkerhetskopior av filer? Självfallet ska alla filer krypteras med hjälp av någon mjukvara innan de säkerhetskopieras. Frågan är vilka mjukvaror som är "branschstandard" idag inom webbutveckling. chatGPT4o tipsar om "VeraCrypt" som påstås vara öppen källkod. Annars så föreslår den BitLocker då jag använder Windows. Säkerhetskopieringsprogram så föreslår chatGPT4o om "Acronis True Image". Några andra förslag här? Min tanke är att både köra säkerhetskopior lokalt på två platser OCH online på två eller tre olika 'lagringstjänster' (aka cloud services) runtom i världen. NAS i form av Synology eller QNAP i RAID-konfiguration föreslås av chatGPT4o. Vettigt eller korkat?

3) Hantering av säkerhetsnycklar (för kryptering OCH dekryptering)? Här föreslår chatGPT4o om lösenordshanterare, men ska de verkligen också lagra säkerhetsnycklar för (de)kryptering också? Andra föreslaget från "AI:n" (Artificial Idiot) är krypterade USB-enheter krypterade med hjälp av VeraCrypt, BitLocker eller liknande. Är det vanligt förekommande i "branschen"? Jag tänker mig här också att jag lagrar säkerhetsnycklarna både digitalt och fysiskt. Här pratar även chatGPT4o om att regelbundet uppdatera och rotera nycklar. Vad finns det för tjänster/riktlinjer/lösningar för det inom "branschen"? Är Yubikey värt att kika på eller är det "överdrift" om man kör hemifrån som kodfrilansare?

4) Versionshantering med någon variant av git? När det gäller git så har jag endast använt GitHub som versionshanteringsplats medan git-kommandon har varit väldigt få: git init, git commit, git push, git pull vid samarbete. Men jag har inte använt något med olika branches (t.ex. checkout) och/eller merges och liknande vilket jag tror är vanligare i bruk i "branschen"?

5) Berätta gärna om det var något annat "uppenbart" jag inte nämnt på grund av min än så länge omedvetna inkompetens!

Tack så hemskt mycket för svar på förhand! Nu börjar det riktiga kodäventyret! 😱

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem

Om du konsultar mot företag får du oftast utrustning och verktyg som du bara använder. Eller du tänkte förvara kundens kod själv? 🤔

Visa signatur

Citera för svar

Permalänk
Skrivet av Baxtex:

Om du konsultar mot företag får du oftast utrustning och verktyg som du bara använder. Eller du tänkte förvara kundens kod själv? 🤔

Mer korrekt är att jag är en så kallad "frilanskonsult" - jag är inte anställd någonstans, inte ens hos mig själv då jag är enskild firmaföretagare. Alla är inte så IT-insatta så därför undrar jag hur jag bör/ska göra när en given slutkund inte har någon aning alls om IT-detaljerna.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Mer korrekt är att jag är en så kallad "frilanskonsult" - jag är inte anställd någonstans, inte ens hos mig själv då jag är enskild firmaföretagare. Alla är inte så IT-insatta så därför undrar jag hur jag bör/ska göra när en given slutkund inte har någon aning alls om IT-detaljerna.

Mvh,
WKL.

Enklast nog att strunta i de kunderna...

Jag har kört eget i många år mot många olika kunder. Alltid fått dator och förväntats använda t ex de versionshanteringssystem som finns, backupper osv. Jag vill verkligen inte behöva ansvara och bekosta det själv. Jobbar du som utvecklare eller nån form av lagringsadministratör? Hur länge ska du spara kundens kod? Vågar du ta ansvar för att den inte stjäls osv? Att ha en extra dator, lokal backup osv känns overkill. Oftast blir man glad om man hinner skriva en rad kod per vecka. När den väl är incheckad så är den ju säker.

Antingen har du snurrat till det eller så fattar jag inte alls vad du menar.

Visa signatur

Citera för svar

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Mer korrekt är att jag är en så kallad "frilanskonsult" - jag är inte anställd någonstans, inte ens hos mig själv då jag är enskild firmaföretagare. Alla är inte så IT-insatta så därför undrar jag hur jag bör/ska göra när en given slutkund inte har någon aning alls om IT-detaljerna.

Mvh,
WKL.

Om det hade varit jag så hade jag försökt att undvika att hantera kundernas hemligheter helt och hållet. Bättre är nog att efterfråga en maskin med VPN på in till kundens miljö och låta dem hantera backup på koden, nycklar, certifikat o.s.v.

Om du gör ett jobb där du ska producera och lämna ifrån dig material från dina egna grejor så behöver du såklart hantera det, men det går ju ändå att försöka undvika hanteringen av hemligheter.

För egen del hade jag satt upp en NAS för ändamålet. Lämpligen med minst två diskar inbyggda konfigurerade för redundans. Offline kopia kan du lagra på en eller flera diskar med USB-anslutning som kopplar in till NASen när det är dags att ta ny offline backup.

För att hantera redundans på din egna dator kan du väl absolut välja att ha en reserv ståendes. Det finns också många som erbjuder någon form av support med garanterad hjälp nästa dag. Det kostar lite extra såklart, men du behöver inte ha en hel dator extra.

Datorn ansluter du till NASen och kopierar ut materialet du jobbar med och därmed har du två arbetskopior på två olika ställen.

För de jobb där kunden inte alls har någon aning om IT-detaljerna skulle jag vara mycket försiktig och säkerställa att det är jättetydligt och väl avgränsat vad det är som är ditt ansvar och ditt åtagande. Det känns annars som det blir väldigt lätt att tolka in mycket i din uppgift.

Permalänk
Medlem

Externa diskar skulle jag bara använda som cold storage och då är HDD mer lämpade.

För hot storage är en NAS lämpligare och där är ju SSD vs HDD mer en kostnadsfråga och hur mycket lagringsutrymme man behöver.

Permalänk
Skrivet av Baxtex:

Enklast nog att strunta i de kunderna...

Jag har kört eget i många år mot många olika kunder. Alltid fått dator och förväntats använda t ex de versionshanteringssystem som finns, backupper osv. Jag vill verkligen inte behöva ansvara och bekosta det själv. Jobbar du som utvecklare eller nån form av lagringsadministratör? Hur länge ska du spara kundens kod? Vågar du ta ansvar för att den inte stjäls osv?

Antingen har du snurrat till det eller så fattar jag inte alls vad du menar.

Nu känns det som om jag kommer att börja "bråka" med etablerat IT-folk här vilket jag ej vill!

Jag är en frilanskonsult, det vill säga, bedriver enskild firma 100 % hemifrån digitalt och därmed utför uppdrag på distans om inget annat är överenskommet. Samtidigt är jag helt ny på marknaden och har omedveten inkompetens kring vad som är branschstandarder vad gäller webbutvecklingsmiljöer.

I princip vill jag - i den utsträckning det är ekonomiskt hållbart för min egen del - efterlikna webbutvecklingsmiljöer som kanske Microsoft eller andra stora IT-bolag har vad gäller säkerhetskopiering, (de)kryptering, versionshantering, och alla säkerhetsprotokoll som tillkommer här som exempelvis bara hur man ska ansluta till något (t.ex. fast IP-adress via en godkänd VPN-leverantör) såväl som annat som jag inte vet om ännu.

Massor av små detaljer för att komma igång - likt hur det var i början av distansutbildningen inom webbutveckling. Och många kunder som jag troligen först kommer att få arbeta åt kommer ej ha dessa IT-resurser att hjälpa mig. Visst är det enkelt att säga att "Strunta i sådana kunder" men min hyresvärd håller inte med!

Så länge jag inte gör en "Tieto" så bör jag vara OK!

Det säger ju sig självt: Varför skulle etablerade IT-bolag välja mig framför alla sparkade seniorer som nu också jagar efter uppdrag/jobb? 🤔

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk

Som anställd systemutvecklare på ett produktbolag så ligger mitt primära fokus på utveckling och underhåll av vårat affärssystem. Det handlar i huvudsak om att skriva kod, göra vissa ändringar i våra databaser osv.

Det du skriver om låtar nästan som separata arbetsuppgifter för DevOps eller en IT-säkerhetstekniker? Vet inte hur vanligt det är att företag ber en webbutvecklare med noll erfarenhet sköta ansvar för lagring, backuper, kryptering osv.

Permalänk
Skrivet av MickeBoy:

Om det hade varit jag så hade jag försökt att undvika att hantera kundernas hemligheter helt och hållet. Bättre är nog att efterfråga en maskin med VPN på in till kundens miljö och låta dem hantera backup på koden, nycklar, certifikat o.s.v.

Om du gör ett jobb där du ska producera och lämna ifrån dig material från dina egna grejor så behöver du såklart hantera det, men det går ju ändå att försöka undvika hanteringen av hemligheter.

För egen del hade jag satt upp en NAS för ändamålet. Lämpligen med minst två diskar inbyggda konfigurerade för redundans. Offline kopia kan du lagra på en eller flera diskar med USB-anslutning som kopplar in till NASen när det är dags att ta ny offline backup.

För att hantera redundans på din egna dator kan du väl absolut välja att ha en reserv ståendes. Det finns också många som erbjuder någon form av support med garanterad hjälp nästa dag. Det kostar lite extra såklart, men du behöver inte ha en hel dator extra.

Datorn ansluter du till NASen och kopierar ut materialet du jobbar med och därmed har du två arbetskopior på två olika ställen.

För de jobb där kunden inte alls har någon aning om IT-detaljerna skulle jag vara mycket försiktig och säkerställa att det är jättetydligt och väl avgränsat vad det är som är ditt ansvar och ditt åtagande. Det känns annars som det blir väldigt lätt att tolka in mycket i din uppgift.

Nu vill jag inte låta "argumenterande" utan bara erkänna den orättvisa verkligheten mellan mig å mer erfarna utvecklare!

Jag kanske får en pizzeria som slutkund för varför skulle något etablerat IT-bolag välja mig framför alla sparkade seniorer som letar efter uppdrag/jobb samtidigt som jag? Det finns ingen anledning till att tro att denna pizzeria skulle ha en dedikerad IT-avdelning om de inte redan är en franchise - och varför skulle de då ta in något extern nyexaminerad junior?

Men jag kan ju samtidigt göra det jag kan för att visa fram "professionella IT-fötter" med att arbeta som om jag arbetade hos ett riktigt IT-bolag. Det förbereder ju även inför sådana framtida uppdrag/jobb där det då går att komma in fortare i arbetsflödet vilket kanske gör att jag väljs framför en annan kandidat med andra jämlika kvalifikationer.

I princip måste jag börja från botten nu efter utbildningen och ta de kunder jag kan ta och bygga upp varumärke, etc. Jag vill inte "bråka" och jag uppfattar en slags "elitisk" attityd att ignorera vissa kunder bara för att slippa ansvar, huvudvärk, osv. Självklart ska man inte göra mer än man får betalt för. Men hur ska jag lära mig något som IT-bolag efterfrågar om jag aldrig får lära mig det ordentligt från början?

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Skrivet av Sammanhang:

Som anställd systemutvecklare på ett produktbolag så ligger mitt primära fokus på utveckling och underhåll av vårat affärssystem. Det handlar i huvudsak om att skriva kod, göra vissa ändringar i våra databaser osv.

Det du skriver om låtar nästan som separata arbetsuppgifter för DevOps eller en IT-säkerhetstekniker? Vet inte hur vanligt det är att företag ber en webbutvecklare med noll erfarenhet sköta ansvar för lagring, backuper, kryptering osv.

Tjo! Tack för svaret. Jag vill inte "bråka" nu utan bara lägga fram min situation vilket är att jag inte har en oändlig buffert. Jag är också en person som tycker om att lära mig så mycket som jag kan inom allt utan att så klart "överdriva". Jag vill t.ex. lära mig tillräckligt inom nätverk så jag kan skriva så nätverkssäker kod som möjligt så nätverksdriftare får mindre huvudvärk och därmed färre kunder med missnöje - aldrig en garanti men så gott som det går.

Med det sagt så menar jag inte heller på att jag skulle bli/vara någon "obetald IT-jour" som då ska lösa akuta ärenden för kunder helt gratis bara för att jag kan lite av allt inom IT, absolut inte! Så här tänker jag: på militära ubåtar så måste alla kunna lite av allt för att kunna lösa de allra mest vanligaste akuta situationerna samtidigt som de har sina unika dedikerade specialistområden för att kunna driva ubåten framåt utan läckor.

Jag vill bli/vara den som då kan lite om allt inom webb-IT samtidigt som mitt primära fokus är webbutveckling i form av skriva, testa & sjösätta kod. Att sitta i Wireshark efteråt kommer aldrig än så länge att bli en av mina primära uppgifter. Men jag ska ändå känna till mjukvaran och kunna göra de mest grundläggande sakerna som man gör där som kanske DevSecOps och/eller IT-säkerhetstekniker gör.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem

Jag tror du kan släppa fokuset på att skaffa utrustning. Skaffa en kund först så märker du nog mer vad du behöver skaffa, både i utrustning och kompetens/erfarenhet.

Visa signatur

Citera för svar

Permalänk
Medlem

Om du versionshanterar din produkt på github / azure devops / gitlab eller liknande så har du en backup utöver din hårddisk. Privata repon tar dig långt för att se till att din kod lever vidare om din dator dör. Node_modules finns det ingen anledning att ha backup på då detta ingår i byggstegen när du installerar din kod.

Tycker inte du ska lyssna på de som säger åt dig att hellre gå arbetslös än att ta ett gig hos en oerfaren it-beställare
Det låter som du kommer få möjlighet att lära dig väldigt mycket på vägen. Ett helt annat skillset än de av oss som mest får koncentrera sig på att utveckla kod

Vill din kund att du skapar backup på deras produktionsmiljöer också? Det är en helt annan fråga, en hel vetenskap i sig. Finns inte ett svar som passar alla här, krypterar du allt kan du lika gärna välja en av de stora moln-leverantörerna, finns tjänster där du krypterar på ditt håll och de krypterar på sitt håll, så att båda nycklarna krävs för att få fram datan i efterhand. Men är det databaser och kod du vill ha säkerhetskopierat så görs det nog enklast i egna tjänster menade för dessa och inte via disk-backup.

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Tjo! Jag är numera en nyutexaminerad webbutvecklare efter 2 års universitetsutbildning på distans. Då jag tänker primärt köra det tunga lastet med 100 % kodfrilansare hemifrån - men jag kommer även söka fysiska (hybrid)jobb - så måste jag förbereda för professionell webbutvecklingsmiljö hemifrån.

Här är då några saker jag funderat på men jag är omedvetet inkompetent så det kan vara saker jag inte ens tänkt på för jag inte vet om det ännu (jag har frågat chatGPT4o om samma punkter men jag tar det med nypa salt för den "vet" egentligen ingenting):

1) Extern hårddisk eller extern SSD? Jag har två datorer så om ena går sönder så skulle jag kunna byta till den som fungerar direkt utan att arbetsflödet stoppas fullkomligt. Enligt chatGPT4o så är SSD bättre pga. det saknar mekaniska delar som HDD. Frågan är om det istället ändå går sönder fortare än externa HDDs pga. lägre total skrivmängd? node_modules-mappar är ju ökända för att typ innehålla fler filer än stjärnor i galaxen.

2) Mjukvaror för krypterade säkerhetskopior av filer? Självfallet ska alla filer krypteras med hjälp av någon mjukvara innan de säkerhetskopieras. Frågan är vilka mjukvaror som är "branschstandard" idag inom webbutveckling. chatGPT4o tipsar om "VeraCrypt" som påstås vara öppen källkod. Annars så föreslår den BitLocker då jag använder Windows. Säkerhetskopieringsprogram så föreslår chatGPT4o om "Acronis True Image". Några andra förslag här? Min tanke är att både köra säkerhetskopior lokalt på två platser OCH online på två eller tre olika 'lagringstjänster' (aka cloud services) runtom i världen. NAS i form av Synology eller QNAP i RAID-konfiguration föreslås av chatGPT4o. Vettigt eller korkat?

3) Hantering av säkerhetsnycklar (för kryptering OCH dekryptering)? Här föreslår chatGPT4o om lösenordshanterare, men ska de verkligen också lagra säkerhetsnycklar för (de)kryptering också? Andra föreslaget från "AI:n" (Artificial Idiot) är krypterade USB-enheter krypterade med hjälp av VeraCrypt, BitLocker eller liknande. Är det vanligt förekommande i "branschen"? Jag tänker mig här också att jag lagrar säkerhetsnycklarna både digitalt och fysiskt. Här pratar även chatGPT4o om att regelbundet uppdatera och rotera nycklar. Vad finns det för tjänster/riktlinjer/lösningar för det inom "branschen"? Är Yubikey värt att kika på eller är det "överdrift" om man kör hemifrån som kodfrilansare?

4) Versionshantering med någon variant av git? När det gäller git så har jag endast använt GitHub som versionshanteringsplats medan git-kommandon har varit väldigt få: git init, git commit, git push, git pull vid samarbete. Men jag har inte använt något med olika branches (t.ex. checkout) och/eller merges och liknande vilket jag tror är vanligare i bruk i "branschen"?

5) Berätta gärna om det var något annat "uppenbart" jag inte nämnt på grund av min än så länge omedvetna inkompetens!

Tack så hemskt mycket för svar på förhand! Nu börjar det riktiga kodäventyret! 😱

Mvh,
WKL.

Förstår inte riktigt vad du vill uppnå med all kryptering och utrustning?

Jag hade enskild firma och jobbade mot småbolag under flera år. Klarade mig finfint med GitHub för att lagra kundkod. Kompletterade med Google Drive genom Google Apps för att lagra andra eventuella filer.

Det ska vara enkelt att dela, fysiska saker är jobbigt att hålla på med, molnlagring är fantastiskt.

Går en dator sönder så snurrar du igång den andra och checkar ut kod, syncar Google Drive/OneDrive eller vad du nu använder och så är du igång.

node_modules tar du generellt inte backup på heller, den får du enkelt genom npm install där du har checkat ut koden.

Känns som att du övertänkt det här och tänker för mycket lokalt. Som liten aktör ska du absolut tänka moln och låg komplexitet. Det här låter som hög komplexitet.

Permalänk
Skrivet av koSmiQ:

Förstår inte riktigt vad du vill uppnå med all kryptering och utrustning?

Jag hade enskild firma och jobbade mot småbolag under flera år. Klarade mig finfint med GitHub för att lagra kundkod. Kompletterade med Google Drive genom Google Apps för att lagra andra eventuella filer.

Det ska vara enkelt att dela, fysiska saker är jobbigt att hålla på med, molnlagring är fantastiskt.

Går en dator sönder så snurrar du igång den andra och checkar ut kod, syncar Google Drive/OneDrive eller vad du nu använder och så är du igång.

node_modules tar du generellt inte backup på heller, den får du enkelt genom npm install där du har checkat ut koden.

Känns som att du övertänkt det här och tänker för mycket lokalt. Som liten aktör ska du absolut tänka moln och låg komplexitet. Det här låter som hög komplexitet.

Jag förstår, jag gillar dock komplext! Men jag är helt på banan att se till att låta molntjänster få fixa det jag annars skulle behövt fixa lokalt med troligtvis högre kostnader är vägen att gå till en början. Jag vill ju bara lära mig hur det går till så jag är mer redo och/eller kvalificerad när IT-tungviktare skulle vilja ta in mig framför mina potentiella konkurrenter (vilket kanske i framtiden dock blir samarbetskollegor - vem vet).

När det då gäller GitHub, Google Drive eller One Drive, vilken prisnivå bör man då minst välja för att få den tillräckliga kvalitén som enskild företagare? Räcker exempelvis gratis GitHub eller bör man välja någon betalversion där för kanske exempelvis större lagringsutrymme och/eller andra perks?

Tack återigen för att du delar med dig av dina erfarenheter!

Mvh,
WKL:

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Skrivet av Jaevel:

Om du versionshanterar din produkt på github / azure devops / gitlab eller liknande så har du en backup utöver din hårddisk. Privata repon tar dig långt för att se till att din kod lever vidare om din dator dör. Node_modules finns det ingen anledning att ha backup på då detta ingår i byggstegen när du installerar din kod.

Tycker inte du ska lyssna på de som säger åt dig att hellre gå arbetslös än att ta ett gig hos en oerfaren it-beställare
Det låter som du kommer få möjlighet att lära dig väldigt mycket på vägen. Ett helt annat skillset än de av oss som mest får koncentrera sig på att utveckla kod

Vill din kund att du skapar backup på deras produktionsmiljöer också? Det är en helt annan fråga, en hel vetenskap i sig. Finns inte ett svar som passar alla här, krypterar du allt kan du lika gärna välja en av de stora moln-leverantörerna, finns tjänster där du krypterar på ditt håll och de krypterar på sitt håll, så att båda nycklarna krävs för att få fram datan i efterhand. Men är det databaser och kod du vill ha säkerhetskopierat så görs det nog enklast i egna tjänster menade för dessa och inte via disk-backup.

Tjo! Tack för att du delar med dig! Skulle du säga att privata repon utöver GitHub vore överdrivt? Alltså att inte bara ladda upp på GitHub utan även hos konkurrenter såsom GitLab, GitBucket, med flera? En eventuell nackdel är att finns koden på fler ställen så kan den också läcka på fler ställen!

Grejen med vissa nya kunder är att de kanske inte är tillräckligt IT-insatta (t.ex. icke-franchise pizzerior eller andra självständiga hak). De vill ju då ha en webbplats och/eller webbtjänst som är tillräckligt säker för sitt pris och sunda IT-förnuft. Att ta mycket extra betalt för att bara installera en extra säkerhetsmodul i en annars simpel IT-lösning tycker jag personligen bara är "girigt" frilanskonsultbeteende.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Tjo! Tack för att du delar med dig! Skulle du säga att privata repon utöver GitHub vore överdrivt? Alltså att inte bara ladda upp på GitHub utan även hos konkurrenter såsom GitLab, GitBucket, med flera? En eventuell nackdel är att finns koden på fler ställen så kan den också läcka på fler ställen!

Grejen med vissa nya kunder är att de kanske inte är tillräckligt IT-insatta (t.ex. icke-franchise pizzerior eller andra självständiga hak). De vill ju då ha en webbplats och/eller webbtjänst som är tillräckligt säker för sitt pris och sunda IT-förnuft. Att ta mycket extra betalt för att bara installera en extra säkerhetsmodul i en annars simpel IT-lösning tycker jag personligen bara är "girigt" frilanskonsultbeteende.

Mvh,
WKL.

Du tänker väldigt mycket för att vara så nyexad Ta det lite lugnt och lär dig ute hos större kunder. Det lyser igenom din text att du vet inte riktigt vad du pratar om och det är normalt då du är en nyexad webbutvecklare. Börja och fokusera där skulle jag vilja säga så du blir duktig inom det området. Kolla t.ex. på något framework som är populärt att använda idag ( react, angular osv ).

Sedan såg jag din fantasilista på allt du kunde, vet inte hur en eventuell kund tar att en nyexad kommer och slänger alla de teknikerna framför dem, för mig hade inte det varit seriöst om jag satt och intervjuade dig.

Tänker på denna:

HTML (inkl. Webbanvändbarhet & lite grafik), CSS (inkl. lite SCSS/SASS och en hel del Tailwind CSS), PHP (inkl. lite WordPress, och en del Laravel), JavaScript (inkl. NodeJS, ExpressJS, VueJS, ReactJS, samt lite TypeScript), MySQL/MariaDB (inkl. EF Core i C#.NET), MongoDB, C#.NET (inkl. ASP.NET Core MVC).

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Tjo! Tack för att du delar med dig! Skulle du säga att privata repon utöver GitHub vore överdrivt? Alltså att inte bara ladda upp på GitHub utan även hos konkurrenter såsom GitLab, GitBucket, med flera? En eventuell nackdel är att finns koden på fler ställen så kan den också läcka på fler ställen!

Grejen med vissa nya kunder är att de kanske inte är tillräckligt IT-insatta (t.ex. icke-franchise pizzerior eller andra självständiga hak). De vill ju då ha en webbplats och/eller webbtjänst som är tillräckligt säker för sitt pris och sunda IT-förnuft. Att ta mycket extra betalt för att bara installera en extra säkerhetsmodul i en annars simpel IT-lösning tycker jag personligen bara är "girigt" frilanskonsultbeteende.

Mvh,
WKL.

Det är definitivt överdrivet och bara försvårande för dig att köra flera repon på delade platser. Visst du sprider risken om ett av ställena skulle bli av med sina säkerhetskopior, men samtidigt ökar du exponeringen mot hacker-attacker, helt plötsligt räcker det med att 1/5 tjänsteleverantörer blir hackad så har de tillgång till din kod.

Sannolikheten att både din kod i molnet och din kopia på hårddisken försvinner samtidigt är redan tillräckligt låg för att du ska slippa ens tänka på sådana här risker.

Permalänk
Skrivet av WebbkodsFrilansaren:

Jag vill bli/vara den som då kan lite om allt inom webb-IT samtidigt som mitt primära fokus är webbutveckling i form av skriva, testa & sjösätta kod. Att sitta i Wireshark efteråt kommer aldrig än så länge att bli en av mina primära uppgifter. Men jag ska ändå känna till mjukvaran och kunna göra de mest grundläggande sakerna som man gör där som kanske DevSecOps och/eller IT-säkerhetstekniker gör.

Det tror jag i grund och botten är en sund inställning. Mitt enda tips är att först och främst bli riktigt bra på ditt område. Sedan har man alltid möjlighet till att försöka få en djupare förståelse för cloud, datalagring, kryptering osv. Men baserat på dina frågeställningar så får man intrycket av att du ska vara webbutvecklare, DevOps och IT-säkerhetstekniker på en och samma gång.. Men med noll års arbetslivserfarenhet.

Många företag som hyr in en konsult för ett specifikt ändamål har förmodligen redan många andra bitar på plats. Man använder sig av någon plattform för cloud, verktyg för deployment, VPN, lösenordshanterare eller liknande. Det kan inte vara många företag som anlitar en helt nyexaminerad webbutvecklare och litar på att denna person ska sköta alla dessa bitar inom drift och säkerhet helt på egen hand. Men även om man får det förtroendet tror jag det är viktigt att vara ärlig mot sig själv. Kan jag hantera detta ansvar och genomföra hela projektet på ett säkert sätt? Behöver man fråga ChatGPT hur man ska gå tillväga för att sätta upp allting så är man nog inte riktigt där.

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Nu vill jag inte låta "argumenterande" utan bara erkänna den orättvisa verkligheten mellan mig å mer erfarna utvecklare!

Jag kanske får en pizzeria som slutkund för varför skulle något etablerat IT-bolag välja mig framför alla sparkade seniorer som letar efter uppdrag/jobb samtidigt som jag? Det finns ingen anledning till att tro att denna pizzeria skulle ha en dedikerad IT-avdelning om de inte redan är en franchise - och varför skulle de då ta in något extern nyexaminerad junior?

Men jag kan ju samtidigt göra det jag kan för att visa fram "professionella IT-fötter" med att arbeta som om jag arbetade hos ett riktigt IT-bolag. Det förbereder ju även inför sådana framtida uppdrag/jobb där det då går att komma in fortare i arbetsflödet vilket kanske gör att jag väljs framför en annan kandidat med andra jämlika kvalifikationer.

I princip måste jag börja från botten nu efter utbildningen och ta de kunder jag kan ta och bygga upp varumärke, etc. Jag vill inte "bråka" och jag uppfattar en slags "elitisk" attityd att ignorera vissa kunder bara för att slippa ansvar, huvudvärk, osv. Självklart ska man inte göra mer än man får betalt för. Men hur ska jag lära mig något som IT-bolag efterfrågar om jag aldrig får lära mig det ordentligt från början?

Mvh,
WKL.

Jag tänker mig att det inte handlar om att ignorera någon kund utan mer om vad du är bekväm med att ta för ansvar och vad du behöver göra för att leva upp till det, både nu och i framtiden.

Pizzerians design kan du visa och få godkänt på från din laptop och kanske behöver de hjälp med hosting? Då är det kanske rimligt att lagra prylar krypterade på den maskinen istället för att ta hem det och ansvara för det på egen hand? Jag skulle personligen tycka att det är mer professionellt att agera så, alltså att erbjuda sig att sköta saker åt kunden, men att lämna kunden med alla uppgifter som hen behöver.

I framtiden kanske ni bestämmer er för att gå skilda vägar och då vill du även gör det på ett professionellt sätt. För mig är det att kunden är trygg med att du inte sitter med information som du inte ska ha tillgång till. Det är också att kunden (om hen har intresse), kan titta på de saker som du har gjort och även enkelt lämna över till någon annan. Allt det blir mycket lättare om du inte har kundens information lagrad på en dator hemma hos dig.

Permalänk
Skrivet av Sammanhang:

Behöver man fråga ChatGPT hur man ska gå tillväga för att sätta upp allting så är man nog inte riktigt där.

Tjo! Det påminner mig om det klassiska problemet: hur ska jag lära mig det i förväg innan jag ens gör det för första gången så att jag inte behöver fråga om hjälp för det eller att någon annan lär upp mig? (ChatGPT eller IT-mentor) Vilket IT-bolag vill ta in någon som inte redan kan allt först? Catch 22 eller vad det kallas för!

Det är därför jag vill _lära_ mig kunna göra det i den utsträckning det är "rimligt" så att potentiella storkunder ser att jag kan det de efterfrågar. Det är ju i princip det stora _varför_ jag skapa denna tråd för jag undra hur det skulle kunna se ut om det vore som så att jag skulle köra ett givet projekt hemifrån. Vad hade använts då för versionshantering, säkerhetskopiering, etc. precis som om jag hade arbetat på plats hos något IT-enterprise?

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

Tjo! Det påminner mig om det klassiska problemet: hur ska jag lära mig det i förväg innan jag ens gör det för första gången så att jag inte behöver fråga om hjälp för det eller att någon annan lär upp mig? (ChatGPT eller IT-mentor) Vilket IT-bolag vill ta in någon som inte redan kan allt först? Catch 22 eller vad det kallas för!

Jobbat som konsult ett par gånger men även på produktbolag. Miljöerna, ramverken etc. ser olika ut överallt.

Kanske gemensamt att de använder git, (jira & confluence tyvärr).

Dock har de kört olika VPN lösningar, olika sätt för löner, email, it support etc etc.

Man förväntas inte kunna allt och ger man skenet av det vid intervju drar man öronen åt sig.

Permalänk
Skrivet av Maddoxswe:

Du tänker väldigt mycket för att vara så nyexad Ta det lite lugnt och lär dig ute hos större kunder. Det lyser igenom din text att du vet inte riktigt vad du pratar om och det är normalt då du är en nyexad webbutvecklare. Börja och fokusera där skulle jag vilja säga så du blir duktig inom det området. Kolla t.ex. på något framework som är populärt att använda idag ( react, angular osv ).

Sedan såg jag din fantasilista på allt du kunde, vet inte hur en eventuell kund tar att en nyexad kommer och slänger alla de teknikerna framför dem, för mig hade inte det varit seriöst om jag satt och intervjuade dig.

Tänker på denna:

HTML (inkl. Webbanvändbarhet & lite grafik), CSS (inkl. lite SCSS/SASS och en hel del Tailwind CSS), PHP (inkl. lite WordPress, och en del Laravel), JavaScript (inkl. NodeJS, ExpressJS, VueJS, ReactJS, samt lite TypeScript), MySQL/MariaDB (inkl. EF Core i C#.NET), MongoDB, C#.NET (inkl. ASP.NET Core MVC).

Det sista stämmer att det är den bredden men det framgår inga "skill points" hur mycket jag anser att jag faktiskt kan om de olika delarna. Ramverken är självfallet väldigt låga då jag bara "nosat" på dem under utbildningens gång. Det fundamentala som HTML, CSS, JS & PHP kan jag mest om och samtidigt finns det hur mycket som helst kvar där att lära sig. SQL kan jag mer om än MongoDB men ändå mycket mindre anser jag än vad jag kan om de övriga beståndsdelarna HTML, CSS, JS & PHP.

I det stora hela så känns det egentligen mer som om jag lärt mig nu att kunna lära mig egentligen om HTML, CSS, JS, PHP, etc. För nu börjar vissa fundamentala bitar som borde ha kopplat under första kursen i JS t.ex. om closures börjat koppla för mig. Möjligen har "utbildningspressen" lagt sig så det går att ta in samma information på ett annat sätt än tidigare.

Sen har vi det här med "Datastrukturer & Algoritmer" (*host* Advent of Code *host*) vilket är en helt annan femma! 🤣

En sista fundering är vad jag faktiskt _förstår varför det fungerar som det gör_ i förhållande till vad jag faktiskt _kan leverera i form av färdig kod som fungerar "tillräckligt" i produktionsmiljön_. Den funderingen bör nog ställas i förhållande till ens arbetsuppgifter och/eller ansvarsområde i uppdraget ifråga.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem

Några fler inspel från min sida.

Att lägga till komplexitet är det sista du vill göra med små bolag. Du måste tänka timpeng, att du har små möjligheter att fakturera för extra tjänster, du vill antagligen heller inte sköta drift och allt åt flera små bolag heller.

För små bolag vill du heller inte koda från grunden, det blir alldeles för dyrt. För den lokala pizzerian tycker jag att du ska tänka WordPress, Shopify eller andra mer eller mindre färdiga CMS eller site-builders. Inget annat kommer löna sig och kommer dessutom bli en administrativ mardröm. Kunden ska själv enkelt kunna gå in och uppdatera sina priser eller texter utan din inblandning. Dessutom ska de stå på alla avtal med Shopify, webbhotell eller vad det nu är. Det gör eventuell överlämning väldigt enkel också.

Men se såklart till att du kan saker som Git, versionshantering och annat best practice. Lägg bara till komplexitet när det behövs.

Den dagen du jobbar med större bolag så finns redan all komplexitet från deras sida. Då får du en laptop eller en virtuell maskin att jobba på och din egen uppsättning är helt irrelevant. Dock finns det fördelar av att ha viss kunskap så att du kan prata med andra i teamen som jobbar med Cloud eller vad det nu är.

Hitta balansen mellan din investerade tid, vad marknaden är beredd att betala och vad du faktiskt behöver kunna för att leverera.

Den stora fördelen med att jobba mot små kunder är att du kommer behöva lära dig webbhotell, DNS, bra separation av kunddata för din egen skull, överlämning av administration/ansvar och annan effektivitet. Du vill inte sitta och hantera pizzerians prisuppdateringar om fem år. Eller stå och betala för deras webbhotell.

Edit
För att lagra kod väljer du en plattform. Att synka alla ändringar till flera ställen är dåligt spenderad tid och ökar risken för att du glömmer bort/inte orkar hålla alla synkade. Det kommer heller knappast vara Riksbankens IT-system du bygger heller.

Privata repon ska du absolut ha. Projekt utvecklade åt dina egna kunder ska inte ligga öppna på nätet.

Edit igen
Såg din kommentar om att kunna kod, DevOps, drift/uppsättning och ha bred förståelse. Väldigt bra inställning. Jag har jobbat med alldeles för många utvecklare som inte vet hur DNS fungerar, hur SPF och DKIM påverkar mailutskicken de kodar, hur HTTPS-cert fungerar, FrontDoor i Azure och mycket mycket mer.

Det finns ett stort värde av att ha bred kunskap, även om många bolag tror att de vill ha smal expertkunskap. Men vägen dit är ganska lång. Se till att välja vad du ska vara bra på, och vad du ska ha nog med kunskap i för att prata med andra om (eller kunna dyka ned i om behovet uppstår).

Skynda långsamt och ta dig inte an allt på en gång. Och återigen, lägg inte på komplexitet mot små bolag för de vill inte betala för det och risken är att du för hantera saker åt dem i flera år framöver.

Edit igen igen
Köp inte två datorer heller. Sannolikheten att en brakar ihop är låg och du låser istället upp en massa pengar som bara ligger och gör ingenting. Ha istället bufferten så att du kan åka och köpa en ny när det behövs. Eftersom du kör Git och molnlagring så är du snabbt på banan igen.

Permalänk
Skrivet av koSmiQ:

Några fler inspel från min sida.

Att lägga till komplexitet är det sista du vill göra med små bolag. Du måste tänka timpeng, att du har små möjligheter att fakturera för extra tjänster, du vill antagligen heller inte sköta drift och allt åt flera små bolag heller.

För små bolag vill du heller inte koda från grunden, det blir alldeles för dyrt. För den lokala pizzerian tycker jag att du ska tänka WordPress, Shopify eller andra mer eller mindre färdiga CMS eller site-builders. Inget annat kommer löna sig och kommer dessutom bli en administrativ mardröm. Kunden ska själv enkelt kunna gå in och uppdatera sina priser eller texter utan din inblandning. Dessutom ska de stå på alla avtal med Shopify, webbhotell eller vad det nu är. Det gör eventuell överlämning väldigt enkel också.

Men se såklart till att du kan saker som Git, versionshantering och annat best practice. Lägg bara till komplexitet när det behövs.

Den dagen du jobbar med större bolag så finns redan all komplexitet från deras sida. Då får du en laptop eller en virtuell maskin att jobba på och din egen uppsättning är helt irrelevant. Dock finns det fördelar av att ha viss kunskap så att du kan prata med andra i teamen som jobbar med Cloud eller vad det nu är.

Hitta balansen mellan din investerade tid, vad marknaden är beredd att betala och vad du faktiskt behöver kunna för att leverera.

Den stora fördelen med att jobba mot små kunder är att du kommer behöva lära dig webbhotell, DNS, bra separation av kunddata för din egen skull, överlämning av administration/ansvar och annan effektivitet. Du vill inte sitta och hantera pizzerians prisuppdateringar om fem år. Eller stå och betala för deras webbhotell.

Edit
För att lagra kod väljer du en plattform. Att synka alla ändringar till flera ställen är dåligt spenderad tid och ökar risken för att du glömmer bort/inte orkar hålla alla synkade. Det kommer heller knappast vara Riksbankens IT-system du bygger heller.

Privata repon ska du absolut ha. Projekt utvecklade åt dina egna kunder ska inte ligga öppna på nätet.

Edit igen
Såg din kommentar om att kunna kod, DevOps, drift/uppsättning och ha bred förståelse. Väldigt bra inställning. Jag har jobbat med alldeles för många utvecklare som inte vet hur DNS fungerar, hur SPF och DKIM påverkar mailutskicken de kodar, hur HTTPS-cert fungerar, FrontDoor i Azure och mycket mycket mer.

Det finns ett stort värde av att ha bred kunskap, även om många bolag tror att de vill ha smal expertkunskap. Men vägen dit är ganska lång. Se till att välja vad du ska vara bra på, och vad du ska ha nog med kunskap i för att prata med andra om (eller kunna dyka ned i om behovet uppstår).

Skynda långsamt och ta dig inte an allt på en gång. Och återigen, lägg inte på komplexitet mot små bolag för de vill inte betala för det och risken är att du för hantera saker åt dem i flera år framöver.

Edit igen igen
Köp inte två datorer heller. Sannolikheten att en brakar ihop är låg och du låser istället upp en massa pengar som bara ligger och gör ingenting. Ha istället bufferten så att du kan åka och köpa en ny när det behövs. Eftersom du kör Git och molnlagring så är du snabbt på banan igen.

Tjo! Tack för det mycket mustiga svaret!

Här är mina kommentarer kring det mesta i ditt svar:
- Nuvarande kund så förefaller det att kunden har eget webbhotell som de ansvarar över och jag överför filer till dem som de själva lägger in under rotmappen i deras webbhotell. Självklart är det bäst för alla parter inblandade att kunden alltid står för saker som webbhotell, domännamn, säkerhetskopior, och övriga drifttjänster medan jag enbart står för den tillfälliga koden. Med tillfälliga menar jag att vid slutgiltig överlämning så tar jag bort deras kod på min sida så de själva ansvarar till 100 % för att den finns kvar med hjälp av backuptjänster de har varit villiga att investera i.

- När jag nämner komplexitet så menar jag inte att jag vill "tvinga" på detta på bolag för att det ska bli dyrare i slutändan utan jag menar på att jag inte har något emot att det blir vad som kan tolkas som komplex för att det i slutändan ska bli så prisvärt - "the best bang for your buck" - som möjligt. Nu vet jag inte hur vanligt detta är men vissa utvecklare kanske vill säga att, "Ska du ha HTTPS som är standard så kostar det extra" medan sådant enligt mig alltid bör ingå oavsett storleken av ett webbutveckling-MVP.

- När det gäller versionshantering och så, så tänker jag mig att GitHub egentligen inte är så bra eftersom det må följa GDPR men det ägs ju av Microsoft och därmed egentligen av USA:s regering indirekt vid behov? Finns det mer GDPR-faktiska alternativ till GitHub eller är GitHub helt enkelt "oslagbart" över alla övriga alternativ? Samma fundering gäller även saker för säkerhetskopieringar av arbetsfiler (antingen mina egna och/eller någon kunds). 🤔

- Privata repon använder jag givetvis alltid. Inga problem på den fronten!

- Angående datorerna så har jag redan flera datorer innan jag drog igång och startade eget. Jag har däremot en investerad laptop på företaget som jag brukar ta med mig om jag ska arbeta på annan ort. Vad som återstår att investera i nu är externa hårddiskar av två skäl: 1) Säkerhetskopieringar lokalt och 2) Jag ogillar faktumet att det skrivs så oerhört många filer på min systemdisk när jag sätter igång git init eller npm init och allt som det innebär. Jag funderar även på att installera om XAMPP (det är installerat på klassiska C:\XAMPP just nu) så det inte körs på någon systemdisk utan på en extern hårddisk (eller kanske det är en riktigt korkad idé). Frågan är då: HDD eller SSD? 🤔

Jag vill återigen tacka för ditt riktigt Content-Length-mustiga svar!

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"
"Visste du förresten att det är ett mångmiljardbolag?"
"Jag lever inte för att koda utan kodar för att sen kunna leva"

Permalänk
Medlem

Du tänker för långt. Som webbutvecklare behöver du egentligen bara en enkel lokal utvecklingsmiljö. Webbhotellet har i princip alltid backups dagligen som ligger kvar i en månad. Du behöver inte lagra bilder eller liknande lokalt utan kan peka mot produktion/stage. Du behöver i princip bara kopiera ner en databas och hämta koden från Github eller liknande. Kör i princip aldrig bara PHP utan bankar in Wordpress som grund i allt. Går enkelt att köra lokalt med verktyg som Local och du behöver aldrig pilla med XAMPP. Se till att sätta upp Github actions eller liknande för deploys så behöver du aldrig tänka på FileZilla eller liknande i ditt liv igen.

Jobbar du med React, eller andra JS-ramverk är det ännu enklare att slänga upp i molnet på Vercel osv.

Kund ansvarar själv för domän och webbhotell, men du kan såklart rekommendera alternativ och hjälpa dem sätta upp det. Koden har inget med GDPR att göra, utan det är personuppgifter som sparas i databasen. Se till att välja något svenskt webbhotell bara, det finns massor med alternativ.

Permalänk
Medlem

Jag körde med Oderland under hela mitt frilansande. Bra support, bra tjänster och många alternativ.

Gällande GDPR förstår jag inte alls vad det har med din kodlagring att göra. Tänk mer på vad som är beprövat och funkar (GitHub!) snarare än att grotta ned dig i detaljer.

Håller även med föregående talare, använd inte XAMPP utan något mer modernt

Din systemdisk är till för att användas och moderna SSD tål massor med skrivningar. Extern SSD eller framförallt HDD kommer bara påverka din prestanda negativt. Kör på systemdisken, datorns övriga prestanda är det som kommer vara anledning till byte långt innan SSD är sönderskriven.

HTTPS är absolut en hygienfaktor idag. Men mycket av det andra du pratar om (kryptering, lokala backuper, extra datorer och så vidare) blir en väldigt dålig Return of Investment för din del. Håll det enkelt, använd git, en lösenordshanterare som 1Password, ett bra webbhotell om du behöver och så är du typ klar. Se till att ha enkel och bra bokföring som automatiserar mycket (jag körde Speedledger) och glöm inte att lägga undan cash till moms och skatt

En annan bra sak jag gjorde: reggade egen domän så jag kunde köra Google Apps (idag hade jag kört M365) så att jobbmail är separat från de privata. Dessutom ingår ofta bra med molnlagring!

Edit:
Andra bekvämligheter är att synka Visual Studio Code med GitHub så har du samma setup i VSCode en inloggning bort

winget kan exportera till json som du sen kan importera för att snabbt installera många appar igen och Windows kan backa upp en hel del inställningar till OneDrive/Microsoft-konto.

Permalänk
Medlem

Många intressanta saker här.

Hej jag kan bli kund och har en gammal wordpress som inte är uppdaterad på vetti fan när och kan du ta över skiten litte snabbt?

Det blir en vanlig fråga. Eller något annat system.

Finns en del kul att läsa här, känner killen och han har erfarenhet av liknande frågor. https://chrille.nu/it/wordpress/bra-hemsida-billig-hemsida-he... Här finns ettt fokus på WP, men de är skitstora så det saknar inte relevans.

Sedan har vi ju det programmatiska... blanda inte ihop det med systemen. Det skall kunna uppgraderas, du skall kunna köra in patchar. Om du utvecklar egen kod på fel sätt för något större system så riskerar du att få göra om hela arbetet med varje större uppdatering. Gör det som plugins, är det bra så blir det extra slantar.

Du kan lagra kundfiler på egen hemma server, dock inte kunduppgifter och inloggningar - det skall du vara försiktig med, men det är skitviktigt att du plankar produktionsservern så mycket det går. Ärligt talat är det enklast att ha ett parallelt konto för utveckling på samma server, då slipper du mycket av det. Det är pilligt att hålla reda på olika php versioner (gäller även andra språk), olika funktioner på server, huruvida du måste uppdatera via composer eller på annat sätt, för att ta några exempel. Man kan givetvis bygga hemma, men det blir surt om du inte har järnkoll på vilken teknik och funktioner som finns på kundens server och kan köra samma i utvecklingsmiljö.

Visst är det bra att kunna programmera, men det du tjänar pengar på är att kunna hantera WordPress, Joomla, Wibix, MediaWiki och en lång rad andra system som kunder tycker är bra attt satsa på för det sparar en massa utvecklingspengar. Kanske.

Visa signatur

Proud AMD customer since 1998!

Permalänk

Får börja med att säga välkommen till utvecklar skrået och jättebra att du ställer frågor, det är något jag själv är dålig på och jobbar på att förbättra.

Nu har jag inte läst igenom alla svar, sitter och tar en sen andra fredagsmorgonkaffe så tänkte dela med mig lite av de erfarenheter jag har från snart 15år som utvecklare. Dock nästan enbart backend och dev-tooling och på stora företag eller myndigheter.

Det första jag reagerade på vart att du sa att du gillar komplexitet, det lovar jag att du INTE gör när 3 kunder undrar när du ska fixa deras grejer (extra jobbigt är det om de ringer mitt i natten och väcker dig!) eller leverera det du har lovat att du ska göra. Keep It Simple överallt där du kan.

Och du skriver att du är en frilandskonsult. Så jag tänker då att du bygger system till kunder på beställning där eventuellt hosting/setup av hosting förekommer. Detta reflekteras i det jag skriver nedan. Är detta inte relevant så får du försöka filtrera eller ställa frågor

Men här är lite grejer jag kommer på snabbt

VERSIONSHANTERA! Du nämnde git vilket det är det jag själv har använt privat sen 2008-ish och även professionellt sen iaf 2013. Men har kunden ett annat så använder man givetvis det!. Men lägg även annat där som dokumentation etc. Alltid bra att kunna gå tillbaka i det man skrivit för att se om man har missat ngt när man uppdaterat dokumentationen. Jag har tyvärr träffat många nyexaminerade utvecklare som inte har koll på versionshantering.

Dokumentera! Detta gäller inte enbart koden utan allt runt omkring, utvecklingsmiljö, kund setup, allt. Det suger att komma ihåg saker! Jag personligen har ett bra minne och brukar komma ihåg massa saker, men sen jag har börjat skriva ner saker så upplever jag en märkbart mindre mentalbelastning. Vilket gör det enklare både i arbetslivet och privat.

Din arbetsdator ska vara helt oviktig, med detta menar jag att du ska kunna återskapa din utvecklingsmiljö snabbt och repeterbart. Kör du VS Code använd sync med github kontot för att hålla koll på vilka extensions du använder, kör du jetbrains så är settings-repo trevligt. Men dokumentera vad du använder och har installerat på datorn, försök komma ihåg att skriva ner eventuell special config på systemet och versionshantera dina dot-files (givetvis inte de med secrets i). Kör du WSL, Linux eller macOS så kan jag rekommendera att hantera ditt CLI med hjälp av verktyg så som asdf-vm, nvm. Notera arbetsdator, att blanda ihop dessa är livsfarligt. Lånar du ut din dator till en kompis som vill kolla ngt så kan denna får access till dina kunders grejer.

Använd diskkryptering Bitlocker på Windows, Filevault på macOS, LUKS på lInux. Kryptera hårddisken och stäng av datorn när du inte använder den/transporterar den. Då behöver du inte vara orolig om datorn blir stulen, drar en kopp kaffe i den, behöver skicka den på garanti etc.

Förvara inget viktigt enbart på datorn längre än nödvändigt gör git commit och git push ofta. Skriv om historiken med git rebase eller git merge --squash om du är som jag och föredrar en ren historik på main/master.

Håll isär dina kunder Kör en github organisation per kund. Så att du vet vad som tillhör en kund om du eller kunden vill avsluta ert samarbete. Försök få kunden att stå som ägare och bjuda in dig.

Hosta inget själv använd molntjänster så som AWS GCP, Azure, DigitalOcean, GleSYS, mfl. om kunden inte har något eget. Om du får bestämma, välj en och håll dig till den. Man vill kunna sin cloud provider så man kan nyttja det som finns färdigt! Även här vill du att kunden ska stå som ägare.

Ha en lab-miljö och en prodmiljö Detta så att du kan testa eventuella förändringar i infrastrukturen innan du råkar sänka din kunds produktionssite. Men även så att du kan visa upp saker som inte körs på din laptop.

Använd Infrastructure as Code/Config Sätt inte upp din cloudmiljö i webgui:t, använd verktyg som Terraform, Open Tofu, Cloudformation (AWS specifik). Det är OMÖJLIGT (eller nåja, jävligt jobbigt) att hålla koll på all config som är gjord och vad som behövs för att sätta upp en produktionsmiljö. Det är så mycket småpill man gör som man bara glömmer av. Men återigen, välj ett verktyg och bli bra på det. Terraform/Open Tofu är "cloud agnostic", men det är fortfarande separata providers för GCP, AWS etc så det är inte bara att gå från GCP till AWS.

Ha inte fortsatt tillgång till tidigare kunders miljöer! Du vill verkligen se till att du inte har tillgång till tidigare kunders miljöer. Detta för att inte riskera att göra ngt med deras grejer, eller bli anklagad för att ha gjort något. Behöver de ha hjälp med något får de ge dig access igen.

Använd MFA överallt! Använd MFA överallt! Finns inte MFA som alternativ, använd något annat! Ha även en plan för hur du gör en restore av din access om du förlorar din MFA enhet. För github som exempel så om du förlorar tillgång till alla dina MFA enheter + dina backup koder så får du skapa ett nytt konto och du förlorar tillgången till allt du hade där. Du har ingen egen IT-avdelning som kan fixa detta. Som exempel så fick min jobb MFA app för sig att jag hade raderat min token i måndags. Så vips vart jag helt utestängd, men jag kunde ringa IT-supporten och bli insläppt igen. Detta måste du kunna hantera själv, på ett så säkert sätt som möjligt.

Backup men inte på din dator som du skriver om. Din jobbdator är som sagt oviktig! Men du måste se till att dina kunders eventuella databaser backupas och detta immuteable. Det ska inte gå att förändra backuperna eller ta bort dem innan expiry date. Se bara till att du möjliggör för kunden att följa GDPR vid eventuell restore.

Använd inte "root-kontot" molnmijöerna för dagligt bruk detta är det enda kontot som har rättigheterna att helt radera molnmiljön och då försvinner allt. Så detta är nyckeln till staden, förvara den säkert (eller se till att kunden gör det!) och åter igen MFA på denna!

Hoppas det är till någon hjälp och lycka till!

Permalänk
Medlem

Här kommer ett råd i all välmening. Ta inte jobb åt kunder som inte har en etablerad egen hantering av detta. Ta jobb åt någon lokal pizzeria - och om du väl hunnit spotta ur dig någon kod kommer du bli någon form av i kunds ögon allsmäktig webbadministratör för all framtid. De kommer fråga om ändringar utan att ha någon form av aning av konsekvenserna. De kommer skylla på dig när de själva fuckat upp. De kommer ringa dig mitt i natten eftersom de glömt vilket lösenord de bytt till. Men framför allt kommer du inte lära dig någonting.

Det finns dessutom i princip inte någon marknad för dessa småkunder längre. Alla och min mormor kan regga ett konto på Squarespace och skapa en site på en helg. Vad är mest värt för din lokala frisör - att betala 300 spänn i månaden för allt i ett, eller att behöva lägga minst halva sin tid på att kravställa mot en dessutom junior konsult som inte vet vad han ska fråga efter?

Hitta ett jobb - frilans om du nu vill vara det, även om jag starkt avråder dig från att börja karriären så (man tar in en konsult för att man vill snabbt täcka upp ett hål i organisationen, inte investera 1+ år i upplärning) - där det finns etablerade rutiner och framför allt andra, mer seniora utvecklare som du kan ställa dina frågor till och efterhärma i deras arbetssätt.

Följ detta råd så behöver du inte bry dig om någon av dina frågor, förutom att lära dig git (vad har du gått för utbildning där du inte lärt dig använda brancher?)

Skrivet av WebbkodsFrilansaren:

Det säger ju sig självt: Varför skulle etablerade IT-bolag välja mig framför alla sparkade seniorer som nu också jagar efter uppdrag/jobb? 🤔

För att du kommer kunna begära en tredjedel av deras löneanspråk.

Skrivet av WebbkodsFrilansaren:

- Nuvarande kund så förefaller det att kunden har eget webbhotell som de ansvarar över och jag överför filer till dem som de själva lägger in under rotmappen i deras webbhotell.

Yikes.

Skrivet av WebbkodsFrilansaren:

- När det gäller versionshantering och så, så tänker jag mig att GitHub egentligen inte är så bra eftersom det må följa GDPR men det ägs ju av Microsoft och därmed egentligen av USA:s regering indirekt vid behov? Finns det mer GDPR-faktiska alternativ till GitHub eller är GitHub helt enkelt "oslagbart" över alla övriga alternativ? Samma fundering gäller även saker för säkerhetskopieringar av arbetsfiler (antingen mina egna och/eller någon kunds). 🤔

För det första gör du antagligen fel om du skriver personuppgifter i kod. För det andra bör detta vara företagets huvudbry och inte ditt. För det tredje använder nästan alla Github eller Bitbucket. Varför tror du att du måste göra annorlunda? Detta är övertänkt och du kan släppa frågeställningen helt.

Permalänk
Medlem

Jag vet inte, jag kanske låter otroligt negativ men varför vill du börja med att frilansa? Du kommer lära dig så mycket mer genom att söka ett jobb som junior på ett företag där du blir upplärd.

Det här låter som en jävla röra i mitt tycke om jag ska vara ärlig. Det finns alldeles för många bra tjänster som squarespace och liknande där du kan betala en liten summa för att bygga en hemsida och även lösa hosting direkt.

Jag önskar dig dock lycka till såklart!

Visa signatur

"Happiness is only real when shared"