Een interview met Jason Lengstorf

Jason Lengstorf is een professionele webontwikkelaar die is gespecialiseerd in PHP- en jQuery-toepassingen. Hij is de auteur van de onlangs uitgebrachte PHP voor Absolute Beginners, de stem van een expert in open source. Daarnaast was hij co-auteur van een achtdelige tutorial over Creating a Web App from Scratch met Chris Coyier. Doe met ons mee als we het hebben over webontwikkeling, PHP en zijn leven in het algemeen.

1. Velen van ons zijn misschien bekend met je vanwege je boek: 'PHP voor absolute beginners'. Voor degenen die niet bekend zijn met u, kunt u ons iets vertellen over uzelf en uw leven?

In een notendop, ik ben een PHP-ontwikkelaar gebaseerd op Missoula, MT. Ik runt een bedrijf met de naam Ennui Design dat gespecialiseerd is in de ontwikkeling van kleine bedrijven en individuele websites. Ik ben ook bezig met front-end ontwikkeling, die ik voornamelijk gebruik maak van jQuery.

Ik ben 24 en ik werk nu ongeveer zes jaar in webontwikkeling en ik ben nu ongeveer anderhalf jaar fulltime aan het ontwikkelen. Ik ben volledig autodidact, dus ben ik mijn carrière verschuldigd aan de blogosfeer en de geweldige mensen die altijd helpen op fora zoals W3-scholen en dergelijke.

Ik probeer ook te schrijven en ik heb een aantal artikelen op internet geschreven voor sites als Smashing Magazine, CSS Tricks en Nettuts +, evenals voor mijn eigen blog over Ennui Design. Eerder dit jaar kreeg ik de kans om een ​​boek te schrijven voor de publicatie van Apress dat in oktober uitkwam, genaamd 'PHP voor absolute beginners' en ik werk momenteel aan een nieuwe titel voor Apress, genaamd 'Pro PHP en jQuery'.

2. Hoe ben je begonnen met webontwikkeling?

Ik ben begonnen in webontwikkeling uit noodzaak. Toen ik 18 of 19 was, speelde ik in een band en hadden we een website nodig. Toen we begonnen te kijken naar prijzen, beseften we dat we ons geen enkele manier konden veroorloven om er een voor ons te laten bouwen. Dus ik vertelde de rest van de jongens: "Wel, ik denk dat ik dit kan achterhalen."

Ik ging op w3schools (na het zoeken naar "hoe een website te bouwen" op Google) en werkte de HTML-cursus uit, waarna ik zeker wist dat ik een deskundige webontwerper was. Daarom heb ik deze vreselijke, op tabellen gebaseerde website gebouwd, compleet met iframes en alle inline-styling.

Toen ik ermee klaar was, dacht ik bij mezelf: "Wel, dat ziet er vreselijk uit." Dus ik heb het opnieuw gebouwd. En opnieuw. Ongeveer vijftien of later herbouwde ik, ik had een beetje geleerd over CSS en JavaScript; de sites begonnen er wat beter uit te zien en ik voelde me redelijk comfortabel om ze te bouwen.

Rond diezelfde tijd hadden een paar vrienden van me websites nodig en ik bood aan ze gratis te bouwen. Dat deed ik en ze waren allebei blij met hen, maar ik besefte dat het onderhoud op hun sites erg omslachtig was. Toen kwam ik in PHP terecht, omdat ik een oplossing nodig had die eenvoudiger onderhoud mogelijk zou maken.

Omdat ik niets wist over contentbeheersystemen of dat er bestaande CMS's beschikbaar waren, heb ik er zelf een ontwikkeld. Het zat vol met gaten, onhandig en slecht van aard, maar het lukte en ik vond het geweldig om het te bouwen. Ik bracht 14 uur per dag door in mijn favoriete koffiezaak, paste het aan en bouwde het opnieuw op.

Nadat de sites van mijn twee vrienden waren gelanceerd, kreeg ik een telefoontje van mijn eerste echte klant en besefte ik dat ik echt geld kon verdienen met het bouwen van websites. Ik heb vier jaar geprobeerd om goed genoeg te worden om sites fulltime te bouwen, en ik heb dat doel uiteindelijk bereikt in het najaar van 2008, toen ik mijn baan bij een FedEx Kinko's stopte om fulltime aan Ennui Design-projecten te werken..

3. Wat is de beste manier om PHP te leren - en hoe was je ervaring met het schrijven van dit boek??

PHP leren is als het leren van elke taal. Ja, je kunt een hoop oefeningen doen die geen echte toepassing hebben ("Herhaal na mij:" Cette espadon est glissante! Deze zwaardvis is glad! "), Maar dat helpt je alleen om concepten te onthouden. Ik denk dat je jezelf echt moet onderdompelen in het gebruik van de taal in de echte wereld, zodat je kunt zien hoe en waarom het wordt gebruikt.

Dat is de aanpak die ik heb gevolgd toen ik 'PHP for Absolute Beginners' schreef. We behandelen de basisbegrippen en bouwen onmiddellijk een real-world project (een zeer eenvoudig content management systeem).

Het schrijven van het boek was geweldig voor mij, omdat het me dwong om mijn aanpak in ontwikkeling te verdedigen. Ik had een technische, redactionele en projectreviewer die allemaal in de gaten hield hoe alles was samengesteld, waardoor de druk werd uitgeoefend om alles op de juiste manier te doen, zonder snelkoppelingen. Leren om het gewoon goed te doen de eerste keer was een goede les in geduld voor mij. Het zal me ook helpen wanneer ik aan toekomstige projecten met medewerkers werk, omdat ik nu meer grip heb op het schrijven van zelfbeschrijvende code, inclusief betere inline documentatie, en mijn programmeerkeuzes rechtvaardigt met concreet redeneren.

4. Onlangs schreef u een co-auteur van een 8-delige serie genaamd "Creating a Web App from Scratch" met Chris Coyier op CSS-Tricks>. Hoe was dat?

Chris Coyier is de man, zonder twijfel. Ik ben een workaholic, maar die gast slaagt erin me een slapper te laten worden met de hoeveelheid werk die hij consistent produceert.
De tutorialserie was een geweldige manier om mezelf terug te dwingen om te bloggen (omdat ik de laatste tijd ben verslaafd) en een kans om een ​​nieuw voorbeeld uit de echte wereld te geven aan beginnende tot middelgrote ontwikkelaars. Het is één ding om een ​​concept uit te leggen, maar een heel ander beest wanneer je een concept probeert uit te leggen in de context van een echte productiesite.

De opmerkingen die we ontvingen waren erg nuttig, omdat het ons stukjes van de app liet zien waar we niet aan hadden gedacht, zoals enkele gaten in de beveiliging die we niet hadden overwogen en functies die de app echt zouden verbeteren.

Die serie was een van mijn favoriete tutorials waar ik ooit aan heb gewerkt en ik hoop er in de toekomst meer van te kunnen samenvoegen.

5. Kunt u ons informatie geven over uw aankomende boek, "Pro PHP en jQuery"?

Pro PHP en jQuery zullen voor gemiddelde tot gevorderde PHP-ontwikkelaars zijn die vertrouwd willen raken met de mogelijkheden van jQuery. Het gaat om het maken van een door AJAX aangedreven evenementenkalender met een aantal functies zoals tooltips, bestandsuploads, drag-n-drop-ordening van evenementen en foto's en andere nuttige concepten.

AJAX is echt krachtig en het stelt ontwikkelaars in staat om webapps te maken die als bureaublad-apps aanvoelen (omdat ze niet altijd opnieuw hoeven te laden, enz.). De opkomst van jQuery en vergelijkbare JavaScript-bibliotheken heeft al die AJAX-functionaliteit echt toegankelijk gemaakt voor ontwikkelaars, en mijn doel met Pro PHP en jQuery is om de lezer op de hoogte te brengen met het bouwen van eersteklas web-apps.

6. U bent eigenaar van Ennui Design, dat aangepaste webontwikkeling biedt. Hoe ziet je dag er dag uit??

Zoals ik eerder al zei, is Ennui Design de bedrijfsnaam waaronder ik mijn freelance werk doe. Ik heb geprobeerd een soort eenmansleger te worden door site-ontwikkeling van top tot bodem aan te bieden, van kunst en ontwerp tot aangepaste contentmanagementsystemen. Onlangs ben ik begonnen met het aannemen van klanten die aangepaste applicaties nodig hebben, en dat is erg leuk geweest.

Vanaf deze maand ben ik bezig Ennui Design uit te breiden en een netwerk van collega-freelancers te bouwen om me te helpen met het afhandelen van mijn client. Ik heb onlangs Drew Douglass aangetrokken en ik ben heel blij dat ik met hem samenwerk. Ik ben nog steeds op zoek naar een front-end designer om me te helpen met artwork en PSD-naar-XHTML conversie, dus als je iemand kent ... :)

7 - Wat is uw favoriete framework voor webtoepassingen en waarom?

Omdat ik nooit wist dat er frameworks voor webapplicaties bestonden, heb ik er nooit een geleerd. Ik onderschrijf het concept van architectuur met meerdere lagen en ik heb er zelfs een artikel over geschreven voor Nettuts+.

Ik heb andere patronen onderzocht, zoals MVC, en ik vind ze geweldig, maar ik probeer niet vast te lopen in het programmeren van dogma; als het gemakkelijk leesbaar, gemakkelijk te onderhouden en DROOG is, beschouw ik het als een goede code.

8. Kunt u ons iets vertellen over uw persoonlijke projecten??

Momenteel ben ik bezig om mijn CMS klaar te maken voor een open source-release met Drew Douglass en een paar andere vrienden. Ik ben ook van plan om een ​​versie 2.0 van gekleurde lijsten te ontwikkelen met Chris Coyier (de app die we hebben gebouwd in onze 8-delige "Building a Web App from Scratch" -serie). Ik heb ook een paar jQuery-plug-ins die ik wil opruimen en ergens in de toekomst vrijgeven.

Ik heb onlangs besloten om ook het productontwerp te proberen en lanceerde een kledingbedrijf genaamd Humblecock met een paar goede vrienden. We wilden hoogwaardige, ultracomfortabele shirts voor onszelf, en we besloten dat de beste manier om ze te krijgen was om ze zelf te maken. Het is een gloednieuw avontuur en ik heb er tot nu toe veel plezier van. Het was een van mijn favoriete websites om te ontwerpen, en het was echt gaaf om fysieke producten te ontwerpen.

Mijn blog is helaas het slachtoffer geworden van mijn overbelaste projectplanning. Tussen mijn clientload en deadlines met mijn uitgever, heb ik heel weinig vrije tijd gehad. Echter, met de toevoeging van Drew en (hopelijk) andere freelancers aan het Ennui Design-netwerk hoop ik meer tijd te hebben om opnieuw te bloggen.

9. Wat zijn je favoriete online bronnen om op de hoogte te blijven van de ontwikkelingen op het gebied van webontwikkeling?

Ik probeer zoveel mogelijk blogs bij te houden, echt waar. Als ik een vrij moment heb, probeer ik zoveel mogelijk artikelen te lezen om te zien of nieuwe ontwikkelingen direct van invloed zijn op het werk dat ik doe. Sommige van de sites die ik vaak bezoek zijn:

  • Nettuts+
  • ajaxian
  • David Walsh's Blog
  • Blog van Jonathan Snook
  • ThemeForest

Chris Shiflett heeft ook veel goede artikelen over beveiliging in zijn backcatalogus die ik regelmatig als referentie gebruik.

10. Wat is uw mening over WordPress en Drupal?

Ik heb ook nauwelijks gebruikt, dus ik denk niet dat ik echt gekwalificeerd ben om deze vraag te beantwoorden.

11. Hoe concentreer je je tijdens het schrijven van code, en wat is je favoriete code-editor??

Ik werk over het algemeen aan mijn bureau als ik bezig ben met schrijven of zware ontwikkeling. Als ik echter een andere sfeer nodig heb, ben ik bekend bij een lokale coffeeshop (ik heb daar eigenlijk zoveel tijd doorgebracht dat ze hun website hadden laten bouwen).

Ik gebruik XAMPP, Eclipse en Firefox (met Firebug / FirePHP / Web Developer Toolbar) voor het merendeel van mijn ontwikkeling. Eclipse is gebaseerd op Java, maar het is ook open source en biedt ondersteuning voor alles wat ik ooit nodig heb. Ik heb kort met een paar andere IDE's gespeeld, maar het zou een vrij solide argument zijn om me te overtuigen om op dit punt over te schakelen.

12. Wat denk je dat de toekomst zal brengen voor PHP?

In de nabije toekomst houdt het geweldig nieuws zoals anonieme functies en namespaces (met de goedkeuring van PHP 5.3). Ik kan niet wachten tot er voldoende ondersteuning door de hostingbedrijven is om ze te gaan gebruiken. :)

Op een minder specifiek niveau, denk ik dat PHP en andere "web" -talen steeds relevanter zullen worden voor serieuze ontwikkeling. De hele wereld gaat online, en webapps beginnen net zo belangrijk te worden als native apps, zo niet meer. Ik ben verheugd om te zien wat de toekomst biedt voor PHP.

13. Elke code huisdier peeves?

Persoonlijk vind ik het vreselijk om code te zien die sprawlt. Het stoort me echt als code wordt geschreven als een lange reeks acties in plaats van opgedeeld in kleine functies of methoden die één actie afhandelen. Dat gebrek aan scheiding leidt tot ongelofelijk opgeblazen, moeilijk te onderhouden bestanden, en er is vaak een veel herhalende code. Het smeekt om fouten als je twee stukjes code hebt die precies hetzelfde doen.

Over het algemeen zou ik willen dat iedereen zou coderen alsof er iemand anders met je samenwerkt die moet begrijpen waar je het in godsnaam over hebt. De arrogantie die iemand ertoe brengt te denken: "Als je niet slim genoeg bent om te begrijpen hoe mijn code werkt, zou je niet in mijn broncode moeten zijn", stoort me echt; Ik denk dat een betere vraag is: "Als je niet slim genoeg bent om duidelijke code te schrijven die elke functionele ontwikkelaar kan begrijpen, zou je met niemand moeten praten."

14. Wat voor soort muziek vind je leuk? Alle hobby's?

Ik ben opgegroeid met countrymuziek en ben daarna naar Top 40-dingen gaan luisteren toen ik wat ouder werd. Ik maakte kennis met metal, dan met punk en hardcore, dan met hiphop en toen met folk. Ik heb er wat goeds in gevonden, maar ik luister nu vooral naar folk / alternatief en hiphop. Ik besteed een buitensporige hoeveelheid tijd aan het luisteren naar muziek en ik volg het allemaal via Last.fm.

Ik blijf behoorlijk druk, dus ik heb niet al te veel hobby's, maar ik doe mijn best om hen niet-geek te houden (ik bedoel, op een gegeven moment moet ik de dames imponeren, toch?). Ik til een paar keer per week gewichten op en ik hou van koken. Ik ben ook een grote bierliefhebber en vind het geweldig om nieuwe brouwerijen en speciaalbieren te vinden (met name stouts en porters). Ik brouw mijn eigen bier elke maand of twee voor de lol, wat veel leuker is dan het klinkt. Bovendien is er niets beters dan een biertje te drinken dat je zelf hebt gebotteld. Ik probeer ook zoveel mogelijk te reizen. Ik ben van plan een paar roadtrips te maken die door enkele van mijn favoriete brouwerijen in het voorjaar lopen, en ik hoop dat ik volgend jaar uit het land kom en een beetje rondhang in Europa.

15. Wat zijn je toekomstplannen?

Als ik alles krijg waar ik op hoop, zal ik wat minder freelance werk doen en me meer richten op het onderwijsaspect van programmeren. Ik zou graag samen met invloedrijke bloggers in de community, zoals Chris Coyier, diepgaande zelfstudies blijven maken. Ik hoop ook te beginnen met spreken op conferenties in 2010, als ik het geluk heb om de kans te krijgen.

Apress was geweldig en ik hoop door te gaan met het schrijven van boeken over webontwikkeling. Ik wil ook teruggaan naar het schrijven van artikelen voor sites als Nettuts + (ik ben dat artikel niet vergeten, Jeffrey! Ik beloof het!) En regelmatig bloggen over Ennui Design.

Ik wil ook proberen Humblecock zo veel mogelijk te laten groeien, als om geen andere reden dan precies de kleding wil maken die ik wil dragen.
En op een gegeven moment moet ik meer van een sociaal leven gaan groeien en gaan daten. Mijn moeder zal een hartaanval krijgen als ik alleen met Kerstmis thuis blijf. :)

Heel erg bedankt voor je waardevolle tijd, Jason! Het was een genoegen om met je te praten!

  • Volg ons op Twitter of abonneer je op de Nettuts + RSS Feed voor de beste tutorials voor webontwikkeling op internet. Klaar

Klaar om je vaardigheden naar een hoger niveau te tillen, en te profiteren van je scripts en componenten? Bekijk onze zustermarktplaats, CodeCanyon.