Joel Spolsky: Qu'est-ce que cela signifie d'être développeur de logiciels (Préface du codeur au développeur)

image


Mike Ganderloy, livre "Coder to Developer"

Savez-vous ce qui me rend fou?

"Tout?" - tu demandes. Eh bien, certains d'entre vous me connaissent trop bien.

Mais sérieusement, cela me fait vraiment chier que la plupart des développeurs ne réalisent même pas à quel point ils en savent peu sur le développement de logiciels.

Prends-moi, par exemple.

Adolescent, dès que j'ai fini de lire le célèbre guide du langage assembleur de Peter Norton pour IBM-PC, j'étais sûr que je savais tout ce qu'il y avait à savoir sur le développement de logiciels. Oui, bon sang, j'étais prêt à fonder une société de logiciels et à créer un traitement de texte. J'étais absolument certain qu'un grand succès m'attendait. J'ai même imaginé comment chaque heure mon éditeur de logiciels organiserait des pauses café avec des beignets gratuits. Eh bien, à cette époque, beaucoup de mes rêves se résumaient à des beignets.

Après l'armée, j'ai obtenu mon diplôme universitaire et obtenu un diplôme en informatique. Maintenant, je savais vraiment tout. Mais j'en savais beaucoup plus seulement parce que j'ai étudié un tas d'ordures informatiques et scientifiques sur l'algèbre linéaire, le problème NP-complet et le foutu calcul lambda. Mais tout cela est évidemment inutile. J'ai décidé qu'ils devaient avoir épuisé l'offre de choses utiles dont nous aurions besoin pour être formés, c'est pourquoi ils ont gratté les miettes sur les tripes.

Mais non. Lors de mon premier emploi, j'ai réalisé combien de choses le département d'informatique n'a pas jugé nécessaire de porter à notre attention. Des choses comme le travail d'équipe sur les logiciels. Conseils pratiques de conception d'interface utilisateur. Outils professionnels comme le contrôle de version, les bases de données d'erreurs de code, les débogueurs et les profileurs. Des choses efficaces. Les départements d'informatique même des universités les plus prestigieuses ne vous apprendront pas ce qui n'est pas de nature purement académique; et plus encore pour enseigner ce que les lycéens étudient dans une école professionnelle locale, afin de devenir plus tard mécanicien automobile, réparateur de climatisation ou "développeur de logiciels malodorants".

Je comprends en partie cette attitude. Au final, l'objectif de nombreuses universités prestigieuses est de préparer l'étudiant à la vie, et non de lui inculquer des compétences professionnelles qui deviendront obsolètes dans 10 ans.

Au cours de la prochaine décennie, j'ai acquis des connaissances incroyables sur le développement de logiciels et les nuances associées à ce processus. J'ai travaillé chez Microsoft dans l'équipe de développement Excel, à Viacom - dans l'équipe web, chez Juno - sur leur client de messagerie. Et tu sais quoi? À chaque étape de la formation, j'étais absolument sûr de tout savoir sur le développement logiciel.

"Alors peut-être que tu es juste un crétin présomptueux?" - vous demandez, et peut-être même utilisez le mot brusquement "crétin". Je m'excuse, mais ceci est mon introduction; si vous voulez être méchant, écrivez votre putain d'introduction, arrachez la mienne et insérez la vôtre.

Il y a quelque chose d'étrange, une certaine puissance mystique dans le développement de logiciels qui fait penser aux gens qu'ils savent tout, quoi et comment faire. J'ai travaillé dans des dotcoms remplis de spécialistes en sciences humaines. Ils n'avaient aucune expérience de travail avec les logiciels et n'ont jamais appris cela, mais étaient néanmoins convaincus qu'ils savaient comment gérer les équipes de développement et développer des interfaces utilisateur. C'est étrange, car personne ne pense savoir comment supprimer l'appendicite enflammée ou restaurer le moteur d'une voiture s'ils n'ont pas les compétences appropriées. Mais pour une raison inconnue, ces mêmes personnes sont sûres de savoir parfaitement comment développer un logiciel.

D'une manière ou d'une autre, toute responsabilité incombe à vos épaules. Il est possible que vous deviez apprendre à développer vous-même un logiciel. Si vous avez de la chance, vous travaillerez bien sûr avec des développeurs de logiciels de premier ordre et ils vous apprendront, mais la plupart n'auront pas cette opportunité. Par conséquent, je suis heureux que Mike Ganderloy ait pris la responsabilité d'écrire le livre que vous tenez maintenant entre vos mains. Vous trouverez ici une introduction agréable et bien écrite à bon nombre des choses les plus importantes que vous devrez savoir lorsque vous passerez d'une personne tapant du code à une personne développant un logiciel. Attraper la différence? C'est comme un enfant de six ans qui peut dessiner quelques mots simples avec un crayon et devenir un romancier à succès qui écrit des livres, reçoit des critiques élogieuses et vend des millions d'exemplaires.Être développeur de logiciels signifie prendre un concept, créer une équipe, configurer tous les processus, développer un produit logiciel (le produit logiciel souhaité) et le produire. Ce ne devrait pas être seulement un produit logiciel, mais un produit logiciel de haute qualité qui résout les problèmes et satisfait les utilisateurs. Avec la documentation. Page Web. Programme d'installation. Script de test. Version en norvégien. Conversationnel et littéraire. Collations, dessert, vingt-sept photos sur papier glacé de huit pouces sur dix pouces avec des flèches, des cercles et des explications au dos. (Je m'excuse auprès d'Arlo Guthrie.)Ce ne devrait pas être seulement un produit logiciel, mais un produit logiciel de haute qualité qui résout les problèmes et satisfait les utilisateurs. Avec la documentation. Page Web. Programme d'installation. Script de test. Version en norvégien. Conversationnel et littéraire. Collations, dessert, vingt-sept photos sur papier glacé de huit pouces sur dix pouces avec des flèches, des cercles et des explications au dos. (Je m'excuse auprès d'Arlo Guthrie.)Ce ne devrait pas être seulement un produit logiciel, mais un produit logiciel de haute qualité qui résout les problèmes et satisfait les utilisateurs. Avec la documentation. Page Web. Programme d'installation. Script de test. Version en norvégien. Conversationnel et littéraire. Collations, dessert, vingt-sept photos sur papier glacé de huit pouces sur dix pouces avec des flèches, des cercles et des explications au dos. (Je m'excuse auprès d'Arlo Guthrie.)cercles et explications sur le revers. (Je m'excuse auprès d'Arlo Guthrie.)cercles et explications sur le revers. (Je m'excuse auprès d'Arlo Guthrie.)

Et puis, un jour, un beau jour, vous vous réveillez enfin et dites (même s'il est peut-être trop tard): «Hmm. Et si je ne sais vraiment pas ce qui est vraiment nécessaire pour le développement de logiciels. " Et seulement ce jour-là, et pas une minute plus tôt, à savoir ce jour-là, et à partir de ce jour, vous aurez le droit de vous appeler développeur de logiciels. Et maintenant, alors que tout n'a pas été perdu, voici ma bénédiction si vous voulez manger des beignets toutes les heures.



image
Apprenez en détail comment obtenir un métier recherché à partir de zéro ou passer au niveau supérieur en termes de compétences et de salaire en suivant les cours en ligne SkillFactory:



Lire la suite



All Articles