it-swarm-eu.dev

Ein professioneller Programmierer werden, ohne aufs College zu gehen?

Ich wurde kürzlich von einem College abgelehnt, das mich zuvor aufgenommen hatte, weil ich ein Jahr in einem fremden Land verbracht hatte und das College nicht daran interessiert war, die in einem anderen Land erhaltene Ausbildung anzuerkennen. Aus diesem Grund ist ein sehr großzügiges Stipendium ausgetrocknet, und die Finanzierung einer Ausbildung ist zweifelhaft. Ich zögere auch, Teil eines Systems zu werden, das gezeigt hat, was ich für offensichtliche Fremdenfeindlichkeit halte.

Was ich tun möchte, ist "Screw College" zu sagen, alleine zu streiken und etwas Erstaunliches zu tun, alle zu begeistern und ein selbst gemachter Millionär zu werden. Die Realität sieht so aus, dass ich zwei Wochen von der High School entfernt bin. Ich habe ungefähr das Äquivalent eines Einführungskurses in die Programmierung, der autodidaktische Erfahrung wert ist (obwohl ich motiviert bin, zu lernen und mich zu verbessern), muss ich trotzdem bezahlen Rechnungen, und ich habe den schleichenden Verdacht, dass es jedem Arbeitgeber schwer fallen wird, mich ernst zu nehmen.

So wie ich es verstehe, ist es eine ziemlich populäre Überzeugung, dass man es ohne Abschluss schaffen kann, aber wie macht jemand wie ich das? Würde mich jemand ernst nehmen, wenn ich in sein Büro gehen und sagen würde: "Ich habe keine formale Ausbildung und ein Minimum an Fähigkeiten, aber ich möchte arbeiten und ich möchte lernen. Bitte geben Sie mir einen Job."

16
Kenis Regan

Ich war in der gleichen Position wie Sie und habe mich für die Straße entschieden, von der Sie sprechen. Ich hatte eine Vorliebe für Softwareentwicklung, ein C++ - Hobby zusätzlich zu einem grundlegenden HS-Programmierkurs und Träume. Jetzt bin ich ein professioneller Entwickler und gebe Ihnen meine Erfahrungen.

Nachdem ich ein Jahr lang aufs College gegangen war (ich hatte ein Vollstipendium für technisches Theater), stellte ich fest, dass ich Software mehr mochte als Setbuilding.

Jahr 1 - Ich habe mein 'eigenes Ding' gestartet, das aus Desktop-Support zur Bezahlung der Miete und Entwicklung bestand. Alles zu entwickeln, was ich für jeden, der es wollte, zu einem Bruchteil des Preises machen konnte. Rückblickend habe ich wahrscheinlich 20.000 US-Dollar für 1.000 US-Dollar beantragt. Es ist wirklich scheiße, alleine anzufangen, denn selbst wenn Sie die Erfahrung gemacht haben, dass es sich um eine 20.000-Dollar-App 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 Kenntnisse in Architektur oder Designmustern, also habe ich im Grunde genommen Dinge gemacht, die explodierten, und Netzwerkunterstützung geleistet, um Rechnungen zu bezahlen. Viel Taco Bell, gemischt mit "Nun, zumindest arbeite ich nicht für den Mann". Ich habe einige Träume von Apps, die ich schreiben und in die Welt hinausbringen kann, aber das muss nach Rechnungen kommen, weißt du?

Jahr 2 - Werden Sie ein etwas besserer Entwickler, indem Sie lernen, was Sie nicht tun sollen, und beobachten, wie Dinge in meinem Gesicht explodieren. Kaum mit Desktop-Support auszukommen, Server zu lernen und Websites zu erstellen. Es muss einfacher sein, als für den Mann zu arbeiten, aber ich habe kein wirkliches Portfolio, also mach weiter.

Jahr - Ich fange an, den Dreh raus zu bekommen. Wenn ich auf Datei> Neues Projekt klicke, habe ich eine vage Vorstellung davon, wohin ich gehen möchte und wie ich Dinge erstellen kann. Web-Services, die immer noch die falschen Architekturen wählen, scheinen irgendwie cool zu sein. Warum also nicht ALLES damit bauen? Benötigen Sie eine Taschenrechner-Desktop-App? Ich werde einen Webdienst erstellen! Ich fange an, ein paar Kunden zu gewinnen und bin der IT-Mann und einige Softwareprojekte auf dem Weg. Eine Sache, die ich getan habe, war die Erstellung eines Offsite-Backup-Dienstes mithilfe von Webdiensten. Mein Traum war es also, ein "Mozy" zu sein, während alle noch Bänder austauschten. Breitband wurde gerade alltäglich, also war ich der Kurve voraus, und dies würde meine Millionen-Dollar-Idee sein. Aber der Service hatte Probleme (aufgrund meiner mangelnden Architekturkenntnisse), ich hatte keine Verbindungen in der Branche, so dass niemand etwas davon hörte, außer den paar Kunden, die ich angemeldet hatte.

Jahr 4 - Schließlich 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 er 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 Experts Exchange-Fragen. Oh ja.

Jahr 5 - Wenn Sie es bis jetzt nicht bemerkt haben, sind diese Träume in Jahr 1 immer noch nicht geschrieben, und das wird langsam etwas deprimierend. 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 bin ausgeglichen.

Jahre 5 - 8 - Ich werde diese kombinieren, da es eher dasselbe ist wie "Mach ein Projekt, lerne ein wenig ü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 bereits viele Male von jemand anderem erfunden. Falls Sie es nicht erraten haben, habe ich Mozy nicht erschaffen.

Unterwegs hatte ich neue Träume und neue Ideen, und einige waren gut, andere schrecklich. Ich habe jetzt die Fähigkeiten, um sie zu verwirklichen, und einige von ihnen passieren, und es ist aufregend. Ich habe jedoch das Gefühl, wenn ich die Dinge anders gemacht hätte, hätte ich diese Reise ein wenig verkürzen können.

Ich kann nicht darüber sprechen, wie unterschiedlich das College diese Reise verändert. Das überlasse ich anderen in diesem Thread. Aber die Ratschläge, die ich geben werde:

  1. Sie müssen mit anderen Entwicklern zusammenarbeiten. Ich wusste nicht, wie wichtig dies ist. Sie wissen nicht, was Sie nicht wissen, bis Sie sich den Code eines anderen ansehen oder eine schreckliche Codeüberprüfung erhalten.
  2. Scheitern Sie, bevor Sie größere Aufgaben haben. Wenn Sie wirklich alleine ausgehen möchten, versuchen Sie es, bevor Sie heiraten, eine Hauszahlung erhalten, Kinder usw. Sie werden scheitern und Sie werden scheitern viele Male. Gewöhnen Sie sich daran und schätzen Sie es, denn es ist die beste Erfahrung aller Zeiten. Aber wenn Ihre Killer-App, für die Sie gerade Ihre ganze Zeit und Ihr Geld ausgegeben haben, keinen einzigen Kunden hat, ist es viel einfacher, sie wiederherzustellen, wenn Sie es nur sind.
  3. An Bootstrapping ist absolut nichts auszusetzen. Wenn Sie über Netzwerkkenntnisse verfügen, arbeiten Sie in einem Network Operations Center oder Helpdesk (etwas im Bereich der IT) und arbeiten Sie daran, ein besserer Entwickler zu werden -Stunden und an den Wochenenden. Stellen Sie Verbindungen zu Menschen bei echten Jobs her. Du wirst sie später brauchen.
  4. Seien Sie zu 125% sicher, dass Sie Softwareentwicklung LIEBEN. Die Leidenschaft für Software kommt vor dem 'Millionär'-Teil, nicht umgekehrt. Wenn Sie keine Leidenschaft dafür haben oder Ihr Herz nicht ein bisschen schneller schlägt, wenn Sie auf New Project klicken, machen Sie etwas anderes und behalten Sie dies als Hobby.

Ich bin sicher, ich könnte weitermachen, aber das Lustige ist, dass ich diese Frage gesehen habe, als ich an einem dieser Träume gearbeitet habe und diese beantworten musste. :) Viel Glück.

27
Brandon

Ohne Zweifel aufs College gehen.

Persönlich habe ich es ohne College gemacht (ohne zu sagen, dass ich Millionär bin, aber ich habe einen guten Job bei einer Firma, für die ich gerne arbeite), aber es ist ein harter Weg. Anfangs bist du hinter der Kurve auf alles. Mathematik, Algorithmen, Betriebssysteme, alles, was Sie während einer formalen Ausbildung erhalten (und von denen einige, z. B. Kalkül, sehr schwer zu lernen sind, selbst wenn Sie Zugriff auf Dinge wie math.SE haben) .

Wenn Sie gerade die High School abgeschlossen haben, können Sie sich möglicherweise in eine QS-Abteilung hineinarbeiten und alles in sich aufnehmen, was Sie können. Der Weg von der Qualitätssicherung zum Entwickler oder Ingenieur kann jedoch schwierig sein, da eine (manchmal schlechte) Verallgemeinerung über Personen vorgenommen wird, die aus der Qualitätssicherung kommen und versuchen, auf einen Entwicklungspfad zu gelangen.

Es ohne Abschluss zu machen ist machbar, aber enorm schwierig und erfordert genauso viel Glück und Networking wie reine Geschicklichkeit.

Obwohl ich liebe, was ich tue und stolz auf meine persönlichen Leistungen bin, würde ich es nie empfehlen jedem der die Fähigkeit hat und in einer guten Position ist, eine zu durchlaufen Studiengang.

16
Demian Brecht

Mit Ihrem aktuellen Lebenslauf erhalten Sie nicht einen Job als Entwickler, also kümmern Sie sich nicht einmal darum.

Wenn du nicht aufs College gehen kannst oder willst, musst du selbst etwas Erfahrung sammeln. Es ist ein schwieriger Weg, aber es kann getan werden. Mobile Apps sind ein guter Einstieg, da Sie Ihr Produkt ganz einfach echten Benutzern präsentieren können. Der Beitrag zu Open-Source-Projekten könnte eine weitere Option sein. Oder schreiben Sie einfach etwas für Ihren eigenen Gebrauch. Zuerst werden Sie damit kein Geld verdienen, zumindest nicht genug, um Ihren Lebensunterhalt zu verdienen - also werden Sie wahrscheinlich auch einen regulären Job brauchen. Halten Sie Ausschau nach Möglichkeiten, eine billige Ausbildung zu erhalten. In einigen Colleges können Sie Kurse ohne Gutschrift für einen Bruchteil des regulären Unterrichts belegen.

Tun Sie dies für ein paar Jahre und dann Sie können mit dem Versenden von Lebensläufen beginnen. Angenommen, Sie möchten diese Scheiße immer noch für Ihren Lebensunterhalt machen.

Viel Glück.

4
Mike Baranczak

Hmm ... das ist schwierig. Ich denke, es hängt wirklich von Ihrer Natur als Person ab.

Wenn Sie den Inhalt in ungefähr 6 oder 8 Büchern wirklich kennen würden, wären Sie ein sehr solider Entwickler (Jahre jenseits dessen, was von den meisten CS-Programmen produziert wird - ernsthaft). Nehmen Sie die Grundlagen ernst; sehr ernst - wie eine Religion ernsthaft (KR könnte Ihre Bibel sein).

Die Idee, kleine Projekte zu machen, ist gut. Versuchen Sie immer, sich zu verbessern - wählen Sie ein paar Ökosysteme aus und lernen Sie sie gut (1 - sagen Sie ROR oder Django unter Linux mit MySQL und 2. iOS/Objective C; 2.5. - werfen Sie jQuery/ein) HTML).

edit --- aus dem Kopf, ich würde die Liste unten vorschlagen (in ~ dieser Reihenfolge); Ich habe 9, aber eines ist ein Mathematikbuch, eines ist ein Skriptbuch/Java Buch und das letzte, das ich als optional betrachten würde. Darüber hinaus gibt es ein paar Themen, die in Joel behandelt werden Ich denke, dies würde Sie zu einem sehr starken Entwickler machen - ich bin sicher, andere würden dem nicht zustimmen.

  1. Die Programmiersprache C - Kerrigan und Ritchie - die meisten anderen Bücher sind eine Ergänzung der hier angesprochenen Themen
  2. ein gutes Skriptbuch in der Sprache Ihrer Wahl (Ruby, Python, PHP) oder Java Buch)
  3. Computersysteme - Eine Programmiererperspektive - dieses Buch gibt und gibt einfach weiter
  4. Diskrete Mathematik mit Anwendungen - Epps (?)
  5. Erweiterte Programmierung in der UNIX-Umgebung
  6. Ein Buch über maschinelles Lernen/KI, möglicherweise Mustererkennung und maschinelles Lernen OR ein dediziertes Netzwerkbuch wie TCP/IP, Band 1)
  7. Entwurfsmuster oder J2EE-Entwurfsmuster
  8. Algorithmus Design - Kleinberg
  9. Grundlegendes zum Linux-Kernel - optional
3
timpone

Ich habe als einer dieser Screw-College-Entwickler angefangen. Heutzutage beende ich das College, obwohl ich eine gute, gut bezahlte Arbeit als Entwickler habe.

Ich begann mit 9 Jahren mit Computerprogrammierung zu spielen. In den 90ern verdiente ich Geld mit dem Erstellen von Websites für Freunde und dies gab mir Erfahrungen aus erster Hand mit dem frühen Web (ich spielte mit Javascript, ich war ziemlich verwirrt, als CSS auftauchte usw.).

Als ich ein Teenager war, entschied ich, dass es Zeit war, Computerprogrammierung wirklich gründlich zu lernen, also suchte ich im Internet nach Themen, die jeder Programmierer kennen sollte, und gab dann alles, was ich hatte, für Bücher aus. Ich habe ein Buch über diskrete Mathematik, ein Betriebssystembuch und ein Buch über C-Programmierung in UNIX-Umgebungen gekauft.

Ich machte mich dann daran, objektorientiertes Programmieren mit C++ zu lernen und nahm Python und Java auf dem Weg) und dies brachte mir meinen ersten Job (es hat nicht geklappt) Ich bezahle nicht gut, aber ich würde diesen Job bald für einen viel besseren verlassen.

Als ich aufs College kam, war ich sehr frustriert. Mit Ausnahme von Klassen wie Kalkül, Statistik und formalen Sprachen; Ich kannte schon so ziemlich alle Themen des Kurses und des Balancing College und mein Job wurde von Tag zu Tag schwieriger.

Das College hat mich so frustriert, dass ich abbrach und beschloss, alles, was ich brauchte, selbst zu lernen. Also kaufte ich wieder mehr Bücher, nahm an Open-Source-Projekten teil und wechselte immer wieder den Job, damit ich mich immer wieder dazu zwang, neue Dinge zu lernen.

Letztes Jahr habe ich beschlossen, wieder aufs College zu gehen (obwohl es mich immer noch frustriert). Der Grund, warum ich mich für das College entschieden habe, war, dass ich jetzt Gelegenheit habe und es nie bereuen möchte, nicht aufs College gegangen zu sein.

Ja, Sie können als Softwareentwickler ohne Abschluss arbeiten, aber Sie müssen viel lernen, einige miese Jobs annehmen, wenn Sie noch Anfänger sind, und jedem potenziellen Arbeitgeber zeigen, dass Sie über Wissen, Erfahrung und wirklich klug sind ( Schließlich müssen Sie ihn davon überzeugen, Sie einzustellen, und nicht den anderen, der diesen CS-Abschluss hat. Stellen Sie nur sicher, dass Sie Datenstrukturen, Algorithmen und Algorithmusanalysen, Entwurfsmuster und einige Betriebssystemkonzepte verstehen.

Mein letzter Rat an Sie: Wenn Sie es sich leisten können, sollten Sie aufs College gehen. Vertrauen Sie mir, es wird jetzt viel einfacher, solange Sie noch nicht die High School abgeschlossen haben und sich keine Sorgen um die Bezahlung der Rechnungen machen müssen. Entwickler zu sein, ohne aufs College zu gehen, funktioniert nur, wenn Sie sehr früh angefangen haben. Die Leute werden Sie einstellen, wenn Sie einen Abschluss haben, aber noch nicht gut codieren können, jetzt, wenn Sie keinen Abschluss haben und immer noch nicht gut codieren können Sie werden nicht eingestellt.

2
Raphael

Wenn Sie in die Universität kommen können, wird es Ihnen leichter fallen, aber es ist nicht notwendig.

Der Schlüssel ist, Dinge zu haben, auf die man zeigen und sagen kann: "Ich habe das gemacht". Der einzige Weg, dies zu tun, besteht darin, sich von unten nach oben zu arbeiten. Beginnen Sie mit Gelegenheitsjobs für Leute, die "nur einen Programmierer brauchen". Vielleicht schauen Sie sich Orte wie eLance an.

Sie können auch Ihre eigene Software schreiben und verkaufen. Wählen Sie ein Problem aus, für das es auf dem Markt noch keine gute Lösung gibt, und schreiben Sie ein Programm, das dieses Problem löst. Sie können es verkaufen. Dann haben Sie etwas Glaubwürdigkeit. Ehrlich gesagt, Sie werden wahrscheinlich einen beschissenen Job machen, wenn es Ihr erstes echtes Projekt ist, aber Sie werden eine Menge lernen und Sie werden immer noch Kopien verkaufen, wenn es nützlich ist. Der Code muss nicht schön sein. Benutzer sehen nur die Benutzeroberfläche.

Erfahrung ist der Schlüssel. Glücklicherweise gehört das Programmieren zu den Berufen, in denen Sie kaum Overhead benötigen, um loszulegen. Stellen Sie nur fest, dass eine sehr lange Lernkurve vor Ihnen liegt.

1
Scott Whitlock

Ich bin jetzt seit ungefähr 2 Jahren von der High School. Ich habe bereits einen Job in der Programmierung und habe nur etwa 20 oder 24 Stunden am College verbracht. Nach den ersten beiden Semestern hatte ich jedoch nicht genug Geld oder Zeit dafür.

Wie bin ich zum Programmieren gekommen? Im Grunde genommen Glück. Aber Sie können Ihre Chancen erhöhen, zum Glück bemerkt zu werden. Der Grund, warum ich bemerkt wurde, waren einige kleine Nebenprogramme, die ich gemacht und meinen Freunden gezeigt habe. Das und ich war als "The Computer Guy" bekannt, wobei mehr Lehrer mich fragten, wie sie ihren Computer reparieren sollen, als der eigentliche technische Support. Nun, einer der Freunde meines Freundes besaß eine kleine Softwarefirma ...

Der Rat, den ich Ihnen geben werde, ist, nicht aufzuhören, Dinge zu machen. Lernen und machen. Machen Sie jedes Projekt, das sich irgendjemand wünschen würde. Alles, was für Sie interessant ist oder was jemand Ihnen sogar einen Cent dafür bezahlen würde. Tragen Sie auch zu Open Source-Projekten bei. Eine teamorientierte Umgebung ist gut.

Machen Sie sich auch auf einer Website wie StackOverflow bekannt. Ich habe mein zweites Stellenangebot von einer Stack Exchange-Abfrage bei StackOverflow erhalten, die im Grunde alle in Oklahoma zeigte. Und ich war die Person mit dem höchsten Ruf.

0
Earlz

Tolle, tolle Antworten hier. Ich werde auch meine eigenen Erfahrungen einbringen.

Ich habe in irgendeiner Form programmiert, seit ich ungefähr 5 oder 6 Jahre alt war (TI BASIC, irgendjemand?). 1995 bin ich in Linux eingestiegen und habe angefangen, mir C und Perl beizubringen. Ich habe noch nie einen Programmierkurs in der High School besucht, weil sie zu diesem Zeitpunkt Visual Basic und Visual C++ unterrichteten, und ich hatte auch kein Interesse daran.

Ging aufs College. CS 101 war "Einführung in die Programmierung (Visual Basic)". Wurde Philosophiestudent.

Studienabbruch. Arbeitete bei CompUSA und begann freiberuflich mit der Webentwicklung.

Arbeitete in Coffeeshops oder bei Jobs vom Typ technischer Support, programmierte selbstständig ... und arbeitete freiberuflich und Open Source.

Mein erster "echter" Codierungsjob (mit "Programmierer" im Titel) kam durch Vetternwirtschaft. Ein Freund verließ eine Position und sie hatten ihn gebeten, seinen Ersatz zu finden.

Jetzt bekomme ich regelmäßig Angebote, mein Karriereweg sieht gut aus, ich mache mir keine Sorgen um diesen Abschluss. Aber ich werde wieder einige dieser CS-Kurse besuchen ... Auch wenn Informatik! = Programmieren in der realen Welt, werden Sie Algorithmen lernen und (hoffentlich) Muster entwerfen, die Sie davon abhalten, einige dumme Dinge zu tun und das Rad neu zu erfinden. Die Schule ist also nicht notwendig ... aber sie hilft.

Hauptsächlich würde ich sagen, selbst wenn Sie eine staatliche Schule oder sogar ein Community College besuchen müssen, gehen Sie und lernen Sie so viel wie möglich. Hacken Sie in Ihrer Freizeit weiter an Open-Source-Projekten (GitHub ist der neue Lebenslauf, wie es heißt), und wenn etwas Attraktiveres dabei ist, müssen Sie nicht fertig werden. Sie müssen nicht graduieren, um eine Kreditzählung und einen GPA in Ihren Lebenslauf aufzunehmen, FWIW.

Wie auch immer, viel Glück. Wenn Sie wirklich die Leidenschaft haben, guten Code zu schreiben, ist das der Schlüssel. Aber das College ist für die meisten Unternehmen eine Art "Legacy-Systemabhängigkeit".

0
Jason Lewis

Arbeitgeber möchten mindestens eines von zwei Dingen (oder beides): Ausbildung oder praktische Erfahrung. In der Regel ist der Erwerb einer Ausbildung eine der einfachsten Möglichkeiten, in das System einzusteigen, in dem Sie endlich praktische Erfahrungen sammeln können. Wenn Sie eine Ausbildung erhalten, sagen Sie einem Arbeitgeber, dass Sie sich an etwas halten, das schwierig ist (und das manchmal nutzlos erscheint und Zeitverschwendung darstellt). Dies ist ihnen wichtig, da die Arbeit, egal wie sehr Sie sie genießen, niemals die ganze Zeit über einfach oder unterhaltsam sein wird. Sie wollen wissen, dass Sie dort bleiben werden.

Wenn Sie jedoch die von Ihnen beschriebene Route versuchen möchten, müssen Sie einige praktische Erfahrungen sammeln. Ich persönlich würde empfehlen, sich Start-ups anzuschauen (normalerweise gehen sie eher ein Risiko für jemanden mit wenig oder keiner Erfahrung ein). Eine andere zu berücksichtigende Sache ist, einen Job jeglicher Art zu bekommen (um die Rechnungen zu bezahlen) und dann Zeit damit zu verbringen, Projekte zu entwickeln, die Sie als Lebenslauf verwenden können. Sobald Sie ein kleines Arsenal an Projekten haben, können Sie sich viel besser an Arbeitgeber wenden und sagen: "Hier ist, was ich tun kann ...".

Meine persönliche Empfehlung wäre, zur Schule zu gehen. Es spielt keine Rolle, welche und mit Stipendien, die weit verbreitet sind und nicht ausreichend genutzt werden, gibt es viele Möglichkeiten, eine Ausbildung zu finanzieren. Am Ende werden Sie wahrscheinlich sehr dankbar sein, dass Sie bei der Schule geblieben sind, wenn Sie fertig sind und einen Abschluss machen.

0
Kenneth