Une entrevue avec Jason Lengstorf

Jason Lengstorf est un développeur Web professionnel spécialisé dans les applications PHP et jQuery. Il est l'auteur du récent PHP pour Absolute Beginners, la voix d'un expert en open source. En outre, il a co-rédigé un tutoriel en huit parties sur la création d'une application Web à partir de zéro avec Chris Coyier. Rejoignez-nous pour discuter du développement Web, de PHP et de sa vie en général.

1. Beaucoup d'entre nous sont peut-être familiers avec vous à cause de votre livre: "PHP for Absolute Beginners". Pour ceux qui ne vous connaissent pas bien, pouvez-vous nous en dire un peu plus sur vous et sur votre vie?

En bref, je suis un développeur PHP basé à Missoula, dans le Montana. Je dirige une entreprise appelée Ennui Design, spécialisée dans le développement de sites Web individuels et de petites entreprises. Je suis aussi en développement front-end, principalement en utilisant jQuery.

J'ai 24 ans et je travaille dans le développement Web depuis environ six ans et je développe à plein temps depuis environ un an et demi maintenant. Je suis complètement autodidacte, je dois donc ma carrière à la blogosphère et aux grands collaborateurs qui aident toujours sur des forums comme W3schools et autres..

J'essaie également d'écrire et j'ai écrit quelques articles sur le Web pour des sites comme Smashing Magazine, CSS Tricks et Nettuts +, ainsi que pour mon propre blog sur Ennui Design. Plus tôt cette année, j'ai eu l'opportunité d'écrire un livre pour la publication Apress paru en octobre, intitulé "PHP for Absolute Beginners", et je travaille actuellement sur un nouveau titre pour Apress intitulé "Pro PHP and jQuery".

2. Comment avez-vous commencé le développement Web??

Je me suis lancé dans le développement Web par nécessité. À 18 ou 19 ans, j'ai joué dans un groupe et nous avions besoin d'un site Web. Lorsque nous avons commencé à examiner les prix, nous nous sommes rendu compte que nous ne pouvions pas nous permettre d’en construire un pour nous. Alors j'ai dit au reste des gars, "Eh bien, je pense que je peux comprendre cela."

Je me suis inscrit à w3schools (après avoir cherché "comment construire un site Web" sur Google) et suivi le cours HTML, après quoi j'étais sûr d'être un concepteur Web expert. J'ai donc construit ce site Web horrible, basé sur des tableaux, complet avec des iframes et tout le style en ligne.

Quand j'en ai eu fini, je me suis dit: "Ça a l'air terrible." Alors je l'ai reconstruit. Et encore. Une quinzaine de reconstructions plus tard, j'avais appris un peu le CSS et le JavaScript. les sites ont commencé à chercher un peu mieux et je me suis senti assez à l'aise pour les construire.

À peu près à la même époque, quelques amis à moi avaient besoin de sites Web et je leur ai proposé de les créer gratuitement. C'est ce que j'ai fait, et ils étaient tous les deux satisfaits, mais je me suis rendu compte que la maintenance de leurs sites était vraiment fastidieuse. C’est à ce moment-là que j’ai commencé à utiliser PHP, car j’avais besoin d’une solution facilitant la maintenance..

N'ayant aucune connaissance des systèmes de gestion de contenu ni de l'existence de systèmes de gestion de contenu, j'ai fini par lancer le mien. C'était plein de trous, maladroits et pauvres en fonctionnalités, mais ça a marché, et j'ai adoré le construire. J'ai passé 14 heures par jour dans mon café préféré à le peaufiner et à le reconstruire..

Après le lancement des sites de mes deux amis, j'ai reçu un appel de mon premier vrai client et me suis rendu compte que je pouvais réellement gagner de l'argent en créant des sites Web. J'ai passé quatre ans à essayer de créer suffisamment de sites pour créer des sites à plein temps. Cet objectif a finalement été atteint à l'automne 2008, lorsque j'ai quitté mon emploi chez FedEx Kinko pour travailler à plein temps sur des projets Ennui Design..

3. Quelle est la meilleure façon d'apprendre PHP - et quelle a été votre expérience dans la rédaction de ce livre??

Apprendre PHP, c'est comme apprendre n'importe quelle langue. Ouais, vous pouvez faire une série d'exercices qui n'ont pas d'application réelle ("Répétez après moi: 'Cette espadon est glissante! Cet espadon est glissant!"), Mais cela ne fait que vous aider à mémoriser des concepts. Je pense que vous devez vraiment vous immerger dans les utilisations du langage réel afin de voir comment et pourquoi il est utilisé.

C'est l'approche que j'ai adoptée lors de l'écriture de "PHP pour débutants absolus". Nous couvrons les concepts de base, puis construisons immédiatement un projet du monde réel (un système de gestion de contenu très basique).

Écrire ce livre a été très bien pour moi, car cela m'a obligé à défendre mon approche du développement. J'avais un réviseur technique, éditorial et responsable du projet, qui surveillait tous la façon dont tout était mis en place, ce qui forçait la population à faire tout le travail correctement, sans aucun raccourci. Apprendre à le faire correctement la première fois a été une bonne leçon de patience pour moi. Cela m'aidera également lorsque je travaillerai sur des projets futurs avec des collaborateurs, car je maîtrise désormais mieux l'écriture de code auto-descriptif, y compris une meilleure documentation en ligne, et justifie mes choix de programmation par un raisonnement concret..

4. Récemment, vous avez co-écrit avec Chris Coyier une série en 8 parties intitulée "Créer une application Web à partir de zéro" dans CSS-Tricks>. Comment était-ce?

Chris Coyier est l'homme, haut la main. Je suis un bourreau de travail, mais ce gars parvient à me faire sentir comme un fainéant avec la quantité de travail qu'il produit régulièrement.
La série de didacticiels était un excellent moyen de revenir au blogging (parce que je me relâchais depuis peu) et une opportunité de donner un autre exemple concret aux développeurs de niveau débutant à intermédiaire. C'est une chose d'expliquer un concept, mais une bête totalement différente lorsque vous essayez d'expliquer un concept dans le contexte d'un site de production réel.

Les commentaires que nous avons reçus ont été très utiles, car ils nous ont montré des morceaux de l'application auxquels nous n'avions pas pensé, comme des failles de sécurité que nous n'avions pas prises en compte et des fonctionnalités qui amélioreraient réellement l'application..

Cette série a été l’un de mes tutoriels préférés sur lesquels j’ai travaillé, et j’espère en rassembler d’autres à l'avenir..

5. Pouvez-vous nous fournir des informations sur votre prochain livre "Pro PHP and jQuery"?

Pro PHP et jQuery seront destinés aux développeurs PHP de niveau intermédiaire à avancé qui souhaitent se familiariser avec les fonctionnalités de jQuery. Il couvrira la création d'un calendrier d'événements alimenté par AJAX qui comportera un ensemble de fonctionnalités telles que des info-bulles, des téléchargements de fichiers, la commande par glisser-déplacer d'événements et de photos et d'autres concepts utiles..

AJAX est très puissant et permet aux développeurs de créer des applications Web qui se sentent comme des applications de bureau (car ils ne doivent pas recharger tout le temps, etc.). La montée en puissance de jQuery et de bibliothèques JavaScript similaires a rendu toute la fonctionnalité AJAX vraiment accessible aux développeurs, et mon objectif avec Pro PHP et jQuery est de permettre au lecteur de se familiariser avec la création d'applications Web de qualité supérieure..

6. Vous êtes propriétaire de Ennui Design, qui propose un développement Web personnalisé. Quel est votre quotidien??

Comme je l'ai mentionné plus tôt, Ennui Design est le nom de l'entreprise sous laquelle je fais mon travail indépendant. J'ai essayé de devenir une armée composée d'un seul homme en offrant un développement du site de haut en bas, de l'art et du design aux systèmes de gestion de contenu personnalisés. Récemment, j'ai commencé à recruter des clients qui ont besoin d'applications personnalisées, ce qui m'a beaucoup amusé.

À partir de ce mois-ci, j'élargis Ennui Design et j'essaie de créer un réseau de collègues indépendants pour m'aider à gérer le fardeau de mes clients. Je viens tout juste de faire appel à Drew Douglass et je suis très heureux de travailler avec lui. Je suis toujours à la recherche d'un concepteur front-end pour m'aider avec les illustrations et la conversion de PSD à XHTML, alors si vous connaissez quelqu'un… :)

7-Quel est votre framework d'applications web préféré et pourquoi?

Parce que je n'ai jamais su que les frameworks d'applications Web existaient, je n'ai jamais appris aucun d'entre eux. Je souscris au concept d'architecture multiniveau et j'ai même écrit un article à ce sujet pour Nettuts.+.

J'ai étudié d'autres modèles, comme MVC, et je pense qu'ils sont excellents, mais j'essaie de ne pas me perdre dans la programmation d'un dogme; s'il est facile à lire, facile à maintenir et à sec pour la plupart, je le considère comme un bon code.

8. Pouvez-vous nous en dire un peu plus sur vos projets personnels?

Actuellement, je travaille à préparer mon CMS pour une version open source avec Drew Douglass et quelques autres amis. Je prévois également de développer une version 2.0 de listes colorées avec Chris Coyier (l'application que nous avons construite dans notre série en 8 parties "Construire une application Web à partir de Scratch"). J'ai également quelques plugins jQuery que je souhaite ranger et libérer un jour dans le futur.

J'ai récemment décidé de m'essayer également à la conception de produits et j'ai lancé une société de vêtements, Humblecock, avec un couple d'amis proches. Nous voulions des chemises de grande qualité et ultra-confortables, et nous avons décidé que le meilleur moyen de les obtenir était de les fabriquer nous-mêmes. C'est une toute nouvelle aventure, et je m'amuse beaucoup jusqu'à présent. C'était l'un de mes sites Web préférés pour concevoir, et c'était vraiment cool de concevoir des produits physiques.

Mon blog, malheureusement, a été victime de mon calendrier de projet surchargé. Entre la charge de mon client et les délais avec mon éditeur, j'ai eu très peu de temps libre. Cependant, avec l’ajout de Drew et (espérons-le) d’autres pigistes au réseau Ennui Design, j’espère avoir plus de temps pour bloguer à nouveau..

9. Quelles sont vos ressources en ligne préférées pour rester à jour sur l'industrie du développement web?

J'essaie vraiment de suivre le plus grand nombre de blogs possible. Si j'ai un peu de temps libre, j'essaierai de lire autant d'articles que possible pour voir si de nouveaux développements affectent directement l'un ou l'autre de mes travaux. Certains des sites que je fréquente sont:

  • Nettuts+
  • Ajaxian
  • Blog de David Walsh
  • Le blog de Jonathan Snook
  • Thème Forêt

Chris Shiflett a également beaucoup de bons articles sur la sécurité dans son catalogue arrière que j'utilise régulièrement comme référence..

10. Quelle est votre opinion sur WordPress et Drupal?

J'ai à peine utilisé non plus, donc je ne pense pas être vraiment qualifié pour répondre à cette question.

11. Quand vous travaillez, comment vous concentrez-vous lors de l'écriture de code et quel est votre éditeur de code préféré?

Je travaille généralement à mon bureau quand je suis en train d'écrire ou de développer des choses difficiles. Cependant, quand j'ai besoin d'un changement d'ambiance, je suis connu pour hanter un café local (j'ai passé tellement de temps là-bas qu'ils m'ont fait construire leur site web).

J'utilise XAMPP, Eclipse et Firefox (avec la barre d'outils de développement Firebug / FirePHP / Web) pour la majorité de mes développements. Eclipse est basé sur Java, mais il est également open source et prend en charge tout ce dont j'ai besoin. J'ai brièvement joué avec quelques autres IDE, mais il faudrait un argument assez solide pour me convaincre de passer à ce point.

12. Que pensez-vous de l'avenir pour PHP??

Dans l'immédiat, il contient d'excellentes nouvelles telles que les fonctions anonymes et les espaces de noms (avec l'adoption de PHP 5.3). Je ne peux pas attendre jusqu'à ce que les hébergeurs bénéficient d'un soutien suffisant pour commencer à les utiliser. :)

À un niveau moins spécifique, je pense que PHP et d'autres langages "web" vont commencer à devenir de plus en plus pertinents pour un développement sérieux. Le monde entier se déplace en ligne et les applications Web commencent à avoir autant d'importance que les applications natives, voire plus. Je suis impatient de voir la suite des choses pour PHP.

13. N'importe quel code peeves?

Personnellement, je déteste voir le code s’étendre. Cela me dérange vraiment lorsque le code est écrit sous forme d'une longue chaîne d'actions au lieu d'être fragmenté en petites fonctions ou méthodes qui gèrent une action. Ce manque de séparation conduit à des fichiers incroyablement surchargés, difficiles à gérer, et il y a beaucoup de code répétitif. Il ne demande que des erreurs lorsque vous avez deux morceaux de code qui font exactement la même chose.

En général, j'aimerais que tout le monde comprenne comme si quelqu'un d'autre travaillait avec vous et devait comprendre de quoi diable vous parliez. L'arrogance qui pousse quelqu'un à penser: "Si vous n'êtes pas assez intelligent pour comprendre comment mon code fonctionne, vous ne devriez pas être dans mon code source", me dérange vraiment; Je pense qu'une meilleure question est la suivante: "Si vous n'êtes pas assez intelligent pour écrire un code clair que tout développeur fonctionnel peut comprendre, vous ne devriez en parler à personne."

14. Quel type de musique aimez-vous? Des hobbies?

J'ai grandi sur de la musique country, puis j'ai commencé à écouter les chansons du Top 40 en vieillissant. Je me suis initié au métal, puis au punk et au hardcore, puis au hip-hop, puis au folk. J'ai trouvé du bon dans tout ça, mais j'écoute surtout du folk / alternatif et du hip-hop maintenant. Je passe énormément de temps à écouter de la musique et je fais le suivi sur Last.fm.

Je reste assez occupé, donc je n'ai pas trop de passe-temps, mais je fais un effort pour les garder non geek (je veux dire, à un moment donné, il va falloir que j'impressionne les dames, non?) Je soulève des poids plusieurs fois par semaine et j'aime cuisiner. Je suis aussi un grand amateur de bière et j'adore trouver de nouveaux microbrews et des bières spéciales (en particulier les stouts et les porteurs). Je brasse ma propre bière tous les mois ou tous les deux mois pour le plaisir, ce qui est bien plus amusant que ça en a l'air. De plus, rien de mieux que de boire une bière que vous avez vous-même embouteillée. J'essaie de voyager le plus possible, aussi. Je prévois quelques voyages en voiture qui passent par certaines de mes brasseries préférées au printemps et j'espère pouvoir sortir du pays l'automne prochain et passer un peu de temps en Europe.

15. Quels sont vos projets futurs?

Si j'obtiens tout ce que j'espère, je ferai un peu moins de travail indépendant et me concentrerai davantage sur l'aspect pédagogique de la programmation. J'aimerais continuer à produire des tutoriels approfondis aux côtés de blogueurs influents de la communauté, comme Chris Coyier. J'espère aussi pouvoir commencer à prendre la parole lors de conférences en 2010, si j'ai la chance d'avoir l'occasion.

Apress a été formidable et j'espère continuer à écrire des livres sur le développement Web. Je souhaite également revenir à la rédaction d'articles pour des sites tels que Nettuts + (je n'ai pas oublié cet article, Jeffrey! Promis!) Et à des blogs sur Ennui Design..

Je veux aussi essayer de faire grandir Humblecock autant que possible, si ce n’est pour aucune autre raison que je veux être capable de confectionner exactement les vêtements que je veux porter..
Et à un moment donné, je devrais avoir plus de vie sociale et commencer à sortir ensemble. Ma mère aura une crise cardiaque si je continue de rentrer seule à la maison pour Noël. :)

Merci beaucoup pour votre temps précieux, Jason! Ce fut un plaisir de parler avec vous!

  • Suivez-nous sur Twitter ou abonnez-vous au fil RSS Nettuts + pour obtenir les meilleurs tutoriels de développement Web sur le Web. Prêt

Êtes-vous prêt à faire évoluer vos compétences et à commencer à tirer profit de vos scripts et de vos composants? Découvrez notre marché jumeau, CodeCanyon.