WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur lång tid tar det att bli PHP-expert? (https://www.wn.se/forum/showthread.php?t=1038081)

yellowdog101 2009-09-20 22:10

Hur lång tid tar det att bli PHP-expert?
 
Hej,

Jag undrar hur lång tid det tar att bli expert på PHP (kan programmera forum from scratch), och vad man ska kunna innan man hoppar in på PHP? Måste man gå på högskoleutbildning eller kan man lära sig det snabbare om man läser och lär sig att koda 10 timmar om dagen.

Vill lära mig och bli bra på det så snabbt som möjligt. Tänkt på att jag först ska lära mig HTML, XHTML och CSS. Sedan PHP och MySQL. Låter det som rätt planerat?

BarateaU 2009-09-20 22:18

Högskoleutb är nog de slöaste sättet att lära sig de på.
Bara sätta dig och försöka skriva nått litet till att börja med.

Börja med att göra en vanlig sida eller nått, och e-post formulär eller så.
Bra start kanske.

Jawn 2009-09-20 22:19

Hur lång tid tar det att bli astronaut...

Det är en väldigt individuell fråga

BarateaU 2009-09-20 22:20

Citat:

Ursprungligen postat av Jawn (Inlägg 20322898)
Hur lång tid tar det att bli astronaut...

Det är en väldigt individuell fråga

Hur långt är ett snöre :P

objx 2009-09-20 22:49

För att du åtminstone ska få ett någorlunda seriöst svar så skulle jag vilja säga så här:

Alla förutsättningar finns för att snabbt bli rätt vass på PHP, framförallt om du har en del erfarenhet av programmering sen tidigare. Det finns en uppsjö av hjälp att få: tutorials, exempel, färdiga script etc. Allt är bara någon googlesökning bort.

Som du beskriver det så verkar du även ha intresset som krävs för att sitta flertalet timmar per dag och försöka lära dig språket, vilket jag tror är en förutsättning för att snabbt ta till sig informationen.

Om jag vore du så skulle jag först försöka sätta mig in i grunderna i PHP, och testa att utföra olika typer av PHP-funktioner t.ex. formulärhantering, filhantering, inloggningsscript.
Därefter skulle jag försöka hitta ett Open Source-projekt som har ungefär samma typer av funktioner som du själv vill kunna skapa i PHP, t.ex:
- Wordpress (publiceringsverktyg)
- vTiger (CRM-system)
- phpBB (Forum)
Genom att studera källkoden i PHP-system baserade på öppen källkod så lär man sig otroligt mycket. En förutsättning är ju dock att du har tillräckliga baskunskaper för att förstå vad PHP-koden egentligen utför.

En högskoleutbildning för att lära sig PHP tycker jag inte skall behövas, men det beror väl mycket på hur man är som person.
Om man har lätt att lära sig "praktiska" ämnen genom lärarledda kurser så är det väl att föredra.
Om du däremot har en experimentlusta och gillar att söka dig fram till svaren på egen hand så bör du kunna bli någorlunda kunnig på PHP inom 4-5 månader.

Lycka till med kodandet!

digiArt 2009-09-20 23:15

Jag instämmer helt och fullt med objx. En högskoleutbildning må vara bra för att ha papper på det, men de riktigt vassa utvecklarna är de som har ett intresse, vilket du verkar ha.

Så sätt dig ner och undersök hur PHP funkar och vad som går att göra.

PHP, CSS och (X)HTML samt MySQL kan du lära dig parallellt.

BjörnJ 2009-09-20 23:30

Om du redan kan programmera något annat språk kommer det gå mycket snabbare att lära sig PHP än om du inte kan programmera sedan tidigare.

Att gå ett helt högskoleprogram bara för att bli bra på PHP är inte tidseffektivt, men det skadar inte med en examen och andra fördelar man kan få av att gå på högskola. Däremot kan det vara bra att gå någon programmeringskurs (måste inte vara just PHP) om du inte har gjort det tidigare.

Det är även viktigt att lära sig lite om säkerhet, som t.ex. hur man ska hantera lösenord och vad SQL injection är.

Det är nog vettigt som du skriver att först lära sig (X)HTML och CSS (använd inte tabeller för layout!), sedan PHP och sedan MySQL. Du behöver inte kunna HTML och CSS helt perfekt innan du börjar med PHP.

Wojt 2009-09-20 23:32

Utbildning ger inte ett skit.

5-10 år arbetslivserfarenhet och passion skulle jag säga.

Annars kan man ingenting i praktiken.

taz76 2009-09-20 23:44

Jag ser högskoleutbildning som ett komplement och ett plus i kanten.. dessutom så finns stor möjlighet att man lär sig saker som man annars inte skulle, får lite andra vinklingar på saker.

danjel 2009-09-20 23:57

Angående föregående talare om att studera
Open Source projekt som phpBB m.m för att lära sig,
ofta är just php koden väldigt bra ur säkerhetssynpunkt, prestanda m.m ,
men själva "software designen" är ofta usel...ofta är systemen gamla och saknar objektorientering samt skiktning m.m

Conny Westh 2009-09-21 00:32

Citat:

Ursprungligen postat av yellowdog101 (Inlägg 20322895)
Hej,

Jag undrar hur lång tid det tar att bli expert på PHP (kan programmera forum from scratch), och vad man ska kunna innan man hoppar in på PHP? Måste man gå på högskoleutbildning eller kan man lära sig det snabbare om man läser och lär sig att koda 10 timmar om dagen.

Vill lära mig och bli bra på det så snabbt som möjligt. Tänkt på att jag först ska lära mig HTML, XHTML och CSS. Sedan PHP och MySQL. Låter det som rätt planerat?

Om man är erfaren programmerare, dvs har minst 5 år heltidsarbete som programmerare, med minst ett par tre programspråk, bakom sig så blir man "specialist" på ett nytt programspråk på mellan 6-18 månader beroeden på hur lättlärd och reflekterande man är.

Har man ingen yrkeserfarenhet som utvecklare tar det nog 3-5 år innan man kan kalla sig "sppecialist".

Som du märker så använder jag ordet "specialist" eftersom ordet "expert" är så värdeladdat och pretensioöst att man inte riktigt kan sätta fingret på vad man menar.

Men det har mycket stor betydelse på dig som person, hur reflekterande och "tänkande" du är. Det finns de som aldrig blir bra på något därför att de aldrig funderar på vad de gör och inte vill lära sig bli bättre utan enbart vill lära sig att bli snabb på tangentbordet och producera mycket kod, de kommer aldrig att bli bra programmerare, däremot kan de producera massor av kod snabbt, som är full av feltänk och buggar.....

Draqir 2009-09-21 09:09

Det som är värdefullt från en universitetsutbildning så som Teknisk fysik, civilingenjör i systemteknik etc. är att de lär sig lösa problem. Logik är programmeringens moder.

Vem som helst som är normalbegåvad kan lära sig 2-300 glosor på en helg om de anstränger sig. (Ja, jag refererar till php's syntax). Men att lära sig använda dem på ett optimalt sätt tar tid. Väldigt lång tid skulle jag säga. Jag har trots allt programmerat professionellt i lite över tio år nu till och från och jag lär mig fortfarande nya saker nästan varje dag.

Det bästa sättet att lära sig programmering enligt mig är att lära sig något språks syntax och sedan tävla i internationella programmeringstävlingar. Det har gett mig mest. Finns tusentals problem på topcoder.com t.ex.

Bjorne 2009-09-21 09:19

I boken Outliers: the Story of Success undersöker Malcolm Gladwell just den frågan. Hans svar är att det tar 10.000 timmar att bli expert på någonting. Kan du spendera såpass mycket tid på din hobby kommer din förmåga oundvikligen att bli i världsklass. Dock kanske du nöjer dig med att bli hyffsat bra, då kan 3.000 timmar räcka.

Ta siffrorna med en nypa salt, men de stämmer i runda tal. Alla programmeringswizkids du hör talas om, så mycket tid har de lagt ner på sin hobby.

Conny Westh 2009-09-21 11:24

Citat:

Ursprungligen postat av Bjorne (Inlägg 20322939)
I boken Outliers: the Story of Success undersöker Malcolm Gladwell just den frågan. Hans svar är att det tar 10.000 timmar att bli expert på någonting. Kan du spendera såpass mycket tid på din hobby kommer din förmåga oundvikligen att bli i världsklass. Dock kanske du nöjer dig med att bli hyffsat bra, då kan 3.000 timmar räcka.

Ta siffrorna med en nypa salt, men de stämmer i runda tal. Alla programmeringswizkids du hör talas om, så mycket tid har de lagt ner på sin hobby.

Tack för tipset, 10 000 timmar verkar helt rimligt, men det var en bra tumregel att jobba med.

tartareandesire 2009-09-21 13:01

Citat:

Ursprungligen postat av Wojt (Inlägg 20322912)
Utbildning ger inte ett skit.

5-10 år arbetslivserfarenhet och passion skulle jag säga.

Annars kan man ingenting i praktiken.

Det var bland det dummaste jag hört. Utbildning ger inte ett skit? Nej, vad ska vi med det till..., hur tror du vi fått det samhälle vi har idag?

Åter till ämnet. Vill du bli en riktigt vass programmerare (oavsett språk) så rekommenderar jag definitivt en högskoleutbildning. Man får en betydligt stabilare grund (om man väljer rätt utbildning) och har större möjligheter att arbeta på en högre nivå. Därmed inte sagt att du inte kan bli en minst lika duktig php-utvecklare helt utan densamma.

En del enögda här kommer säkerligen att säga något i stil med Wojts nonsens. Det finns en del sanning i hans påstående dock. Expert blir man aldrig utan en hel del praktisk erfarenhet men det gäller ju givetvis oavsett vilket yrke man är verksam inom...

yellowdog101 2009-09-21 16:10

Rekommenderar ni böcker (vilka isf) eller att man söker efter tutorials på nätet?

Finns det renodlade PHP-utbildningar? För det är det enda jag är intresserad av då jag tycker framtiden ligger på nätet och inte på traditionella datorprogram.

Draqir 2009-09-21 16:40

Visst finns det kommersiella PHP utbildningar. Brukar kosta runt 40-90 000 kronor för en veckas php bootcamp.

ztream 2009-09-21 16:59

Jag har läst programmering på högskola och kodat kommersiella projekt i php sedan 2001.

Jag kan inte ett skit och är verkligen ingen expert.

yellowdog101 2009-09-21 17:23

Citat:

Ursprungligen postat av ztream (Inlägg 20322994)
Jag har läst programmering på högskola och kodat kommersiella projekt i php sedan 2001.

Jag kan inte ett skit och är verkligen ingen expert.

Hehe...var det något du ville säga med det? Att högskola inte ger mkt?

tartareandesire 2009-09-21 17:53

Citat:

Ursprungligen postat av yellowdog101 (Inlägg 20322996)
Hehe...var det något du ville säga med det? Att högskola inte ger mkt?

Han försöker nog säga att hans intresse är mer fokuserat på affärer än programmering =) Går man inte in för något så blir man oftast heller inte bra på det. Sedan beror det givetvis på individuell talang också. Alla människor har olika lätt för olika saker, har olika bra minne osv.

Ztream har satsat ganska hårt på sarkasm och ironi sedan han slutade som moderator på forumet, bara så du är medveten om det =)

ztream 2009-09-21 18:14

Jag menade att det inte går att ge några generella svar. Det handlar om person till person.

Jag har pluggat massor och kodat massor och är fortfarande ganska kass, men jag kan så jag klarar mig.

Det finns ingen tid man kan hålla på för att bli expert. Precis som att du inte kan bli konsertpianist bara för att du lirat piano i X antal år.

dotvoid 2009-09-21 18:27

Som några ovan har hintat om så räcker det inte att lära sig PHP. Det kräver betydligt mer. Ett exempel på något man lär sig just på universitet/högskola är att programmeringsspråket i sig bara är ett verktyg bland andra. Det är det runt omkring som gör dig till expert. Förmågan att känna igen problem och mönster och applicera rätt lösning på rätt problem, förmåga att strukturera och planera stora projekt. Så om målet är att bli en riktigt bra utvecklare räcker det inte att idiotplugga PHP. Det behövs betydligt mer än så.

Som ett dumdum-exempel kan man ta en kundportal hos ett större företag som funnits med i några år. Ofta handlar det om integration mot befintliga system, d v s du kanske behöver kunna hantera proprietära C-apier som måste implementeras som extensions till PHP, troligen finns lite nyare system som kommmunicerar via SOAP eller XML-RPC. Någon trendputte kanske gjorde en del av portalen som XSL-mallar och åter en utvecklare tyckte en tredjepartsprodukt för single-signon var suveränt. Kanske finns en lokal MySQL-databas för själva portalen och en Oracle-databas med funktionalitet i PL/SQL längre in i nätverket. Dessutom finns en del schemalagda körningar i vad som iaf från början var ganska enkla perl-script som måste hanteras. Samtidigt har du versionshanteringssystem och speciella produktionssättningssystem att ta hand om. Detta är inte alls ett ovanligt scenario.

Att då kunna rabbla php-kod upp och ner hjälper ingen om du inte samtidigt har en ordentlig koll på arkitektur, integration, databaserteori, säkerhet, användarvändlighet samt bra rutiner.

Och att påstå att universitet/högskola är nonsens är i sig en fingervisning om kunskapsnivån ;)

Så allt beror på vad man vill. Vill man satsa på e-handel fullt ut räcker det troligen med att "inte kunna ett skit" eftersom man har fokus på annat än just det tekniska. Det tekniska råkar bara vara ett verktyg att nå dit man vill.

Wojt 2009-09-21 22:29

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20322964)
Det var bland det dummaste jag hört. Utbildning ger inte ett skit? Nej, vad ska vi med det till..., hur tror du vi fått det samhälle vi har idag?

Har inte lyckats hyra in en gröngöling ännu som kunnat leverera bra kod.

Det har däremot de som haft 5-10 år på nacken kunnat göra.

En nyexaminerad programmerare klarar oftast inte av att lösa problem lika galant som någon med kött på benen. Har anlitat folk som har minst 3 års "erfarenhet" och det har varit katastrof.

Nu finns det som alltid säkert undantag, och när det gör det så handlar det om passion som jag nämde tidigare, och inte utbildningen i sig.

danjel 2009-09-21 23:25

Universitetsutbildingarna riktar sig oftast inte in på att utbilda programmerare i egentlig mening utan systemutvecklare/systemerare snarare , vad gäller just systemvetenskapliga utbildningen..alltså en bredare bas..
Men visst kan jag, som gammal student på ovanstående utbildning, hålla med om att mycket av den utbildningen var skit, varför läsa böcker om operativsystems uppbyggnad tex...

yellowdog101 2009-09-21 23:44

Ok..låter som att jag inte hinner bli en expert på 6 månader=)

Om en specialist på PHP har kodat en hel webbtjänst och jag vill finna en som kan ta över underhållningen, felsökning och lägga till några nya funktioner, kommer det vara svårt för denne inte-lika-duktig att förstå koden som den förre har skrivit (ska vara i toppklass då han har 10 års erfarenhet och jobbar snabbt!).

tartareandesire 2009-09-22 00:09

Är det som du säger bara mindre ändringar som ska göras behöver du inte anlita en programmerare i toppklass, det är bara att kasta pengar i sjön. Ska man ändra i befintlig kod så underlättar det om den är väl dokumenterad, något som många utvecklare tyvärr missar (eller helt enkelt inte har tid till beroende på hur projektet ser ut).

Ofta är det i databasdesign och struktur som nybörjare och ej utbildade programmerare brister vilket gör att de har svårt för att arbeta i grupp och i större projekt. Men allt vi säger i den här tråden är generaliseringar och gäller aldrig till 100%. Givetvis finns det mer flexibla programmerare både bland utbildade och ej utbildade.

mellow 2009-09-22 01:17

yellowdog -> Jag kan rekommendera boken "PHP Objects, Patterns and Practice" om du vill lära dig objektorienterad PHP-programmering.

Conny Westh 2009-09-22 06:34

Om den förre hade 10 års erfarenhet så bör du hitta en ersättare med ca 10 års erfarenhet, annars kommer du bli missnöjd, det är ett som nästan är säkert.

Utvecklare med 10 års erfarenhet kostar flis, men det är INTE att kasta pengarna i sjön, när det gäller programmering så är det enorm skillnad på kvalitet på utvecklare mellan oerfarna och erfarna, en faktor 50 är inte helt ovanlig.

Johan_S 2009-09-22 08:08

Finns det bra exempel på vad en "PHP Expert" kan tänkas skriva för lösningar? Skulle gärna se lite källkod till något projekt. Har själv på fritiden i många år knackat kod och pratat med databaser, idag sitter jag på ett företag och utvecklar en ny plattform för internethandeln!

dotvoid 2009-09-22 08:28

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20323057)
Men allt vi säger i den här tråden är generaliseringar och gäller aldrig till 100%.

Precis. Därför kan man kasta paj på eller försvara utbildningar hur mycket som helst med verkliga exempel på motsatsen. Utbildning är bra men hjälper inte mot ointresse. Dyra experter kan ibland spara mycket pengar men kan också ibland i det närmaste ta död på projekt för att egna intressen i specifik teknik väger tyngre än kundens intresse.

Så är det mest underhåll och smärre ändringar vill du troligen inte ha en top-notch-programmerare. Han gör jobbet med vänsterhanden, tröttnar och gör ett dåligt jobb. Du vill ha en pålitlig programmerare helt enkelt.

Kimpo 2009-09-25 14:51

Yellowdog , Nej du kommer inte bli expert på 6mån men du kan bli duktig beroende på intresse och nedlagd tid. Jag skulle faktist rekommendera http://headfirstlabs.com/books/hfphp/
Learning by doing is the shit :)

Conny Westh 2009-09-25 17:21

Citat:

Ursprungligen postat av Johan_S (Inlägg 20323087)
Finns det bra exempel på vad en "PHP Expert" kan tänkas skriva för lösningar? Skulle gärna se lite källkod till något projekt. Har själv på fritiden i många år knackat kod och pratat med databaser, idag sitter jag på ett företag och utvecklar en ny plattform för internethandeln!

Koden i sig är inte det intressanta utan det finns många dokument runt omkring som beskriver verksamhet, krav, arkitektur som är betydligt viktigare att titta på än vad själva källkoden kan ge. Det är oftast det som skiljer mest från någon som har kortare erfarenhet (som inte ens funderar på dessa aspekter av utvecklingen).

dotvoid 2009-09-25 19:42

Ska man ge sig in i PHP-världen skulle jag föreslå att man läser vad som publiceras på http://www.planet-php.net/. Mycket duktigt folk skriver om mycket mer än bara PHP i sig men alltid med med PHP som bakgrund. Därmed lär man sig mer kring allt man behöver kunna runtomkring. Har du råd - åk på t ex PHP Conference i Tyskland. Då får du träffa många av de som skriver på Planet PHP, lära dig mer genom föreläsningar och tom en chans ta en öl med dem. Alltid trevligt!

Utveckla sedan lösningar mha ramverk som t ex CodeIgniter eller Zend Framework (CodeIgniter är nog enklare att börja med) så får man mycket tänk kring arkitektur gratis.

PerD 2009-09-25 20:01

Just scriptspråk om man nu vill bli extra bra på t.ex. PHP finns det väl inte så många kurser i på högskolenivå iaf inte som jag sett. Brukar ingå i mer som delmoment och är då kanske endast på några veckor, dvs man lär sig grunderna och sedan är det antingen genom egna studier eller arbetslivserfarenhet som man lär sig vidare. Visst finns det grundkurs och avancerad kurs för vissa mer populära språk men detta rör sig inte om några längre utbildningar.

Tror det bästa om man vill bli bra på t.ex. PHP är att först läsa ett programspråk som C++ på högskolenivå och lära sig grunderna i programmering sedan komplettera med PHP-kurser i den mån det finns. Just C++ ger också mycket gratis både vad gäller PHP och även för annat som Java och ASP.NET m.m.

taz76 2009-09-25 22:14

Man kan säkert läsa PHP som en fristående kurs på högskola misstänker jag. På HiK där jag läser så ges kursen på distans också. Kika runt på olika högskolor/universitet.

MickeH 2009-09-26 02:29

Hej
Jag har anställt programmerare och det är inte självlärda ”skript-kids” som skriver kod i ”120” som är intressanta för dom finns i överflöd. Det som är intressant är personer som klarar av att skriva strukturerad, dokumenterad och välskriven kod som även andra klarar av att tyda och vidareutveckla.

Jag skulle vilja säga att ända sättet att lära sig programmera strukturerat är att skaffa sig en akademisk grund att stå på. Om jag skulle rekommendera dig något så är det att läsa något ”riktigt” språk typ C++ och på någon högskola och lära sig programmera rätt från början.

Gå inte på myten som t.ex. Wojt försöker sprida ”Utbildning ger inte ett skit”. Nej skaffa dig en riktig utbildning att stå på. Visst finns det skript-kids som har nått långt men i förhållande till dom som har skaffat sig akademisk grund så är dom underrepresenterade. Programmering är så mycket mer än att lära sig några hundra kommandon.

Skaffa dig en solid grund i form av en högskoleutbildning, sen är det genom passion och tid som bestämmer hur långt du når. Men räkna med att förutom den tid du lägger ner på att skaffa dig en akademisk utbildning så behöver du säkert +5 år innan du når dom högre höjderna.

tartareandesire 2009-09-26 09:26

Det du kan få ut av den här tråden är att ett mellanläge mellan de två extremerna som MickeH och Wojt ger dig är en vettig inställning. De är lite väl insnöade bägge två, det finns mycket duktiga programmerare på bägge sidor såväl som mitt i. Även om det absolut inte är ett måste så är det hur som helst inte så dumt att lära sig programmeringsgrunder i t.ex. C++ (kurserna som ges på civilingenjörs-programmen är mycket bra). På så vis har du dessutom en betydligt bredare arbetsmarknad och det finns ju dessutom en hel del crossover-programmering.

Jag har själv flera bekanta civilingenjörer som idag arbetar med programmering på större företag, en av dessa endast i ett språk han aldrig tidigare rört (och detta i ett säkerhetsklassat projekt) och ytterligare en i tre olika språk. Att vara mångsidig är ofta bra, förutsatt att man klarar av det utan att bli halvkass på allt vill säga :)

Å andra sidan så finns det också personer helt utan akademisk utbildning som arbetar på branschledande företag och överglänser de flesta med akademisk utbildning.

Som ztream säger, det finns inget generellt svar.

BjörnJ 2009-09-26 11:17

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20323700)
Å andra sidan så finns det också personer helt utan akademisk utbildning som arbetar på branschledande företag och överglänser de flesta med akademisk utbildning.

Å tredje sidan skulle nog inte dessa personer ha varit sämre om de hade haft en akademsik utbildning. Utbildning är aldrig fel.

MickeH 2009-09-26 12:46

Jag skulle inte vilja säga att jag är extrem i mina åsikter snarare realist av egna erfarenheter. Jag är en såkallad skript-kids från början som spottade ut kod 130 medans min kompanjon som har varit i USA och pluggat programmering spottade bara ut kod i 80, nu 12 år senare är det bara ett projekt som fortfarande lever och det är ett projekt som min kollega startade upp. Vi/jag insåg med tiden att min styrka inte var programmering utan snarare som entreprenörer vilket jag inte sörjer. Jag skulle vilja säga att dom som har lyckats på nätet är MER entreprenörer än ”programmerare”.

tartareandesire 2009-09-26 13:35

Citat:

Ursprungligen postat av MickeH (Inlägg 20323715)
Jag skulle inte vilja säga att jag är extrem i mina åsikter snarare realist av egna erfarenheter. Jag är en såkallad skript-kids från början som spottade ut kod 130 medans min kompanjon som har varit i USA och pluggat programmering spottade bara ut kod i 80, nu 12 år senare är det bara ett projekt som fortfarande lever och det är ett projekt som min kollega startade upp. Vi/jag insåg med tiden att min styrka inte var programmering utan snarare som entreprenörer vilket jag inte sörjer. Jag skulle vilja säga att dom som har lyckats på nätet är MER entreprenörer än ”programmerare”.

Exakt, det är dina erfarenheter och Wojt talar om sina. Då borde ni bägge rimligtvis inse att ni inte har rätt... Ytterst få, om ens några, kan uttala sig generellt enbart utifrån sina egna erfarenheter.


Alla tider är GMT +2. Klockan är nu 07:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson