Ich war in der gleichen Position wie Sie und habe die Straße gewählt, von der Sie sprechen. Ich hatte eine Vorliebe für Softwareentwicklung, ein C ++ - Hobby neben einem grundlegenden HS-Programmierkurs und Träume. Jetzt bin ich ein professioneller Entwickler und gebe Ihnen meine Erfahrung.
Nach einem einjährigen College-Aufenthalt (ich hatte ein Vollstipendium für Technisches Theater) stellte ich fest, dass ich Software mehr mochte als das Erstellen von Bühnenbildern.
Jahr 1- Ich habe mein 'eigenes Ding' angefangen, das aus Desktop-Support, um Miete zu zahlen, und Entwicklung bestand. Alles zu entwickeln, was ich machen konnte, für jeden, der es wollte, zu einem Bruchteil des Preises. Rückblickend habe ich wahrscheinlich 20.000 USD für 1.000 USD beantragt. Das Anfangen alleine ist wirklich zum Kotzen, denn selbst wenn Sie die Erfahrung gemacht haben, dass es sich um eine App für 20.000 US-Dollar handelt, haben Sie nicht die Glaubwürdigkeit, danach zu fragen. Und das Schlimmste ist, ich habe keine Ahnung, was ich nicht weiß, und keine anderen Entwickler um mich herum. Ich habe Anwendungen erstellt, die Wartungs-Albträume waren. Ich hatte keine Ahnung von Architektur oder Designmustern, also habe ich Dinge gemacht, die in die Luft gejagt wurden, und Netzwerkunterstützung, um Rechnungen zu bezahlen. Viele Taco Bell, gemischt mit "Na ja, zumindest arbeite ich nicht für den Mann". Ich habe einige Träume von Apps, die ich schreiben und in die Welt tragen möchte.
Jahr 2 - Werden Sie ein bisschen besserer Entwickler, indem Sie lernen, was nicht zu tun ist und zusehen, wie Dinge in meinem Gesicht explodieren. Ich komme kaum mit Desktop-Support, Lernservern und Websites zurecht. Es muss einfacher sein, als dies für den Mann zu tun, aber ich habe kein echtes Portfolio.
Jahr 3- Beginnen, den Dreh raus zu kriegen. Wenn ich auf Datei> Neues Projekt klicke, habe ich eine vage Vorstellung davon, wohin ich gehen möchte und wie ich Dinge aufbaue. Web-Services, die immer noch die falschen Architekturen auswählen, scheinen irgendwie cool zu sein. Warum also nicht ALLES damit bauen? Benötigen Sie eine Taschenrechner-Desktop-App? Ich werde einen Webservice aufbauen! Ich fange an, ein paar Kunden abzuholen und der IT-Mann und einige Software-Projekte auf dem Weg zu sein. Eine Sache, die ich getan habe, war das Erstellen eines Offsite-Sicherungsdienstes mithilfe von Webdiensten. Mein Traum war es, ein "Mozy" zu sein, während alle noch Bänder austauschten. Breitband wurde gerade zur Gewohnheit, also war ich der Kurve voraus, und das würde meine Idee von einer Million Dollar sein. Aber der Service hatte Probleme (aufgrund meiner mangelnden Architekturkenntnisse),
Jahr 4 - Endlich glaubt ein Kunde an mich für ein langfristiges Projekt. Ich schaffe es, ohne es schlecht zu machen; Der Code ist nicht großartig, aber es funktioniert. Ich fange an, mich mit Rechnungen zu beschäftigen, arbeite mit ein paar anderen Entwicklern zusammen (fälsche es, bis du es schaffst, oder?) Und beantworte sogar ein paar Experten-Exchange-Fragen. Oh ja.
Jahr 5 - Wenn Sie es bis jetzt noch nicht bemerkt haben, sind diese Träume in Jahr 1 immer noch nicht geschrieben. Ich habe ein anständiges Portfolio an Sachen, die ich erfolgreich geschrieben habe, eine anständige Dynamik und einen respektablen Kundenstamm. Ich weiß immer noch nicht genau, was ich nicht weiß und mache gerade noch.
Jahre 5 - 8 - Ich werde diese kombinieren, da es eher so aussieht wie "mache ein Projekt, lerne etwas über jedes, bring diese Erfahrung zum nächsten". Heute ist Mitte des achten Jahres und erst in den letzten ein oder zwei Jahren bin ich ein guter Entwickler geworden. Diese Träume im ersten Jahr wurden schon oft von jemand anderem erfunden. Falls Sie nicht geraten hatten, habe ich Mozy nicht erstellt.
Unterwegs hatte ich neue Träume und neue Ideen, und einige waren gut, andere schrecklich. Ich habe jetzt die Fähigkeiten, um sie in die Tat umzusetzen, und einige von ihnen geschehen, und es ist aufregend. Ich habe jedoch das Gefühl, wenn ich die Dinge anders gemacht hätte, hätte ich diese Reise ein bisschen verkürzen können.
Ich kann nicht sagen, wie anders das College diese Reise verändert. Das überlasse ich anderen in diesem Thread. Aber die Ratschläge, die ich geben werde:
- Sie müssen mit anderen Entwicklern zusammenarbeiten. Ich wusste nicht, wie wichtig das ist. Sie wissen nicht, was Sie nicht wissen, bis Sie sich den Code eines anderen ansehen oder eine schreckliche Codeüberprüfung erhalten.
- Scheitern Sie, bevor Sie wichtige Aufgaben haben. Wenn Sie wirklich auf eigene Faust ausgehen möchten, versuchen Sie es, bevor Sie heiraten, eine Hauszahlung, Kinder usw. haben. Sie werden scheitern und Sie werden oft scheitern. Gewöhnen Sie sich daran und schätzen Sie es als die beste Erfahrung aller Zeiten. Aber wenn Ihre Killer-App, für die Sie nur Ihre ganze Zeit und Ihr ganzes Geld ausgegeben haben, keinen einzigen Kunden hat, ist es viel einfacher, sich zu erholen, wenn Sie es allein sind.
- Am Bootstrapping ist absolut nichts auszusetzen. Wenn Sie über Netzwerkkenntnisse verfügen, arbeiten Sie in einem Network Operations Center oder Helpdesk (im IT-Bereich) und arbeiten Sie daran, außerhalb der Geschäftszeiten und an den Wochenenden ein besserer Entwickler zu werden. Stellen Sie Verbindungen zu Menschen in echten Berufen her. Du wirst sie später brauchen.
- Seien Sie 125% sicher, dass Sie Softwareentwicklung LIEBEN. Die Leidenschaft für Software geht vor dem "Millionär", nicht umgekehrt. Wenn Sie keine Leidenschaft dafür haben oder Ihr Herz nicht ein bisschen schneller schlägt, wenn Sie auf "Neues Projekt" klicken, machen Sie etwas anderes und behalten Sie dies als Hobby bei.
Ich bin mir sicher, dass ich weitermachen könnte, aber das Komische ist, dass ich diese Frage gesehen habe, als ich an einem dieser Träume gearbeitet habe und diesen beantworten musste. :) Viel Glück.