Puis-je aller dans une école professionnelle pour apprendre le code au lieu de l’université ? Puis-je quand même devenir un développeur de logiciels ? Je pense que l’école professionnelle me convient mieux. Quels en sont les avantages ?


Bonjour !

Réponse courte : Oui, vous pouvez, mais cela n'en vaut (probablement) pas la peine


L'avantage est un coût moindre, moins de temps et (peut-être) un moment moins stressant

Longue réponse : Le problème est que la programmation ne correspond pas exactement à la définition d'un métier ou aux attentes des gens à l'égard d'un métier, même si elle est appliquée. Les programmeurs ne se syndiquent pas. Ils peuvent avoir des convictions politiques diverses, mais pour une raison ou une autre, ils ne se sont pas syndiqués ou n'ont pas rejoint d'associations professionnelles ou de guildes, soit en raison de leur personnalité, soit parce que leur travail ne l'exige pas. La programmation ne fait pas l'objet d'un apprentissage. On n'étudie généralement pas sous la direction d'une personne pendant des mois ou des années pour apprendre son métier. Les programmeurs sont en fait de piètres professeurs, et le domaine ne se prête pas bien à l'apprentissage répété de la même chose. Vous pouvez avoir un mentor ou un conseiller et votre code peut être revu, mais vous n'avez pas quelqu'un assis à côté de vous jour après jour pour vous apprendre à coder comme le fait un apprenti de métier.


Dans la plupart des emplois de niveau débutant à intermédiaire, la compétence clé est la résolution de problèmes, pas les frameworks, pas les langages, pas quoi que ce soit de ce genre. De plus (et cela peut être important pour vous), il est assez difficile de programmer par soi-même et de gagner de l'argent avec. Je mentionne ceci parce que j'ai vu des programmeurs (pas de noms) se lamenter de ne pas avoir choisi un "métier" et de ne pas être devenu, par exemple, un technicien en chauffage, ventilation et climatisation. Un type a dit que s'il s'était orienté vers les métiers, il serait riche aujourd'hui parce qu'il aurait une flotte de camions de CVC et qu'il desservirait des zones entières de personnes. J'ai également entendu le sentiment que la programmation est l'équivalent au 21e siècle d'un travail d'usine, seulement sans beaucoup des avantages d'un ancien travail d'usine (heures régulières, syndicat, etc.) La plupart (lisez presque tous) des programmeurs ne pourraient jamais gagner assez d'argent pour correspondre à un emploi salarié, pas même un emploi au salaire minimum, parce que vous avez besoin de beaucoup plus que du code pour faire une application réussie surtout une qui fait de l'argent.

La programmation n'est pas exactement un métier, parce que bien que vous soyez qualifié et vendiez votre compétence, vous ne travaillez généralement pas et ne pouvez pas travailler isolément d'une vaste équipe de soutien et d'aide. Il y a un écart entre un logiciel valant 1000 dollars et un logiciel valant 10 millions de dollars et jusqu'à très récemment, cet écart était un gouffre. Certaines moyennes ou petites entreprises ont résolu le problème, mais il reste en grande partie non résolu, à moins que vous ne trouviez quelqu'un d'exceptionnellement talentueux ou compétent pour vous construire une plate-forme et/ou quelqu'un d'exceptionnellement talentueux ou compétent pour les diriger. En fait, il faut une vaste armée de programmeurs et de personnel d'assistance pour faire les choses de la "bonne manière" et plus vous prenez de libertés, plus vous avez besoin d'une licorne (nom d'une personne qui n'existe pas en réalité) ou d'une poule aux œufs d'or pour lancer votre entreprise. Oui, un homme peut créer une startup d'un milliard de dollars à lui tout seul et peut même le faire sans formation, mais cette personne a généralement programmé pendant de nombreuses années jusqu'à ce qu'elle y parvienne (voir ce Teach Yourself Programming in Ten Years) et possède une grande variété de compétences que de nombreux programmeurs n'aiment généralement pas ou n'ont même pas, comme l'UX+UI, le marketing, la connaissance du marché et tout simplement le fait d'être au bon endroit au bon moment. La plupart des applications qui rapportent de l'argent ne sont pas des applications destinées aux consommateurs, mais des applications B2B, et pour celles-ci, vous avez besoin d'un nombre incroyablement élevé de personnes pour une raison simple : la réduction des risques. Les grandes entreprises n'aiment pas travailler avec des opérations d'un seul homme ou même de cinq ou dix hommes, à moins qu'elles ne puissent l'obtenir ailleurs, parce que c'est trop risqué. L'époque où un homme s'asseyait dans son sous-sol, codait quelque chose de génial et le mettait sur le marché est généralement révolue (sauf s'il s'agit d'un produit destiné aux consommateurs), car le marché est arrivé à maturité. Par ailleurs, le prix de dix millions de dollars signifie que seule une grande entreprise peut se permettre d'acheter votre logiciel. Les petites et moyennes entreprises existent, mais il est incroyablement difficile de rivaliser avec Microsoft ou Oracle (oui, ce sont vos concurrents !). Beaucoup d'histoires de startups arrivant à une certaine taille avec juste un ou deux gars pour découvrir qu'ils ne peuvent pas et ne pourront jamais craquer le marché B2B parce que les entreprises ne veulent pas traiter avec eux.

La façon dont les gens obtiennent des compétences en résolution de problèmes est de suivre une éducation qui encourage la résolution de problèmes. La programmation est également un type particulier de résolution de problèmes. La plupart des gens ont une sorte d'éducation mathématique comme un BSCS, un ingénieur ou ainsi de suite, et ont de nombreuses années d'expérience en programmation. Toute personne qui s'éloigne de plus en plus d'un BSCS aura plus de choses à faire en dehors de sa vie, comme "coder pour le plaisir" ou "coder pour l'amour". Même dans ce cas. Ce qui se passe, c'est que les personnes qui restent dans ce domaine finissent par acquérir des connaissances en mathématiques, car on se heurte rapidement à un mur. Le développement de sites web ou de postes de travail n'a peut-être pas besoin de beaucoup d'éducation, mais l'apprentissage automatique, l'intelligence artificielle, le traitement du langage naturel en ont besoin. Même les jeux ont besoin de mathématiques pour rendre tous les graphiques à l'écran. Beaucoup de gens ne font jamais ce genre de choses et restent des développeurs web pour toujours, mais cela limite les types d'emplois que vous pouvez prendre et le développement web est une spécialisation de la programmation pour laquelle beaucoup ne sont pas faits. En outre, c'est beaucoup moins amusant. Si vous ne pouvez même pas faire un jeu simple parce que vous ne connaissez pas l'algèbre linéaire et que vous ne pouvez pas faire un rendu graphique 3d, pourquoi aller dans ce domaine ?

La ligne de fond si vous n'aimez pas la résolution de problèmes, et un type particulier de résolution de problèmes appliquée, vous ne serez pas heureux dans cette profession. En particulier les drapeaux rouges incluent l'argent, penser à un "haut niveau" au lieu de vouloir se salir les mains, faire la même chose encore et encore pour le reste de votre vie sans retourner à l'école encore et encore parce que la technologie change et évolue incroyablement vite. Pour en faire une carrière en 2018, je dirais qu'il faut aimer le chaos. Si vous n'aimez pas le code sale, si vous n'aimez pas vous salir les mains ou regarder le code horrible des autres, ou si vous rêvez que tout soit parfaitement conçu et parfaitement architecturé, alors cela limite le type d'emplois que vous pouvez prendre. En particulier, la plupart des emplois d'entrée de gamme sont des emplois de développement web et reposent sur un assemblage insensé de code source ouvert pour fonctionner. Oui, il y a des emplois où vous prenez vos 4 années d'école, portez un costume, asseyez-vous dans un cube et devenez un "analyste programmeur", mais ces types d'emplois sont un petit segment du marché et extrêmement compétitifs (exigent toutes les bonnes études bonnes écoles embauchées directement à la sortie de la classe, etc.)

Oui, vous pouvez devenir riche en devenant un programmeur, mais vous pouvez aussi devenir un technicien CVC. Et posséder une flotte de camions CVC... la plupart des programmeurs ne gèreront jamais officiellement une autre personne, et ne créeront jamais aucune sorte d'entreprise. Je ne suis pas dans les métiers mais tous les gens de métier avec des années ou des décennies d'expérience peuvent travailler pour eux-mêmes. La plupart des programmeurs ne peuvent pas, ou disent qu'ils le font ou essaient mais cela ne s'élève jamais à plus qu'un hobby pensez à faire quelques applications avec 10 utilisateurs sur le Google Play store.

La ligne de fond est la programmation ressemble à un métier superficiellement sur la surface, mais ce n'est pas. Traitez-le comme un métier ou allez-y en vous attendant à ce qu'il soit comme les autres métiers et vous serez probablement confrontés à des déceptions majeures dans la vie.

P.S. Il y a un chemin, que certains prennent pour entrer dans la gestion et faire beaucoup d'argent, qui utilise la programmation comme un tremplin. Fondamentalement, ils obtiennent un diplôme, passent quelques années comme programmeur (plus l'entreprise pour laquelle vous travaillez est grande, mieux c'est, comme Google ou Facebook, les gens entrent réellement chez Google en disant qu'ils vont démissionner dans 2 ans et la durée moyenne d'occupation dans une entreprise de technologie est de 2 ans) et quittent pour créer leur propre startup ou quitter pour rejoindre la direction d'une petite entreprise. Mais la fenêtre pour cela est assez petite et vous devez être assez motivé et déterminé pour faire cela (étudiant de premier rang, ayant le sens des affaires, etc.)

.