Haftungsausschluss (Bitte vor dem Antworten lesen):
Ich habe eine Reihe von Fragen gesehen, die denen ähneln, die ich stellen möchte. Deshalb hier einige ähnliche Fragen.
IMHO Sie sind weder vollständig das, was ich frage, noch so gründlich, wie ich es mir erhoffe (ich will die Antworten auf die folgenden Fragen nicht streichen, noch diskreditiere ich die Fragesteller, ich möchte einfach nur eine sein) etwas gründlicher):
Kann ein CS-Abschluss einem älteren Programmierer zugute kommen?
Bedeutung des CS-Abschlusses bei der Bewerbung für Entwicklungsjobs?
Lassen Sie mich klar sein, ich frage nicht das Folgende:
- Wie ich mir selbst das Programmieren von Grund auf beibringe (ohne einen Abschluss in CS)
- Wie ich mich als guter Softwareentwickler vermarkten kann (ohne einen Abschluss in CS)
- Wie bekomme ich einen großartigen, hochbezahlten Job als Softwareentwickler (ohne einen Abschluss in CS)?
Ein kleiner Kontext:
Lassen Sie mich nun, da mir Haftungsausschlüsse im Weg stehen, meine Frage konkretisieren und mit einer kurzen Geschichte meiner Erfahrung als Softwareentwickler beginnen.
Zunächst einmal hatte ich unglaublich viel Glück. Ich habe mehrere Stellenangebote bekommen (ein paar schwere Backend-PHP / MySQL-Projekte und mehrere WP7-Apps in XAML / C #), durch die ich wirklich alles gelernt habe, was ich über Softwareentwicklung weiß. Fast alle Softwareentwicklungsjobs, die ich hatte, waren solche, für die ich nicht zu Recht qualifiziert war (und das habe ich meinen Arbeitgebern deutlich gemacht, bevor sie mich eingestellt haben). Ich möchte mir keine Ehre machen, wenn es nicht fällig ist, aber ich würde sagen, dass vollkommene Demut Bescheidenheit überflüssig macht .
In fast jeder meiner Entwicklungsjobs habe ich die Erwartungen meines Arbeitgebers übertroffen und mich als wertvolles Kapital erwiesen. Es gibt natürlich Ausnahmen 1 . Mein Punkt ist jedoch, dass ich ziemlich intelligent bin und mir beibringen konnte, was ich wissen musste, um in meinem Job erfolgreich zu sein. Mit jedem Job, den ich hatte, wurde ich mehr und mehr gedehnt.
Ich besuche den Campus der Universität von Washington in Seattle und bin derzeit in meinem vierten Jahr, mit zwei verbleibenden Jahren, und arbeite an einem Mathematik-Abschluss. Während der verschiedenen Jobs, die ich hatte (siehe meinen Lebenslauf, wenn Sie diese Liste wollen), habe ich auch als Vollzeitstudent die Schule besucht.
Wie ich glaube, stimmen die meisten Entwickler darin überein, die typischen Kurse für Grundstudenten zu studieren, einschließlich Einführungskursen für Programmierer ABSOLUT PALES im Vergleich zum Schreiben von echtem Code, Erstellen von echten 2 Produkten, Arbeiten mit tollen Leuten und positiven Auswirkungen auf das Leben der Benutzer 3 .
Also ... im Laufe der Zeit ... habe ich viel mehr Zeit und Energie in die Arbeit gesteckt, anstatt mich auf mein Studium zu konzentrieren. Manchmal habe ich sehr schreckliche Leistungen erbracht , aber zum größten Teil konnte ich mit meinen Noten über Wasser bleiben.
Doch das Informatik - Programm an der UW ist sehr , sehr , sehr , sehr wettbewerbsfähig.
Es war also keine Überraschung für mich, als ich vom Programm abgelehnt wurde. Zweimal. Ironischerweise erhielt ich in derselben halben Stunde, in der ich die immer höfliche, wenn auch entmutigende Ablehnungsnachricht per E-Mail erhielt, einen Anruf von Amazon, der mir ein Sommerpraktikum 4 als SDE anbot .
Wenn ich mich nach anderen Herren in meinem Alter umschaue (21), die die gleichen Ziele wie ich in der Softwareentwicklung verfolgen, fühle ich mich ziemlich gut darin, wo ich bin, was ich lerne, wer ich bin und was Ich kann. Es gibt natürlich viel, viel, viel brillantere 21-Jährige als ich, ich möchte nicht sagen, dass ich in einer Menschenmenge auffalle, nur weil ich das Gefühl habe, nicht miserabel hinter den Fortschritten meiner durchschnittlichen Altersgenossen zu stehen .
Ich bin zuversichtlich, dass ich in der Welt der Software erfolgreich sein kann. Noch wichtiger ist, dass ich von meiner Fähigkeit und meinem Wunsch überzeugt bin, weiter zu wachsen, zu lernen und peinlich demütig zu sein, wenn ich es wirklich brauche.
Math Degree
Ich stelle fest, dass ich einen Mathematik-Abschluss mit dem einzigen Zweck anstrebe, einen Abschluss zu haben. Es gibt Leute, die sagen, ich sollte jetzt abbrechen und anfangen zu arbeiten (da ich die Gelegenheit dazu hatte), und es gibt Leute, die sagen, ich sollte mein Studium wirklich beenden. Ich habe mich aus ganz anderen Gründen entschlossen, mein Studium fortzusetzen, als es in einem der beiden Camps der Fall ist. Bitte ermutigen Sie mich in dieser Angelegenheit nicht auf die eine oder andere Weise. Betrachten Sie das Problem "geschlossen" :)
* DEEP BREATH * ... sorry das ist länger als ich erwartet hatte.
Dies ist im Wesentlichen meine Frage:
- Wie bestimme ich objektiv, welche Studienbereiche, allgemeinen Kenntnisse und sonstigen Fähigkeiten ich durch einen CS-Abschluss erlangt hätte, an denen es mir jetzt vielleicht mangelt oder nicht?
Wie sortiere ich diese Fähigkeiten in der Reihenfolge ihrer Wichtigkeit?
Was ist der beste Weg (in den nächsten zwei Jahren), meine Ausbildung zu ergänzen, um diese Eigenschaften so zu erreichen, dass sie mit dem Niveau eines CS-Studenten einer Spitzenuniversität übereinstimmen oder dieses sogar übertreffen?
Hier sind die Schritte, die ich bereits unternehme:
- Fragen Sie die Entwickler-Community (dieser Beitrag)
- Verfolgen Sie Patenschaften mit erfahrenen Entwicklern, die mit mir einen ähnlichen Karriereweg eingeschlagen haben
- Definieren Sie kurz- und langfristige Lernziele und die folgenden Lehrpläne, in denen die Studienthemen beschrieben werden
- Schreiben Sie weiterhin Code und arbeiten Sie an Projekten, für die ich eine Leidenschaft habe
Wenn du so weit gekommen bist, verdienst du einen Keks :) Ich weiß es zu schätzen, dass du mit mir trägst.
Also ... Entwicklergemeinschaft, erfahrene Entwickler, Kommilitonen, die mit mir im selben Boot sitzen, welchen Rat hätten Sie?
Also ... bitte beachte meine Haftungsausschlüsse oben in diesem Beitrag darüber, wonach ich NICHT frage.
Aktualisieren:
Mir ist klar, dass ich keine sehr konkreten Parameter für eine meiner Meinung nach erfolgreiche "Antwort" auf meine Frage (n) angegeben habe. Ich denke, die Frage ist sehr vage und könnte eine Reihe von "richtigen" Antworten rechtfertigen.
Nach einer angemessenen Zeitspanne werde ich die Antwort auswählen, die den folgenden Attributen entspricht:
- Erklärt das Warum hinter ihrer Antwort
- Kann aus einer gewissen Erfahrung sprechen (sei es Einstellung / Interaktion mit oder jemand sein, der in meinen Schuhen steht / steht)
- Ist prägnant, aber gründlich, gibt breite Prinzipien, vorzugsweise in Verbindung mit spezifischen Beispielen
- In Anbetracht der Länge, die für das oben Genannte erforderlich zu sein scheint, machen Sie es bitte zu einer gut kommunizierten Antwort, die angenehm zu lesen ist. Andere, die sich vielleicht in Zukunft dafür interessieren, würden hoffentlich von der Antwort unterhalten und erzogen.
Es gibt also einige Parameter für "richtig". Ich denke, sie sind sehr hoch, aber ich habe sie als eine Art Umriss für das entworfen, was ich mir als die "beste" Antwort vorstellen würde. Wenn ich genügend Zeit habe, wähle ich die am besten passende Antwort als "Antwort".
(1) - Ich habe an einer früheren Version dieser Website gearbeitet, und wir hatten keine explizite Englisch: www.mjfriendship.de/en/index.php?op...41&Itemid=32 Nach einem Gespräch hatte ich das Gefühl, dass ich überhaupt nicht in der Lage war (das kann sein) belegt durch die Tatsache, dass sie ihre Website seitdem komplett geändert haben) (2) - Erstens, ja, es ist ein echtes Produkt (obwohl ich diesen Beitrag in Chrome schreibe ...) und es tritt den Arsch. Zweitens war ich ein Entwicklerpraktikant in der High School im Test, schrieb der Beweis Konzeptcode für einige der neuen Funktionen für IE8 ... so war es vor einiger Zeit. (3) - Zum Zeitpunkt dieses Postings bin ich der Entwickler, der diese App geschrieben hat. Ich bin es nicht mehr verantwortlich für die Codebasis (4) - Mein Praktikum beginnt im Juni 2012 und ich werde im Web Store arbeiten Mannschaft.