Ich bin größtenteils Autodidakt. Tatsächlich habe ich nach der Hälfte meiner Ausbildung zum Biophysiker angefangen zu programmieren, und obwohl ich denke, dass ich ein paar nette Arbeiten geleistet habe, habe ich noch nie in einem "ernsthaften" Entwicklungsteam mit mehr als einem oder zwei Mitarbeitern gearbeitet andere Entwickler (und ich würde nicht zögern, sie als gleichermaßen unerfahren in der Softwareentwicklung als Beruf zu bezeichnen).
Nach meiner Promotion habe ich mich weiterhin auf das Programmieren konzentriert, offiziell als Postdoc, aber inoffiziell als Personalforschungsprogrammierer. In dieser Zeit hatte ich auch zwei Interviews bei Google, aber kein konkretes Angebot. So wie es ist, habe ich einige Wurzeln geschlagen und wäre wahrscheinlich sowieso nicht in der Lage gewesen, den Job anzunehmen. Haus + Frau w / sehr gut bezahlte Arbeit, etc. Es sind ungefähr drei Jahre vergangen, und meine ehrliche Einschätzung ist, dass ich eine Tonne mehr gelernt habe, aber ich brauche wirklich mehr Gleichaltrige, um mein Wachstum aufrechtzuerhalten oder zu beschleunigen. Das Problem ist, wann immer ich nachschaue, die meisten Stellenangebote haben Anforderungen, die unglaublich großartig erscheinen, und ich zögere, mich zu bewerben. Das oder der Job / das Projekt scheint unglaublich langweilig.
Ich vermute, dass entweder die meisten Leute viel weniger realistisch sind als ich, wenn es darum geht, zu beurteilen, wie lange es dauern wird, bis sie auf dem Laufenden sind, oder dass es ihnen egal ist; Ich befürchte, dass ich für jede interessante und gut bezahlte Entwicklerarbeit absolut unqualifiziert bin. IE: Ich bin zuversichtlich, dass ich mit ein paar Wochen Arbeit wieder vollständig in den C ++ - Modus wechseln kann (ich verwende meistens C, Python, C # täglich), aber ich liste mich in meinem Lebenslauf oder meiner Bewerbung nicht als "kompetent" in C ++ auf für Jobs, die dieses Wissen erfordern. Die wenigen Bewerbungen, für die ich mich als legitim gut befunden habe, haben keine Reaktion hervorgerufen.
Ich vermute, dass die folgenden Dinge potenzielle Probleme mit meiner Bewerbung / meinem Lebenslauf sind, und ich hätte gerne Feedback:
Ich habe keinen CS-Abschluss. Mein BS war in Biochemie und Molekularbiologie, mein PhD in Biophysik. Ich habe Algorithmus-Kurse für Studenten und Absolventen besucht und sie komplett beendet, aber ich weiß nicht, wie ich das effektiv in meinen Lebenslauf umsetzen kann (der Unterschied zwischen einem A + und dem Rauchen aller anderen in der Klasse).
Ich habe einen Doktortitel, aber es ist nicht in CS ... Ich habe darüber nachgedacht, ob ich ihn aus meinem Lebenslauf entfernen soll, und ob es dann irreführend wäre, zumindest einige dieser Jahre als irgendeine Art von "Programmierung" aufzuführen 'Job (in vielerlei Hinsicht war es).
Ich denke, es gibt manchmal starke Stigmen, die mit 'autodidaktischen' Programmierern verbunden sind. Ich bin sicherlich einer von denen. Ich erkenne sogar, dass einige dieser Narben einen Hinweis auf die Wahrheit enthalten, aber ich möchte wirklich eine Bereicherung für ein Team sein. Wie kommuniziere ich, dass ich, obwohl ich seit ~ 8 Jahren weitgehend selbstgesteuert bin, bei Bedarf immer noch Marschbefehle entgegennehmen kann? Sage ich es nur so direkt?
Soll ich den ganzen Prozess weniger genau betrachten? Anekdote: Ich habe einen Freund, der sich für Stellen beworben hat, bei denen er seine Qualifikationen völlig durcheinander gebracht hat, um die erste Keulung zu überwinden. Er war viel ehrlicher und offener in Bezug auf seine tatsächlichen Qualifikationen, als er kontaktiert wurde, und es gelang ihm dennoch, zu ein paar Interviews eingeladen zu werden und sogar einige Angebote zu erhalten. Seine Eier sind allerdings größer als meine.
quelle
Antworten:
Wie soll ich das sagen: Programmierer kommen ein Dutzend Mal, aber Programmierer mit biophysikalischer Erfahrung sind wahrscheinlich sehr selten. Wenn ich Sie wäre, würde ich zuerst versuchen, einen Job in Ihrem Bereich zu finden. Ein Job, bei dem die Programmierung Teil der Jobbeschreibung ist (oder der Teil der Jobbeschreibung ist). Auf diese Weise entwickeln Sie Fähigkeiten, die viel wettbewerbsfähiger und einzigartiger sind als das, was der durchschnittliche Entwickler hat, was Ihnen schließlich einen tollen Job bescheren könnte.
Wenn Sie Ihre Karriere planen, müssen Sie nicht nur auf das nächste Jahr oder so schauen, sondern auch langfristig über fünf bis zehn Jahre nachdenken. Wenn Sie Programmieren lieben, aber vielleicht keine formale Ausbildung dafür haben, müssen Sie Ihre anderen Fähigkeiten einsetzen, um den gewünschten Job zu finden.
quelle
Lerne zuerst, dich zu konzentrieren. Ernsthaft. Lange komplexe Hintergrundgeschichten müssen bearbeitet werden.
Auch ein beträchtlicher Teil der arbeitenden Programmierer. In großen IT-Shops gibt es eine ganze Reihe von Associate Degrees.
Nein. In der Industrie ist jeder Abschluss wichtig. Auch bei Einstiegsjobs, bei denen Sie Erfahrung sammeln können, z. B. im IT-Shop einer Versicherungsgesellschaft, treten Sie gegen Kinder mit Associates-Abschluss an.
Was? Die meisten IT-Mitarbeiter, mit denen ich zusammengearbeitet habe, sind Autodidakten, weil ihre Unternehmen zu billig sind, um Lehrkräfte für neue Technologien einzustellen.
Bewerben Sie sich einfach für jeden Programmierjob, den es gibt. Je mehr Sie sich bewerben, desto besser verstehen Sie, wonach sie suchen.
Ein großer IT-Shop in einer beliebigen Krankenkasse freut sich, jemanden zu haben, der einigermaßen schlau ist und die Technologie kennt, auch wenn er Autodidakt ist.
Da die meisten (mehr als die Hälfte) der arbeitenden Programmierer (a) keinen nützlichen Abschluss haben und (b) in einer oder mehreren der von ihnen erwarteten Technologien Autodidakt sind, sind Ihre Bedenken eine reine Verschwendung von Handarbeit.
Wenn Sie professioneller aussehen möchten, lesen Sie mehr Code. Beginnen Sie mit Open-Source-Projekten, die Sie interessieren, und überarbeiten Sie die Codebasis vollständig, damit Sie sehen können, was Best Practices sind.
Außerdem wird den meisten IT-Läden bei entsprechender Auswahl geraten, Mitarbeiter mit "Geschäftskenntnissen" anstelle von technologischen Kenntnissen einzustellen. Wenn Sie also in einem beliebigen Fach promoviert haben (im Ernst, Ihre Frage war so lang und unübersichtlich ...), dann konzentrieren Sie sich auf diese Branche.
quelle
Die Wahrheit ist, dass Sie wahrscheinlich einen dieser "unglaublich langweiligen" Jobs annehmen müssen, um einen Fuß in die Tür zu bekommen. Aber sobald Sie 6-12 Monate als Programmierer in Ihrem Lebenslauf haben, sollten Sie in der Lage sein, ziemlich schnell vorwärts und aufwärts zu gehen.
quelle
Ich bin der festen Überzeugung, dass Programmieren eine Kunst ist und eher aus der Praxis als aus Abschlüssen stammt.
Ja, es ist ziemlich entmutigend, dass besonders große Unternehmen (wie Google) autodidaktische Programmierer oft unterschätzen, weil sie keinen höheren Abschluss haben. Sie klingen wie eine Person mit starker Geduld und ich halte mich nicht für qualifiziert genug, um Sie zu beraten, aber ich möchte einige Punkte erwähnen, die Ihnen helfen könnten:
1. Versuchen Sie es in kleinen Organisationen, in denen sie Talente bevorzugen.
2. Open Source ist die Plattform, um Ihr Talent zu zeigen und echtes Entwicklungswissen zu erlangen.
3. Zertifizierungen: Es gibt verschiedene Programmierzertifizierungen, die von Riesen wie MS, Oracle usw. angeboten werden. Das Hinzufügen dieser Zertifizierungen in Ihrem Lebenslauf wird Ihrer Programmierseite sicherlich einen Vorteil verschaffen.
Viel Glück! :)
quelle
Ich habe auch als Postdoc gearbeitet. Wenn Sie können, nehmen Sie an Ihrer Universität an einigen CS-Kursen teil. Höchstwahrscheinlich können Sie den Kurs nicht offiziell belegen, da Sie kein zahlender Student sind. Sie können jedoch den Kursleiter und die TAs fragen, ob Sie am Kurs teilnehmen und die Projekte durchführen können. Sie werden Ihre Hausaufgaben nicht benotet bekommen, sondern gehen zu Bürozeiten und nutzen die Ressourcen.
Warum solltest du das tun? Es gibt Klassen, die man nicht alleine lernen kann, ohne einen guten Vortrag zu besuchen und interaktiv Fragen zu stellen. Ich würde vorschlagen, Unterricht zu nehmen für:
Das Sternchen * zeigt an, dass es sich normalerweise um programmierintensive Klassen handelt, sodass Sie insgesamt besser programmieren können.
quelle
Lockern! Unsere beliebtesten veröffentlichten Werke sind narrativ geschrieben. Wir beurteilen nicht nach akademischen Verdiensten oder deren Fehlen. Wir sind über die offenste und wahlloseste wissenschaftliche Gruppe da draußen. In der Lage zu sein, mit etwas Nützlichem beizutragen, ist alles, was wichtig ist.
Nehmen Sie @ Rangers Punkt # 2. Sie müssen sich nicht auf ein großes Open-Source-Projekt einlassen, wenn Sie nicht die Zeit haben. Sie könnten einfach eine kleine Bibliothek schreiben. Arbeitgeber lieben es, wenn Sie sich mit einem öffentlichen Repository an sie wenden, in dem sie einen Teil Ihrer Arbeit überprüfen können. Sie können sofort feststellen, dass Sie Richtlinien im Community-Stil befolgen, den Code anderer lesen und isolierten, packbaren Code schreiben können , verteilt und revisionssicher. Die meisten CS grad Studenten können , dass nicht einmal tun, so sprechen über Lücken in ihrem Wissen.
Am Ende steht Ihre Leidenschaft für die Programmierung. Wer oder was soll dich aufhalten?
quelle