~. Citera så jag hittar tillbaka .~
Kan jag jobba med webbutveckling?
Jag har många års erfarenhet av webbutveckling på hobbynivå. Om någon frågar så svarar jag att jag kan PHP, HTML5, CSS, mySQL, jQuery osv. Mitt problem är att jag inte vet om jag kan söka jobb inom detta.
Är det någon som själv är i branschen som kan reda ut för mig om jag duger?
Jag följer webbstandard så gott jag kan men har inte direkt w3.org som startsida.
Ibland vet jag att det har kommit nya grejer som är bättre än de jag redan kör (tex bättre krypteringsalgoritm) men jag orkar sällan bygga om det som redan funkar och jag lägger hellre tid på att bygga nya grejer med mysql än på att lära mig mysqli.
Jag bygger moduler på ett sätt som är logiskt för mig, men jag vet absolut inget om hur andra bygger upp moduler.
Jag funderar sällan på hur någon annan skulle tolka min kod och mina val, eftersom jag inte räknar med att det kommer att behövas.
Jag har aldrig använt något ramverk och vet inte hur de fungerar (har läst på lite efter att tidigare ha frågat här, men har inte hunnit få koll).
Jag måste ofta rådfråga dokumentationen eller googla små problem (allt brukar dock lösa sig till slut).
Vad tror ni? Hur bra är ni som faktiskt jobbar med detta? Hur bra var ni bör ni började?
Om du vill hålla det på någorlunda lågnivå så kan du frilansa och göra enklare hemsidor åt företag.
När det gäller att använda webstandard så är det jätte bra, Så länge nästan allt på en sida validerar så är det okej - om inte kunden specifierat något annat (typ: xhtml 1.1 strict, då ska allt validera!)
Så länge sidan renderar korrekt på de flesta webbläsarna så är det okej, men om du bygger nya system så försök då att använda det senaste. Att använda mysql idag när mysqli finns är bara dumt! Tänk på säkerhetsriskerna, det är stora faktorer när man bygger större hemsidor!
Hur du bygger klasser eller funktioner är helt upp till dig, tänk på att kommentera kod som kan vara lite diffus. Dels för att du ska veta vad du gjort när du går tillbaka och rättar din kod eller om någon annan utvecklare kommer och ska pilla i din kod.
Använda tydliga variabelnamn, namn på funktioner och om du använder OOPHP så var noga med att hålla klassnamnen tydliga. Försöker också att följa en standard så din kod är konsistent. Funktioner och variabler benämns med camelCasing-notation och klasser benämns med Pascal-notation.
Om du inte känner dig säker med ramverk så är det ingen större idé att bygga kring ett sådant - det kan dock vara en kod idé att prova på. Kan spara dig många timmar i framtiden!
Alla utvecklare googlar på sina problem! Om det inte finns i någon dokumentation får man ofta svar på stackexchange eller liknande.
Ett sista tips är att använda en IDE när du utvecklar, typ Visual Studio, NetBeans etc. för att skynda upp utvecklandet men också för att strukturera projekt!
ps. Jag är också relativt ny till "professionell" webutveckling. Har sedan många år tillbaka skrivit ihop HTML-kod mest på skojj men har under de senaste året hoppa på en utbildning i "Avancerad webprogrammering" och sen ett halvår tillbaka har jag frilansat.
När jag frilansat har jag märkt att många kunder föredrar enkla CMSer, Wordpress är ett vanligt önskemål. Så det kan vara en gå idé att ta sig en titt på dessa sådana också!
Om du vill hålla det på någorlunda lågnivå så kan du frilansa och göra enklare hemsidor åt företag.
När det gäller att använda webstandard så är det jätte bra, Så länge nästan allt på en sida validerar så är det okej - om inte kunden specifierat något annat (typ: xhtml 1.1 strict, då ska allt validera!)
Så länge sidan renderar korrekt på de flesta webbläsarna så är det okej, men om du bygger nya system så försök då att använda det senaste. Att använda mysql idag när mysqli finns är bara dumt! Tänk på säkerhetsriskerna, det är stora faktorer när man bygger större hemsidor!
Hur du bygger klasser eller funktioner är helt upp till dig, tänk på att kommentera kod som kan vara lite diffus. Dels för att du ska veta vad du gjort när du går tillbaka och rättar din kod eller om någon annan utvecklare kommer och ska pilla i din kod.
Använda tydliga variabelnamn, namn på funktioner och om du använder OOPHP så var noga med att hålla klassnamnen tydliga. Försöker också att följa en standard så din kod är konsistent. Funktioner och variabler benämns med camelCasing-notation och klasser benämns med Pascal-notation.
Om du inte känner dig säker med ramverk så är det ingen större idé att bygga kring ett sådant - det kan dock vara en kod idé att prova på. Kan spara dig många timmar i framtiden!
Alla utvecklare googlar på sina problem! Om det inte finns i någon dokumentation får man ofta svar på stackexchange eller liknande.
Ett sista tips är att använda en IDE när du utvecklar, typ Visual Studio, NetBeans etc. för att skynda upp utvecklandet men också för att strukturera projekt!
ps. Jag är också relativt ny till "professionell" webutveckling. Har sedan många år tillbaka skrivit ihop HTML-kod mest på skojj men har under de senaste året hoppa på en utbildning i "Avancerad webprogrammering" och sen ett halvår tillbaka har jag frilansat.
När jag frilansat har jag märkt att många kunder föredrar enkla CMSer, Wordpress är ett vanligt önskemål. Så det kan vara en gå idé att ta sig en titt på dessa sådana också!
Tack för svar!
Jag har faktiskt frilansat lite tidigare. Det var jag inte så blyg för, för då fanns det ingen annan som kunde titta snett på min kod. Jag är mer orolig för att söka jobb på ett företag där man ska samarbeta med andra. Samtidigt skulle jag verkligen vilja jobba precis så, för att kunna lära mig mer.
Jag har redan en utbildning (inom design kan man säga, vill inte outa mig för mycket) så jag varken vill eller kan ta fler universitetskurser, däremot har jag tänkt att min utbildning och hobby kunde bli en attraktiv kombination.
Mina webbsidor validerar alltid, kanske kan nöja mig med det då!
OOPHP ser jag inte riktigt poängen med utom i vissa fall, har googlat lite och det verkar som att folk tycker lite olika. Jag skriver inte sådan själv, för det har aldrig behövts, men jag har använt moduler som bygger på det och jag förstår hur det fungerar. Duger det?
Jag har använt några CMS. Ska fundera på IDE, kan jag testa saker mot min databas med ett sådant? Ska ta tag i det där med mysqli också eftersom du säger det. Alla säger ju det.
Tack för svar!
Jag har faktiskt frilansat lite tidigare. Det var jag inte så blyg för, för då fanns det ingen annan som kunde titta snett på min kod. Jag är mer orolig för att söka jobb på ett företag där man ska samarbeta med andra. Samtidigt skulle jag verkligen vilja jobba precis så, för att kunna lära mig mer.
Jag har redan en utbildning (inom design kan man säga, vill inte outa mig för mycket) så jag varken vill eller kan ta fler universitetskurser, däremot har jag tänkt att min utbildning och hobby kunde bli en attraktiv kombination.
Mina webbsidor validerar alltid, kanske kan nöja mig med det då!
OOPHP ser jag inte riktigt poängen med utom i vissa fall, har googlat lite och det verkar som att folk tycker lite olika. Jag skriver inte sådan själv, för det har aldrig behövts, men jag har använt moduler som bygger på det och jag förstår hur det fungerar. Duger det?
Jag har använt några CMS. Ska fundera på IDE, kan jag testa saker mot min databas med ett sådant? Ska ta tag i det där med mysqli också eftersom du säger det. Alla säger ju det.
OOPHP ser jag inte riktigt poängen med utom i vissa fall, har googlat lite och det verkar som att folk tycker lite olika. Jag skriver inte sådan själv, för det har aldrig behövts, men jag har använt moduler som bygger på det och jag förstår hur det fungerar. Duger det?
Ja det duger. Det starka vapnet med Object orienterad programmering är framför allt polymorphism men också att man kan använda sig av många design patterns, strategier för att lösa olika problem!
Jag har använt några CMS. Ska fundera på IDE, kan jag testa saker mot min databas med ett sådant? Ska ta tag i det där med mysqli också eftersom du säger det. Alla säger ju det.
Så vitt jag vet så kan du inte kolla direkt om du stavat rätt i SQL-frågorna utan man får testköra/debugga. Om du bygger ASP.net så kan du ju använda dig av .NET's LINQ för att skapa entiteter osv.
Anledningen till varför jag kör mer avancerade IDE´s så som Netbeans och Visual Studio är för code-completion, syntax highlights och FTP-hantering. Notepad++ är ett bra alternativ om man bara ska in snabbt och ändra lite i en fil. Men att skriva större filer kan bli lite knepigt.
NetBeans är bättre ämnad för Java och PHP medans jag föredrar Visual Studio för HTML/XML, CSS, Javascript/JQuery, ASP.NET och C#/F#/VB.
~. Citera så jag hittar tillbaka .~
Jag var i ungefär liknande sits som dig när jag började och mina svar hade kanske varit mer lika dina då, men så här ser det ut nu:
Jag följer sällan webbstandard om det inte behövs för att fungera i alla webbläsare jag riktar mig mot. Så länge det fungerar är det bra. Standarder överhuvud taget är inget jag tittar på speciellt mycket alls. Kanske för att det redan sitter, men jag bekymrar mig aldrig om att validera mot standard. Det är helt OK om det saknas alt-taggar i en businessapplikation.
Jag använder alltid det som produkten kräver, men om det är en ny produkt försöker jag använda de tekniker som är bäst för produkten. Mysql är end of life och bör aldrig användas i en ny produkt, till exempel av vad jag läst. Jag skriver inte PHP längre.
Jag läser på varje morgon olika teknikbloggar för att hålla mig ajour hur andra bygger moduler och liknande. Minst en timme om dagen vidarutbildar jag mig. Ibland även en timme hemma efter jobbet, men säg inget till någon för man ska inte jobba gratis.
Jag funderar alltid på hur någon annan skulle tolka min kod och mina val och refakturerar så ofta jag har råd och tid. Clean code är viktigt även om man är ensam på ett projekt.
Jag använder frekvent olika ramverk för att bredda min kunskap. Har jag chansen och det innebär låg risk provar jag gärna ett nytt ramverk för att kunna utvärdera det.
Jag måste ofta rådfråga dokumentationen eller googla små problem och stora problem. Man ska inte göra om hjulet för ofta. Google är ett verktyg som alla andra som jag utnyttjar till fullo.
Jag följer sällan webbstandard om det inte behövs för att fungera i alla webbläsare jag riktar mig mot. Så länge det fungerar är det bra. Standarder överhuvud taget är inget jag tittar på speciellt mycket alls. Kanske för att det redan sitter, men jag bekymrar mig aldrig om att validera mot standard. Det är helt OK om det saknas alt-taggar i en businessapplikation.
Bara för att du har fungerande ögon och kan se vad det är på en bild betyder inte det att andra har det. Alt-taggar (och andra hjälpmedel) är väldigt viktiga för personer med funktionsnedsättningar.
Verkar som det finns lite förvirring om MySQL här. MySQL är en databas. I PHP kan man använda sig av mysql_ funktionerna som helt rätt är föråldrade. Det du ska använda är PDO, skippa MySQLi.
Hur du kodar din applikation är olika viktigt beroende på vem du utvecklar för. Utvecklar du något där andra kommer titta på din kod, eller det finns risk att någon annan måste göra det i framtiden (t.ex. om du inte underhåller deras kodbas längre) är det viktigt att den är förståbar. Skriver du ren kod är det också väldigt mycket enklare att sätta sig in i den själv senare.
Det som är viktigast, enligt mig i alla fall, är att användaren får en bra upplevelse. Oavsett vad denne använder för webbläsare, enhet eller vad denne har för funktionsnedsättningar. Satsa på responsiv design, håll nere dina laddningstider och gör en sida som fungerar i äldre webbläsare (> IE8).
Ibland vet jag att det har kommit nya grejer som är bättre än de jag redan kör (tex bättre krypteringsalgoritm) men jag orkar sällan bygga om det som redan funkar och jag lägger hellre tid på att bygga nya grejer med mysql än på att lära mig mysqli.
mysql methoderna i PHP är depricated och du bör absolut lära dig något annat. Jag rekommendera PDO istället för mysqli. Med PDO kan du koppla upp dig mot en rad olika databaser. På så sätt får du en fördel om någon skulle be dig bygga en applikation eller webbsida som använder postgres och inte mysql.
Jag bygger moduler på ett sätt som är logiskt för mig, men jag vet absolut inget om hur andra bygger upp moduler.
Testa lite olika frameworks som tex CakePHP eller annat för att få bättre koll på hur den delen av communityn bygger.
http://cakephp.org/
Jag funderar sällan på hur någon annan skulle tolka min kod och mina val, eftersom jag inte räknar med att det kommer att behövas.
Om du vill jobba som webbutvecklare och inte jobba ensam så behöver du skriva din kod så att andra kan läsa den.
Jag måste ofta rådfråga dokumentationen eller googla små problem (allt brukar dock lösa sig till slut).
Det är sällan man kan allt utan och innan. Googlar själv en hel del och kollar mycket i dokumentationer. Om du använder OSX rekomenderar jag starkt ett program som heter Dash som gör det mycket enklare att ta sig runt bland dokumentationer och du kan ladda ner dokumentationerna offline.
http://kapeli.com/dash
Vad tror ni? Hur bra är ni som faktiskt jobbar med detta? Hur bra var ni bör ni började?
Det är svårt att säga huruvida jag tror du skulle passa i branschen bara med denna text. Men om jag ändå ska göra ett försök så tror jag att du har potential men att du är något utdaterad i dina kunskaper. Själv försöker jag lära mig ett nytt språk eller större ramverk om året och har märkt att det gör mycket för att hålla sig på banan. Sitter jag tex med ruby en period och sedan tar mig an att lära mig node.js så blir jag även bättre på ruby när jag hoppar tillbaks dit. Det finns alltid idéer i andra språk och ramverk som man kan hämta inspiration ifrån för att förbättra sig inom något annat.
Så min rekommendation till dig är att lära dig ett annat språk för att snabbare komma på banan igen. Ett tips är att pröva ruby on rails. Enligt mig finns det inget måste att lära dig ruby innan du hoppar in i det ramverket och det finns en jättebra bok för att verkligen få en snabb skjuts in i det hela. Boken heter "Ruby on Rails Tutorial" och finns som gratis onlineversion. Där får du lära dig både ruby, ruby on rails, MVC (Model View Controller) och TDD (Test Driven Development).
Ett par punkter i boken som är bra att få överblick för oavsett vilket språk du senare väljer att fortsätta med är:
Versionshantering (i detta fall med Git)
Test driven utveckling (Boken går igenom testramverket Rspec för ruby men det finns liknande för PHP som tex PHPUnit. Arbetar man sedan mycket javascript kod är det även bra att testa den vilket man kan göra med tex Jasmine)
Objektorientering
Boken hittar du här http://ruby.railstutorial.org/ruby-on-rails-tutorial-book och hoppa inte över indtroduction eller liknande. Det kan tex vara bra att du läser hela sektion 1.1.1 för att få en överblick för om den här boken faktiskt passar dig eller inte.
Projekt:Dual Comp
Tack för svaren - kan hålla med om att jag nog måste uppdatera mig lite. Tenderar att bara köra på med det som funkar.
Ska kolla PDO.
Ernesto, har du tips på bra bloggar? Jag har en som jag läser men har tänkt på att jag borde utöka.