J'ai été dans la même position que vous, et j'ai choisi cette voie de «l'université à vis» dont vous parlez. J'aimais le développement de logiciels, un passe-temps C ++ en plus d'un cours de programmation HS de base et des rêves. Maintenant, je suis un développeur professionnel, je vais donc vous donner mon expérience.
Après être allé à l'université pendant 1 an (j'avais une bourse complète pour le théâtre technique), j'ai compris que j'aimais plus les logiciels que la construction de décors.
Année 1- J'ai commencé mon «propre truc» qui consistait en un support de bureau pour payer le loyer et en développant. Développer tout ce que je pouvais faire, pour quiconque le voulait, à une fraction du prix. Avec le recul, je faisais probablement 20 000 $ pour 1 000 $. Commencer par vous-même est vraiment nul parce que même si vous avez eu l'expérience de savoir qu'il s'agit d'une application de 20 000 $, vous n'avez pas la crédibilité de la demander. Et le pire de tout, je n'ai aucune idée de ce que je ne sais pas, et aucun autre développeur autour de moi. J'ai créé des applications qui étaient des cauchemars de maintenance. Je n'avais aucune compétence en architecture ou en conception, donc j'ai essentiellement fait des choses qui ont explosé et j'ai pris en charge le réseau pour payer les factures. Beaucoup de Taco Bell, mélangé avec "bien, au moins je ne travaille pas pour l'homme". J'ai des rêves d'applications à écrire et à découvrir le monde,
Année 2 - Devenir un développeur légèrement meilleur en apprenant ce qu'il ne faut pas faire et en regardant les choses exploser dans mon visage. À peine s'en tirer sur le support de bureau, l'apprentissage des serveurs et la création de sites Web. Ça doit être plus facile que ça de travailler pour l'homme, mais je n'ai pas vraiment de portefeuille donc, continuez.
3e année- Commencer à comprendre. Lorsque je clique sur Fichier> Nouveau projet, j'ai une vague idée de l'endroit où je veux aller et comment construire les choses. Toujours en choisissant les mauvaises architectures, les services Web semblent plutôt cool, alors pourquoi ne pas TOUT construire avec ceux-ci? Besoin d'une application de calculatrice de bureau? Je vais construire un service web! Commencer à prendre quelques clients et être l'informatique et certains projets logiciels en cours de route. Une chose que j'ai faite a été de créer un service de sauvegarde hors site à l'aide des services Web, donc mon rêve était d'être un «Mozy» pendant que tout le monde échangeait encore des bandes. Le haut débit devenait tout simplement banal, j'étais donc en avance sur la courbe, et ça allait être mon idée à un million de dollars. Mais le service a eu des problèmes (en raison de mon manque de compétences en architecture),
Année 4 - Enfin, un client croit en moi pour un projet à long terme. J'arrive à le faire sans mal foutre; le code n'est pas génial mais ça marche. Commençant à me faire rattraper par les factures, je peux travailler avec quelques autres développeurs (simuler jusqu'à ce que vous le fassiez, non?) Et même répondre à quelques questions d'Exchange d'experts. Oh oui.
Année 5 - Si vous ne l'aviez pas remarqué maintenant, ces rêves de l'année 1 ne sont toujours pas écrits, donc cela commence à devenir un peu déprimant. J'ai un portefeuille décent de choses que j'ai écrites avec succès, j'ai un certain élan décent et une clientèle respectable. Je ne sais toujours pas vraiment ce que je ne sais pas, et j'atteins le seuil de rentabilité.
Années 5 - 8 - Je vais les combiner car il s'agit plus ou moins de "faire un projet, apprendre un peu sur chacun, amener cette expérience au suivant". Aujourd'hui est au milieu de l'année 8, et ce n'est qu'au cours de la dernière année ou deux que je suis devenu un bon développeur. Ces rêves de l'année 1 ont déjà été inventés à plusieurs reprises par quelqu'un d'autre. Au cas où vous ne l'auriez pas deviné, je n'ai pas créé Mozy.
En cours de route, j'ai eu de nouveaux rêves et de nouvelles idées, et certains ont été bons, certains ont été horribles. J'ai maintenant les compétences nécessaires pour les réaliser, et certains d'entre eux se produisent, et c'est excitant. Cependant, j'ai le sentiment que si j'avais fait les choses différemment, j'aurais pu raccourcir un peu ce voyage.
Je ne peux pas dire à quel point le collège change différemment ce voyage; Je laisserai cela aux autres sur ce fil. Mais les conseils que je vais donner:
- Vous devez travailler avec d'autres développeurs. Je ne savais pas à quel point c'était important. Vous ne savez pas ce que vous ne savez pas jusqu'à ce que vous regardiez le code de quelqu'un d'autre ou que vous obteniez un horrible examen du code.
- Échouez avant d'avoir des responsabilités importantes. Si vous voulez vraiment sortir seul, essayez de le faire avant de vous marier, d'avoir un paiement pour la maison, des enfants, etc. Vous échouerez et échouerez plusieurs fois. Habituez-vous et appréciez-le car c'est la meilleure expérience de tous les temps. Mais lorsque votre application de tueur sur laquelle vous venez de dépenser tout votre temps et votre argent n'a pas un seul client, il est beaucoup plus facile de récupérer lorsque c'est juste vous.
- Il n'y a absolument rien de mal à démarrer. Si vous avez des compétences en réseau, allez travailler dans un centre d'opérations réseau ou un service d'assistance (quelque chose dans le domaine de l'informatique), et travaillez à devenir un meilleur développeur en dehors des heures de bureau et le week-end. Établissez des liens avec des personnes occupant de vrais emplois. Vous en aurez besoin plus tard.
- Soyez sûr à 125% que vous AIMEZ le développement de logiciels. La passion pour les logiciels passe avant la partie «millionnaire», et non l'inverse. Si vous n'avez pas de passion pour cela, ou si votre cœur ne commence pas à battre un peu plus vite lorsque vous frappez New Project, allez faire autre chose et gardez cela comme passe-temps.
Je suis sûr que je pourrais continuer, mais le plus drôle est que j'ai vu cette question en travaillant sur l'un de ces rêves et que j'ai dû répondre à celui-ci. :) Bonne chance.