10 choses que les développeurs Web doivent savoir pour devenir vraiment incroyables

Auteur: Laura McKinney
Date De Création: 10 Avril 2021
Date De Mise À Jour: 16 Peut 2024
Anonim
99 Choses qui n’arrivent qu’au Sénégal!
Vidéo: 99 Choses qui n’arrivent qu’au Sénégal!

Contenu

Les développeurs doivent être plus que des ouvriers grognards générateurs de code. Nous attendons davantage de notre vie numérique et ce sont ces gars-là qui la construisent, alors que doivent savoir les meilleurs développeurs? Voici les choses qui me manquent chez trop de développeurs. Ce n’est pas exhaustif, mais ce sont ces qualités qui transforment un codeur raisonnable en un développeur incroyable.

Mais ce n’est pas une chose, et ce n’est surtout jamais la capacité d’analyser le XML ou d’optimiser le code. C’est un ensemble surprenant de compétences qui ne sont pas enseignées dans les livres sur l’écriture de code. C'est un petit quelque chose en plus.

Pourquoi se défouler comme ça? Parce que le développement est important, mais les développeurs sont trop souvent confinés dans un monde différent, pas toujours de leur fait. Cela ne fonctionne jamais. Le développement - tout ce qui est technique - prospère toujours lorsque ceux qui ont le savoir-faire comprennent plus que le code.

01. Le codage ne le coupe plus


Nous sommes dans un monde où le codage est de moins en moins impressionnant. Tout le monde crée des sites, certains d'entre eux codent mais vous n'êtes pas obligé de le faire. Ce n’est plus seulement le nerdy qui peut créer des sites, des applications et des fonctionnalités.

Depuis que le Web est arrivé et que les gens ont pu apprendre eux-mêmes, il y a eu des développeurs autodidactes. Mais même les diplômés sont menacés. Je reçois des CV avec des personnes ayant des diplômes en informatique, des cours d'IA, divers médias et codage à leur actif, mais il manque encore quelque chose. Parfois, il en manque beaucoup.

Je ne suis pas le premier à le dire. "Le codage ne le coupe plus" est le titre du chapitre 3 de Le programmeur passionné, qui, avec des livres tels que Pensée et apprentissage pragmatiques inciter les programmeurs à s'améliorer au-delà du code; devenir des membres responsables et entièrement humains de l'équipe.

Largeur et profondeur

Les développeurs doivent être meilleurs de deux manières: en largeur et en profondeur. Ils doivent comprendre l'ampleur des interactions humaines au sein de leur équipe et avec les choses qu'ils construisent. Ils doivent comprendre la profondeur du système avec lequel ils travaillent, jusqu'aux O / S.

Et ce ne sont pas seulement les développeurs qui devraient lire ces informations. Si vous travaillez avec des développeurs, je pense que vous devriez vous attendre à plus d'eux. Faites-leur esquisser de quoi ils parlent. Demandez-leur d'expliquer avec des images, des objets et (cela fonctionne) des découpages de personnes exactement à quoi ressemblera le système pour les humains qui l'utilisent.


02. La grande mise en garde

Je vais parler négativement des développeurs, mais je pense que je suis autorisé parce que j'en suis un. Aussi parce qu'au moins une chose dont je parle ici est vraie pour beaucoup de développeurs que je rencontre. Bien que leur travail soit excellent et qu'ils connaissent leur code, les temps sont compétitifs. Vous devez avoir un avantage, et c'est:

  • être plus technique

et

  • être beaucoup plus humain

03. Ce que dit Internet

Rechercher sur Google les «compétences essentielles en développement Web» vous permet d’obtenir ce que vous attendez. Connaissance du framework, x-browser, CSS et JS. Ils répertorient les cadres que vous devriez connaître, les plates-formes pour lesquelles vous devez écrire et les nouvelles tendances que vous devriez surveiller.

Ce sont nos médias. Ce sont les éléments avec lesquels nous construisons, mais ce n’est pas ce qui fait la réussite d’un projet. Un développeur peut comprendre chaque détail du système, vous dire toutes les fonctionnalités d'une API et d'une nouvelle technologie CSS, mais toujours produire quelque chose d'inutilisable.

Comprendre le médium

Les développeurs, comme tout le monde, doivent comprendre leur média - mais ils doivent aussi comprendre le public, que ce soit les utilisateurs, l'équipe ou d'autres développeurs. Ils doivent comprendre comment leur média s'intègre dans le monde (en d'autres termes, l'environnement de production) et quel effet il a (comment les gens l'utilisent).

J'ai vu cela décrit comme la personne «large et profonde». Large, car vous devez comprendre le monde en tant qu'être humain travaillant avec d'autres humains. Profond parce que vous avez besoin de connaissances techniques approfondies en dessous du niveau de votre partie du projet. Ces développeurs donnent à votre projet un énorme coup de pouce et changent le rythme du projet, sans quoi vous trouverez du personnel non technique enlisé dans des détails fastidieux qui débordent de l'équipe technique.


04. Les choses avec lesquelles nous construisons

J'ai récemment écrit une liste de tout ce que nous utilisons pour créer des sites, gérer l'hébergement et faire avancer les choses afin que les personnes qui rejoignent puissent avoir une feuille de triche sur les technologies à apprendre au cours de leurs premières semaines. Nous prenions pour acquis que les gens savaient ces choses, donc pour donner un coup de pouce aux nouvelles recrues, nous énumérerions tout ce que nous utilisons chaque jour.

Je m'attendais à une demi-douzaine de technologies, mais j'ai fini avec beaucoup plus. Cette liste - «ce que nous utilisons» - comprend les CMS habituels, les langages de programmation et les technologies de navigateur, mais aussi un ensemble d’outils que l’équipe ne se souvenait même pas avoir utilisés. Tout était de la mémoire musculaire. En tapant "git", "phing", "thor" sur la ligne de commande, nous ne pensions même pas que quelqu'un ne le pourrait pas.

Construire des outils; CI; git pour le contrôle de version était pris pour acquis, mais en regardant les CV, ils n'apparaissaient guère. Les tendances apparaîtront (et est-ce cynique que je pense que certaines agences les ajoutent?!) Mais souvent sans expérience concrète.

Ces outils sont importants pour accélérer le développement de projets, alors assurez-vous de disposer d'un ensemble d'outils beaucoup plus riche que votre langage, le CMS et quelques frameworks. Vous avez besoin d'un déploiement, de tests, d'une CI, d'un contrôle de version renforcé (en équipe - pas par vous-même), et vous devez comprendre les concepts de base de ceux-ci plutôt que quelques didacticiels.

05. Devops

Ces outils et astuces supplémentaires s’intègrent parfaitement à ce que les gens appellent des «devops». Devops va à l'encontre de deux silos traditionnels: la production, qui fait tourner les choses, et le développement, qui crée de nouvelles choses (et arrête souvent les choses). Les silos donnent lieu à deux camps avec peu de sympathie l'un pour l'autre.

Les développeurs sans connaissances en production produisent plus souvent du code qui ne convient pas à la production, en utilisant une configuration ou des fonctionnalités qui ne figurent pas encore sur la pile de production. Parce qu'ils ne sont pas conscients des problèmes de l'environnement de production, ils codent pour compléter la fonctionnalité plutôt que pour la déployer en production.

Ces petits détails peuvent créer des retards douloureux, exacerbés par la tendance à l'envoi de la gestion des serveurs à l'étranger.

Comprendre la pile

Le Devops est un vaste domaine en soi, englobant un déploiement continu et beaucoup d'automatisation. Ceci est un résumé complet, mais la chose clé que les développeurs doivent comprendre est la pile sur laquelle ils s'exécutent. Il ne suffit pas de déléguer cela à l'administrateur du serveur, vous devez comprendre les implications de la plate-forme sur votre code.

Si vous travaillez sur Rails, lisez le code Rails et savez comment Ruby est exécuté par Apache. Si vous travaillez en Java, connaissez les options de configuration. Si vous utilisez Perl, apprenez comment installer les modules Perl et les configurer.

Œuvre mystérieuse

La liste «ce que nous utilisons» contient beaucoup de ces choses, et les bons développeurs sautent dessus pour comprendre comment tout ce travail mystérieux est effectué. Et une fois qu'ils l'ont compris, les déploiements sont plus rapides, le travail est déployé plus facilement et tout le monde est simplement plus heureux.

Le déploiement continu et les pratiques connexes des devops deviennent si courants que tout développeur ou entreprise qui ne le pratique pas se prépare à être dépassé. Quelqu'un d'autre commencera à le faire, puis il sera plus rapide que vous.

Outils pratiques

Googler pour «devops» vous donne une idée des outils que ces gars utilisent. Il ne s’agit pas de PHP et MySQL, ni de Rails. Il s’agit d’expédier des logiciels et de ne pas risquer les éléments risqués des projets. Ils se concentrent sur le déploiement, l'automatisation et le maintien le plus rapide possible du pipeline du développeur à l'environnement de production.

Vous constaterez que ce style de développement vous donne des développeurs qui travaillent mieux les uns avec les autres et avec d’autres départements et entreprises. S'ils travaillent avec une API d'un tiers, ils comprendront les problèmes susceptibles de se poser de l'autre côté. En travaillant avec les administrateurs de serveurs, ils comprendront ce dont ils ont besoin et sauront comment leurs logiciels sont installés sur des serveurs de production. L'inverse peut être douloureux ...

06. Dev va le réparer ... peut-être

Cette recherche de «compétences essentielles de développeur Web» apporte une belle réponse de Michael Greer (CTO de The Onion) sur Quora:

  • Paresse: Refuse de faire quoi que ce soit deux fois: écrit un script ou un algorithme pour cela.
  • Lâcheté: pense tester, s'inquiète de l'impact de la charge et du code
  • Insouciance: essaie constamment de nouvelles choses, lance des idées le jour même

La lâcheté est une belle façon de formuler «l’attention aux détails». Le débogage et les tests sont les 99% de la vie d’un développeur dont personne n’a parlé quand ils ont frappé W3Schools ou commencé le cours d’informatique 101.

La capacité de réparer des applications nécessite d'excellentes compétences en résolution de problèmes, mais pas seulement le code de débogage. Parfois, la solution pour les utilisateurs ne pouvant pas télécharger leurs factures est de rendre la page imprimable, plutôt que de passer une journée à générer des PDF. Parfois, un lien peut remplacer une semaine de développement, mais cette solution élégante ne se produira pas si les développeurs résolvent des problèmes uniquement en écrivant de nombreuses lignes de code.

Les tests sont un formidable angle mort pour de nombreux développeurs, malgré les nombreux outils disponibles. Utilisez des tests unitaires, du sélénium, des tests de charge et des outils de profilage tels que xhprof. Analyse à partir d'éléments tels que New Relic pour réduire l'encombrement de votre application. Et considérez que tout cela fait partie du travail du développeur: c'est votre code, assurez-vous que vous savez qu'il fonctionne comme prévu plutôt que de l'espérer.

Débogage

Le débogage est également un point sensible. Pas comment utiliser un débogueur, mais comment déboguer un problème - je voudrais donc ajouter à la liste de Michael Greer:

  • Impatience: ignore agressivement les informations non pertinentes pour trouver et résoudre le vrai problème

C'est la pierre angulaire de toutes les techniques de débogage. Ignorer le non pertinent et trouver du sens dans le pertinent. Malheureusement, beaucoup sont enclins à marteler servilement ce qui n'est pas pertinent pendant des heures ou des jours, résolvant un problème en essayant la même chose 10 fois.

Il existe de nombreux livres (malheureusement, pas celui que j'ai proposé à l'éditeur que je ne nommerai pas) sur le débogage et chaque développeur devrait les lire tous. Un développeur vraiment génial peut déboguer des problèmes sur un système sans voir une ligne de code.

07. Ce que veulent les utilisateurs

Comprenez ce que les gens autour de vous essaient de faire. Profitez du code - aimez l'art de l'indentation parfaite des fichiers CSS ou de l'optimisation d'une application de rails - mais rappelez-vous que tout est dans un but précis.

Les développeurs doivent comprendre les activités, les opérations et les processus métier, car leurs éléments les aident à les exécuter. Les développeurs possédant ces connaissances sont capables de créer des logiciels et des applications qui aident les utilisateurs, mais ils semblent souvent inhabituellement productifs. Cela peut être dû à la rapidité de leur frappe ou à leur incroyable connaissance de la pile, mais il est plus probable que cela soit dû à leur connaissance de ce que veulent les utilisateurs.

Marché compétitif

Pour revenir à mon point d'origine, le développement est de plus en plus facile et le marché des grands développeurs est plus compétitif. Tout développeur capable de comprendre les exigences de l'entreprise et d'apporter quelque chose d'excellent pour y répondre aura un avantage. Comprendre le marché, les clients et les raisons pour lesquelles les gens se séparent de l'argent est utile.

Comprenez les données et leur évolution au fil du temps. Dans l’esprit du développeur, ils devraient aligner les nouvelles technologies sur les défis que vous avez aujourd’hui ou que vous voyez à venir. De cette façon, lorsque vous suggérez une nouvelle idée sophistiquée au directeur général ou à un client, elle sera basée sur ce que les clients veulent vraiment et vous obtiendrez le budget / le temps nécessaire. (En revanche, la pire chose à voir est que les développeurs colportent leur nouvelle technologie préférée comme solution à tous nos maux.)

Les développeurs ont beaucoup de contrôle - ont-ils besoin de savoir ce que chaque champ de la base de données signifie pour l'utilisateur final? Si nous modifions les données, que verront les utilisateurs? Existe-t-il une meilleure façon d'aider les utilisateurs? Trop souvent, les administrateurs de la base de données considèrent que le monde est un mauvais reflet de leur base de données plutôt que leur base de données étant une mauvaise représentation du monde réel. Le monde est en désordre et étonnamment plein de bordures. Traitez-le, administrateurs de la base de données.

08. Dessin et écriture

Le dessin est le moyen le plus direct de communiquer à quoi ressembleront les choses. Les développeurs doivent pouvoir dessiner leurs idées sur un tableau blanc, du papier et des sous-bocks.

Les développeurs doivent être capables de prototyper sur papier, d'imprimer des captures d'écran et de gribouiller dessus juste pour communiquer leur intention. Ne faites pas confiance au développeur qui hoche la tête, dit qu'il comprend et ouvre son éditeur.

Échouer à moindre coût: le meilleur codage commence par le dessin en tant que prototype rapide. Échouez plus souvent et assurez-vous que tous les développeurs autour de vous font de même, car vous êtes plus susceptible de réussir de cette façon.

09. Amusez-vous

Et si vous devez passer 10 heures à résoudre un problème en déplaçant un lien? Profitez-en, même si ce n’est que le défi de terminer le travail.

La pire attitude des développeurs (ou de quiconque) est l'apathie envers ce que l'équipe essaie de réaliser. Malheureusement, cela est courant, car les développeurs se considèrent comme étant en dehors de ce que l'équipe accomplit. (Le programmeur passionné pose la question: «À quel point pourriez-vous rendre votre travail plus amusant?» - essayez-le.)
Et soyez prêt à montrer votre travail car l’inverse de ceci est: n’étendez pas après avoir essayé quelques didacticiels sur Ruby à «Experience of Ruby»!

Le développement Web et d'applications est encore une jeune profession, mais les compétences dont les développeurs ont vraiment besoin s'élargissent. Tout le monde devrait s'attendre à plus de la part des développeurs, car plus tôt nous sortirons tous de l'arrière-boutique désagréable et nous impliquerons dans le processus de création, meilleurs seront les résultats.

10. Restez vigilant

Pour amener cela à une belle manche 10, j'ajouterai une dernière chose. Restez vigilant. Trouvez la concurrence. La pire des choses est une personne isolée.

"Soyez toujours le pire gars de chaque groupe dans lequel vous appartenez."

Le pire - vraiment, le très mauvais - les programmeurs, les codeurs, les concepteurs apprennent leur métier et se reposent sur leurs lauriers. Sans stimulateur cardiaque, il est trop facile de ralentir et sans voir la concurrence, il devient habituel de se voir au-dessus de la moyenne.

Alors, soyez le pire que vous puissiez en trouvant mieux. Rejoignez des projets en dehors du travail, contribuez et recherchez des commentaires et des critiques, car plus vous recevez de critiques, moins les gens vous en donneront à l'avenir. Lorsque vous devinez ce qu'ils veulent mieux qu'eux, alors vous êtes le développeur ninja que tout le monde veut.

Dan Frost est directeur technique de la société Web à service complet 3EV, partenaire officiel d'AWS. Il travaille dans le développement de CMS et d'applications Web depuis sept ans.

Aimait ça? Lisez-les!

  • Comment créer une application
  • Les meilleures polices Web gratuites pour les concepteurs
  • Découvrez les prochaines étapes de la réalité augmentée
Nouvelles Publications
Utiliser des animations pour des pages de produits "délicieuses"
Davantage

Utiliser des animations pour des pages de produits "délicieuses"

«Délicieux» e t un mot ouvent utili é pour parler de la conception de bonne expérience utili ateur. C'e t cet ingrédient intangible que le concepteur 'efforcent d...
Les meilleures offres de banque d'alimentation: des prix bas pour Anker, Maxoak et RAVPower
Davantage

Les meilleures offres de banque d'alimentation: des prix bas pour Anker, Maxoak et RAVPower

La meilleure banque d'alimentation peut être une bouée de auvetage lor que vou travaillez à di tance et que vou con tatez que votre appareil e t ur le point de donner on dernier ouf...
Examen de l'iPhone 11 Pro
Davantage

Examen de l'iPhone 11 Pro

Le iPhone 11 Pro et 11 Pro Max ont incroyablement cher , mai ce ont au i de téléphone fanta tique à tou le niveaux. Apple a enfin franchi le pa avec on dernier appareil photo, et lor qu...