Wednesday, November 5, 2008

Jag fick ett mail.

" Jag heter Daniel, är 20 år gammal och tänkte be om lite råd! Tro det eller ej, men du är lite av en förebild för mig! Jag blev riktigt inspirerad när jag läste artikeln om dig i DI förra året. Det dröjde inte länge föränn jag bestämde mig för att lära mig att göra webbsidor.

Nu när det gått ett år så kan jag väl säga att det gått hyffsat! Haft mycket med skola och sånt, men jag kan HTML/XHTML och CSS rätt bra, har läst på lite om PHP också, men kan inte säga att jag kan det.
Tänkte kolla om du har tid att ge lite tips till en som vill jobba som du. Vad ska jag lägga tid på att lära mig? PHP? Ruby on Rails? AJAX? "
... mailet kom från en kille som heter Daniel Westman. Jag tänkte maila honom ett svar, men så kom jag på att den här diskussionen lämpar sig bättre ute i "det fria" exempelvis här på bloggen. Här är det ju fler som kan kritisera och komplettera mitt förmodligen ganska bristfälliga svar.

Här är mitt svar:
  • Suveränt att du lärt dig XHTML+CSS. Försök att bygga så många olika sajter du kan, så att du får övning och blir bättre med tiden. När du gör egna sajter så kommer du också öva på webb-design och interaktionsdesign. Det kommer alltid att finnas folk som är bättre än dig på detta (och du kan kontakta dem när du har ett riktigt stort projekt och en budget). Men det är enorm frihet att kunna bygga allt "front-end", själv, utan att behöva vara beroende av andra.
  • Jättebra att du skaffat en egen blogg, och att du prenumererar på andra bloggars RSS-flöden. På så sätt blir du del av ett community, och det är ofta därifrån du får din kunskap och din inspiration!
  • Back-end är det lite svårare att ge ett rakt svar. Själv använder jag PHP, Mysql och Linux. Ett bra smart sätt att komma igång med en seriös "utvecklarmiljö" är att skaffa en egen VPS-server hos exempelvis Ipeer eller Glesys. Det kostar ca 165 kr / månad, men då har du en "riktig" miljö, som känns som en "egen server".
  • Om du vill sopa mattan med mig (vilket jag vet att du kommer att göra på ett par års sikt) så satsar du kanske på att lära dig Ruby on Rails istället för PHP. Kanske lite trögare att komma igång med, men sedan kommer du kunna lansera projekt 10 gånger så fort som jag.
  • Ett annat alternativ är att du bygger saker med Google App Engine. Då måste du programmera i Python (istället för PHP) och Googles eget "BigTable" istället för MySQL. Fördelar: Det är gratis (upp till en viss trafikmängd), det är enormt skalbart, det är framtiden. Nackdelar: Just nu måste man programmera i Python, men det kanske får support för andra språk framöver (PHP?). På Mashup.se kan du läsa mer om födelar och nackdelar med Google App Engine.
Några saker att ha i bakhuvudet, som inte har så mycket med teknik att göra:
  1. Det viktiga är att du har kul. Fördelen med PHP och MySQL är att det är ganska lätt att komma igång, och praktisera saker i verkligheten, och varje gång du ser de praktiska resultaten av din kod så får du en positiv kick! Det är i alla fall så jag lärt mig att programmera. För att dra en parallell så hatade jag grammatik när jag gick i skolan, men tyckte att det var jättekul att åka på språkresa... Beroende på vad du har för läggning själv så kommer du hitta din egen balans mellan teori och praktik.
  2. Satsa långsiktigt. Återigen en parallell: Om du köper en bra laptop så kan du ha den i två år, istället för ett år, innan du måste kasta den och köpa en ny. Det finns många människor som alltid kommer att uppmuntra dig att hålla på med det allra senaste, men de glömmer ofta att berätta att det finns switching costs. Om du alltid ska jaga den senaste trenden så kommer det ta för mycket av din tid. Men om du är i den lyckliga positionen att börja från scratch, satsa på något som håller länge.
  3. Besöksstatistiken är en drog. Använd Google Analytics på dina sajter, och skicka dig själv en emailrapport varje dag. Du kommer att märka att besöksstatistiken är en drog - varje dag, varje vecka, varje månad kommer du vilja ha lite mer, bara lite mer... Snart har du gått från 20 besökare om dagen till 20.000 besökare om dagen, utan att riktigt veta hur det gick till. En annan drog är intäkter, haha. Försök mäta dina intäkter med korta tidsintervall. Om du blir 10% bättre varje vecka så kommer du snart ha en miljon på banken. :)
  4. Börja när du är ung. Jag kan bara gratulera dig till att du är 20 år. Själv började jag programmer när jag var 27, och det var nog precis i sista stund. Efter 30 är det svårt att lära nytt; du kanske har en villa, ett lån, en familj, en bil... Då är det inte längre så kul att börja från scratch; inte längre så kul att experimentera utan garanterade intäkter. Och din hjärna är inte längre lika formbar och mottaglig. Johan Stael von Holstein (om du vet vem det är...) blev nog passé 2001. Själv kommer jag förmodligen att bli passé 2009. Det är med glädje jag lämnar över stafettpinnen till dig. Du har fram tills 2020 på dig. Det betyder i de här sammanhangen eoner av tid. Återigen, grattis.
  5. Lyssna inte på råd från nån över 30. Jag gick på Handels, och fick råd från något som hette "SSE Business Lab". Råden var bland annat att skriva en lång och detaljerad affärsplan, att i ett tidigt skede skaffa anställda och att satsa på sälj inte teknik. Lyckligtvis följde jag inte ett enda av de där råden.
Oj, mitt svar blev visst lite långt. Men i alla fall, speciellt vad det gäller de tekniska bitarna skulle det vara jättekul om ni andra som läser bloggen vill kommentera eller kritisera. :)

15 comments :

Hjalmar said...

Osorterade tankar:

* Var inte rädd för att skaffa samarbetspartners och ge dem schyssta andelar. Det är inget kul att jobba med någon annan om man inte får en bra andel.

* Man kan lösa saker man inte kan på olika sätt (design, manuellt arbete, administration, projektledning). Är man superduktig på en sak kanske man skall fokusera på det och hitta samarbetspartners för det andra istället för att svettas klockan två på natten innan deklarationsinlämningen med sin bokföring.

* Anställda är ett sätt att tjäna mer pengar utan att din egen tid går åt. Inte att lägga bort jobb du inte kan / vill göra själv.

* Ted har inte bara programmerat på sina siter, något av det jag imponeras mest av med Ted är att han inte verkar ett dugg bekymrad för att lyfta telefonen och ringa stora företag för samarbeten och affärskontakter.

* Det här med att ha kul när man arbetar är inte bara en klyscha, det är extremt viktigt att man älskar sina projekt för att man skall orka slutföra dem. Det finns en regel som säger att de sista 20%-en tar 80% av tiden. Det är ingen lögn. Det är när man jobbar med de sista 20%-en man behöver motivationen att klara av att slutföra.

* Just do fckin' do it.

Jonna said...

Måste hålla med Daniel att du, Ted, är en stor inspirationskälla. Jag är glad över att jag kom i kontakt med dig. Jag sitter nog i samma sits som Daniel när det gäller arbete på webben så därför var det här inlägget utmärkt!! Tack Ted!

Musse said...

Det jag funderar mest på är marknadsföringsbiten, Ted. Hur löser du den? Jag har flera bra siter som dem som använder dessa tycker är kanon, problemet är att jag inte har någon bra marknadsföringsplan. Kan du ge lite tips på hur man ska lösa det? Kanske lite gratistips samt tips som kostar lite.

Själv har jag satsat på SEO, och jag syns bra på starka sökord. Men jag vill ha fler besökare :) Har även skrivit i en del bloggar och fått en del länkar och besökare den vägen. Fler tips?

Daniel Westman said...

Tack för svaret Ted!
Det där var ett bättre svar än jag kunde hoppas på, jättebra tips!

Jag har märkt av det där med Google Analytics, kan inte låta bli att kolla statistiken varje dag! Det ska bli kul att se hur många hundra procent trafiken till min blogg ökar närmsta dagarna pga din länkning.:P

Som sagt, tack för svaret och tack för kommentarerna hjalmar! Super!

År 2020 kommer jag sitta på någon tropisk paradis-ö och dricka drinkar ur en kokosnöt medan jag jobbar på mitt nyaste succéprojekt! Om det går som planerat dvs.. :)

Adam said...

Rolig läsning Ted. Jag programmerar själv mina projekt i PHP med ramverket Zend Framework. Detta är något jag kan rekommendera, när man fått lite koll på det ramverket och har skrivit några grundläggande modeller går det minst lika fort som att använda Rails.

Ett annat tips är att snabbt hitta en partner som du gillar att arbeta med. Din partner ska komplettera dina kunskaper och när du väl hittar en kompetent partner blir 1+1 mycket större än 2!

För övrigt, sluta vara så ödmjuk Ted! Du kommer knappast vara passe 2009.

MVH

Jens said...

Ruby on Rails är snabbt och trevligt, men om man vill hålla på med att utveckla hemsidor snabbt i PHP/MySQL utan att komma på hjulet pånytt varje gång så rekommenderar jag att ta en titt på Drupal (http://www.drupal.org), som är en mycket kraftfull CMS/webbpubliceringsplattform. Jag är grymt imponerad av hela systemet...

Jag har tittat på många andra CMS:er med Drupal tog hem priset...

Christian said...

Kul läsning! Jag skrev ihop några tankar om vilka programmeringsspråk man borde lära sig utifrån mitt perspektiv som programmerare.

Daniel Westman said...

Jens,
Hur är Drupal om man jämför med Wordpress? Om dom ens går att jämföra? Som jag uppfattat det när jag kollade på hemsidan så verkar det gå att göra fler saker med Drupal?

Ted Valentin said...

Tack till Christian som skrev ett bra inlägg!

Jag tror att vi är överens om följande: Börja med html+css, och sedan php och mysql. Du har då de tre bitarna för att bygga en dynamisk webbsida, och du lär dig samtidigt grunderna.

När du byggt en webbsida eller två på det sätter kan du gå vidare till ett "framework" för php, till ruby on rails, google app engine eller någon av de andra häftigare grejerna.

Observera att jag själv (efter fyra år!) är kvar i vanlig php, mysql.

Men du är den nya generationens utvecklare och kommer att krossa mig genom att använda smartare, snabbare, verktyg. Som jag är för gammal och trött att lära mig.

Sen tror jag att du kanske parallellt kan lära dig Wordpress, som mest är ett väldigt anpassningsbart publiceringsverktyg. Jättebra om du snabbt vill kunna bygga bloggar, info-sajter med mera.

Målsättningen är att få tillräckligt med kunskap för att själv kunna bygga ihop något som funkar, på en helg. Så att du kan följa dina nycker och infall, utan att behöva vara beroenda av andra.

Lyckan 7 said...

Kul läsning! Angående marknadsföring så kan jag (med risk för att slå in öppna dörrar) rekommendera Seth Godin blogg och några av hans böcker, tex Unleashing the idea virus.

ANDREAS said...

Intressant läsning.

Jag respekterar ditt arbete Ted och tycker du helt klart är en sann entreprenör.

Men(!) om jag ska vara knepig så borde inte Daniel Westman 20 år lyssna på dig Ted Valentin 31 år.

Varför?! Enligt ditt eget råd "Lyssna inte på råd från nån över 30". :-)

Jag tycker definitivt att det finns massa bra erfarenheter från oss på 30+ däremot så kanske influenser, driv, inspiration och galna idéer oftare från unga vilket är ovärderligt och nödvändigt i dessa sammanhang.

Patrik Högberg said...

Det är nog svårt att börja med att utgå från att man vill bli entreprenör. Det bästa incitamentet är att fylla ett behov som inte någon annan tidigare gjort. Sedan satsar man 800% på att realisera detta oavsett vad det är för teknik eller marknadsvillkor som gäller - det finns inget rätt eller fel.

Mitt tips är att bara göra något bättre eller helt nytt på det sätt man själv tycker är bäst.

På min blogg berättar jag hur jag gör med vår nya startup och hur vi hanterar marknad osv, du kanske får tips där hur du kan göra saker ännu bättre eller helt enkelt inte alls som mig.

Allt är lite upp till personen bakom och hur passionerad man är för att realisera sin idé. Sen är det klart att lite erfarenheter kan vara bra, men jag tror de som har sunt förnuft har bättre förutsättningar att lyckas.

förvirrad said...

Jag har gjort misstaget att jag bytt teknisk plattform för ofta. Började med ren PHP, gick till PHP + smarty + nåt ramverk för databasen som jag glömt namnet på. Har sedan velat mellan Ruby On Rails, PHP med Zend Framework och Django.

Har spenderat för mycket tid att sätta mig in i olika ramverk och programmeringsspråk istället för att producera (har velat på samma sätt mellan olika Javascript-bibliotek).

Nu skall jag försöka använda Django och JQuery, men senast igår kom tvekan och tankar på att återgå till PHP + Zend Framework (som mina nuvarande projekt / sajter är byggda på). Prokrastinering genom teknikst tvivel.

Mattias Wirf said...

Egentligen är det väl inte så viktigt vilken teknik. Jag tycker man bör lära grunden för de flesta skript (variabler, slingor, kontrollstrukturer) ...

... och om man vill det fortsätt med objektorienterad programmering (som ju också finns i PHP och förbättras för varje version).

Men tänket är ganska likt från ASP till PHP till Javascript till C++. Spara information i variabler. Sätt villkor med if-else eller switch. Loopa med for, foreach eller while. Indata från användare behöver rensas från elakheter. De här sakerna skiljer sig inte så mycket åt (förutom syntax och detaljer) mellan de vanligaste teknikerna.

Fast det är klart. Jag är ju över 30 ;) 33. Nästan pensionär typ!

Lars said...

Bara en liten justering: man blir aldrig för gammal för att ha kul och lära sig nytt. Förmågan ökar för varje år. En sak till: Python är superkul.