Ich möchte wissen, wie wichtig es ist, in Ihrer Freizeit zu programmieren? Müssen Sie als Programmierer mit 9-5 arbeiten und dann nach Hause gehen und an Ihrem Hobby arbeiten, um ein besserer Programmierer zu werden?
Das heißt, ich weiß, dass Sie nur besser programmieren können, wenn Sie programmieren.
Berücksichtigen angehende Arbeitgeber die Hobby-Programmierung in einem Interview oder fragen sie dies nur aus Neugier?
Ich fühle mich schuldig, weil ich kein Hobbyprojekt habe, aber alles, was mir einfällt, ist bereits getan. Also habe ich zwei Meinungen, beginne etwas, was bereits getan wurde, oder lasse ich es, bis ich etwas Originelles finde?
Antworten:
Schuldgefühle sind ein verrückter Grund, sich auf ein Programmierprojekt einzulassen. Wahrscheinlich auch ein guter Einstieg, um das Programmieren zu hassen. Arbeite an etwas, weil du willst , nicht weil du denkst, dass du es sollst .
Bah! Wen kümmert es, wenn es schon erledigt ist? Mach es nochmal! Mach es besser! Oder akzeptieren Sie, dass Sie möglicherweise nicht in der Lage sind, es besser zu machen und es trotzdem zu tun. Wo würde Microsoft sein, wenn sie sagten: "Nun, jemand hat bereits eine Datenbank / eine Tabelle / ein Textverarbeitungsprogramm / ein Betriebssystem / eine IDE / einen Projektmanager / einen Geldmanager / einen C-basierten dynamischen objektorientierten Sprach- / Webbrowser / einen Webserver mit einfacher Vererbung erstellt / music player / mobile plattform / suchmaschine, also suchen wir nach etwas anderem ... "?
Im Ernst, wenn Sie einen Webserver schreiben, wird er Apache wahrscheinlich nicht übertreffen, aber Sie werden auf jeden Fall wertvolle Lektionen dabei lernen. Es ist unwahrscheinlich, dass Sie Angry Birds übertreffen, aber das Schreiben eines einfachen kleinen Videospiels wird Ihnen auch viel beibringen.
quelle
Ich denke, Hobbyprojekte sind wichtig
Ich benutze Hobbyprojekte, um Theorien, Designpraktiken und neue Frameworks zu testen, die ich in meinem 9-5 nicht machen kann. dh funktionale Programmierung, Algorithmen, Entwurfsmuster, neue Frameworks, neue Sprachen usw.
Dies kann bedeuten, wie schnell und effizient ich ein neues Projekt bei der Arbeit angehen kann, oder auch, dass ich ein neues Projekt von einem Kunden abholen oder verpassen muss, weil ich nicht genug über die Problemdomäne wusste.
Nur wenn Sie Ihren 9-5-Alltag meistern, können Sie als Entwickler stagnieren, wenn Sie keine neuen Dinge oder Ideen einführen. Hobbyprojekte sind für mich ein Mittel zum Zweck, mich zu einem besseren, intelligenteren und effizienteren Entwickler zu machen.
Potenzielle Interviewer berücksichtigen Hobbyprojekte
Nach meiner Erfahrung haben Sie ein Hobbyprojekt in einer verwandten Technologie durchgeführt, die Ihr Arbeitgeber derzeit verwendet oder verwendet. Sie erhalten ein Bonus-Lob, wenn Sie sich bereits mit der betreffenden Technologie vertraut gemacht haben. Dies gilt insbesondere für neue Technologien, die gerade erst den Mainstream erreicht haben und deren Wettbewerbsbedingungen hinsichtlich der Technologieerfahrung ausgewogen sind.
quelle
Das Problem mit Ihrem aktuellen Job ist, dass Sie wahrscheinlich nur eine begrenzte Anzahl von Fähigkeiten benötigen, um Ihre Jobfunktion auszuführen. Die Welt des Programmierens ist so groß, dass es leicht ist, Jahr für Jahr ins Stocken zu geraten. Durch die Hobby-Programmierung können Sie sich verzweigen und für andere Technologien bereit sein, bevor sich die Gelegenheit ergibt, entweder in Ihrer aktuellen Position oder anderswo.
Es ist jedoch wichtig zu wissen, dass die Hobby-Programmierer nicht nur programmieren.
Manchmal werden sie jedoch dazu inspiriert, ein Programm zu schreiben, das ihren eigenen Bedürfnissen entspricht. Das Vergnügen eines Programmierers, weil er genau die Funktionen hat, die er möchte. Und dann werden sie müde und werfen es weg. Das ist der Luxus eines Hobby!
quelle
IMHO sind es nicht unbedingt Hobbyprojekte an sich, die dich besser machen (obwohl sie nicht sicher schaden), aber offen bleiben und Zeit damit verbringen, neue Dinge im Allgemeinen zu lernen. Wie @Rick bemerkte, kann es viele verschiedene Formen annehmen, abgesehen von der eigentlichen Codierung. Sie können zB Bücher lesen - aber wenn Sie einen Laptop haben, sogar Code -, während Sie zur / von der Arbeit pendeln.
Beachten Sie auch, dass man unbedingt ein Gleichgewicht halten muss .
Eine weitere Sache: Es ist einfach, an Hobbyprojekten zu arbeiten, während man jung und ledig ist. In späteren Stadien können Sie eine Familie gründen, und das wird den größten Teil Ihrer Freizeit für viele Jahre einschränken (zumindest, wenn Sie es gut machen wollen - und was ist der Sinn sonst?). Sie müssen also Ihre Zeit effizienter verwalten, um wertvolle Zeit für das Lernen zu sparen.
quelle
Mach Nebenprojekte! Denken Sie nicht daran, etwas Neues ins Web zu bringen, sondern üben Sie Ihre Fähigkeiten, Ihre Sandbox zum Lernen / Beherrschen von Technologien und Ansätzen.
Als Arbeitgeber habe ich meine potenziellen Mitarbeiter immer gefragt, ob sie interessante Nebenprojekte durchführen. Und auch wenn das keine spektakulären Ideen waren, aber ihre Autoren zeigten sich begeistert - es war immer ein großer Profi.
quelle
Die Programmierer, die ich treffe und die es schwer haben, mit neuen Technologien auf dem Laufenden zu bleiben, sind die, die das als Job behandeln. Ihre Kollegen - diejenigen, die mit den neuen Dingen Schritt halten, sind diejenigen, die Dinge zu Hause machen.
quelle
Sie sagen, dass alles, woran Sie denken können, bereits erledigt ist. Funktioniert jedoch jedes von Ihnen verwendete Tool so, wie Sie es möchten? Ich stelle häufig fest, dass Werkzeuge fast alles können, was ich will, und meine Hobbyprojekte entstehen, wenn ich versuche, die Lücke zu füllen. Es gelingt mir nicht immer, aber es macht mir Spaß, es zu versuchen, und als Endbenutzer habe ich keine Probleme mit der Motivation oder den technischen Daten
quelle
Wenn Sie wirklich das Interesse und die Energie für diese Projekte haben, tun Sie sie auf jeden Fall. Aber ich würde nicht so weit gehen zu sagen, dass es ein Muss für jeden ernsthaften Programmierer ist. Wenn Sie Vollzeit mit dem Programmieren arbeiten und dies auch in Ihrer Freizeit tun, wird dies Ihr Interesse nicht unbedingt erhöhen, es kann durchaus den gegenteiligen Effekt haben. Persönlich habe ich früher Hobbyprojekte gemacht, aber ich habe aufgehört. Ich habe bereits 5 Tage die Woche programmiert und es schien mir gesünder, in meiner Freizeit etwas ganz anderes zu machen.
Wenn Ihnen Ihr Arbeitgeber keinen Raum gibt, um neue Dinge bei der Arbeit auszuprobieren, zu studieren und sich kontinuierlich zu verbessern, sollten Sie sich wahrscheinlich nach einem neuen Job umsehen, anstatt diese Dinge in Ihrer Freizeit zu erledigen. Ein guter Arbeitgeber wird erkennen, dass es in seinem eigenen Interesse liegt, Ihre Fähigkeiten auf den neuesten Stand zu bringen, zu verbessern und zu erweitern.
Aus Sicht des Arbeitgebers (ich bin einer von denen) sind Hobbyprojekte ein Verdienst, wenn Sie keine tatsächliche Berufserfahrung haben. Alle Hobby- und Schulprojekte werden dann sehr wichtig sein, um als Referenz während des Interviews zur Sprache zu kommen.
Aber wenn Sie Erfahrung haben, sind sie weniger relevant: Während sie auf eine Leidenschaft für Ihr Handwerk hinweisen, können sie gleichzeitig darauf hinweisen, dass Sie ein bisschen wie ein Nerd sind. Aufgrund meiner persönlichen Erfahrung kann ich keine Verbindung zwischen Hobbyprojekten und guten / schlechten Kandidaten finden. Ich denke nicht, dass sie besonders relevant sind, es sei denn, Sie haben gerade Ihren ersten Job in der Schule beantragt.
quelle
Ich beschäftige mich mehr mit Quizfragen und ähnlichen kleinen Codestücken als mit skalierten Projekten (versuche jedoch, an einigen OSS-Projekten zu arbeiten, wenn ich Zeit habe). Daher gibt es für mich nicht viele Gründe zu sagen, dass ich keine großartige Idee für ein Projekt habe. Schreiben Sie einfach einen Sudoku-Löser und versuchen Sie, so etwas wie Dancing Links zu implementieren, um es schneller zu machen.
Wie wichtig sie für Sie sind, um ein besserer Entwickler zu werden, hängt möglicherweise von Ihrer Arbeit ab. Wenn dies bereits sehr anstrengend ist, können Sie alle Schulungen erhalten, die Sie benötigen. Andernfalls können Sie durch die Auswahl des richtigen Projekts (oder Quiz) jede Menge neuer Dinge lernen und bleiben in Kontakt mit einem breiten Fachgebiet, das viele Jobs nicht bieten, da Sie häufig nur eine kleine Auswahl an Aufgaben benötigen Tools für einen klar definierten Bereich.
Und ja, einige Unternehmen sind ernsthaft an Ihren Projekten interessiert. Sie bieten Ihnen nicht zuletzt die Gelegenheit, während eines Interviews über etwas zu sprechen, das Sie sehr gut kennen.
quelle
Hobbyprojekte selbst werden in den meisten Interviews keine Rolle spielen. Es gibt ein paar Leute da draußen, die sich dafür interessieren, dass Sie als Hobby programmieren, aber die meisten tun das nicht. JEDOCH können Fähigkeiten, die Sie von der Hobbyprogrammierung erlangen, in einem Interview wichtig sein!
Zusätzliches Programmieren nebenbei ist definitiv von Vorteil für die Programmierung, bis zu dem Punkt, an dem Sie ausbrennen ... Aber auch über das Problem des Ausbrennens hinaus müssen Sie berücksichtigen, dass Arbeitgeber häufig nach anderen Fähigkeiten suchen, die über das Programmieren hinausgehen. Wenn Sie rund um die Uhr programmieren, entwickeln Sie diese ANDEREN Fähigkeiten nicht weiter! Balance... :-)
quelle
Zum einen halte ich Hobbyprojekte für wichtig, weil man sonst stagniert und den Spaß verliert.
Mein Vorschlag, ein neues Hobbyprojekt zu finden:
Lerne eine neue Programmiersprache für dein Hobbyprojekt. Ein gutes Ziel ist es beispielsweise, eine neue Sprache pro Jahr zu lernen (es wird umso einfacher, je mehr Sie wissen).
Am besten wäre eine, die Ihnen komisch vorkommt. Denn je fremder es für dich aussieht, desto mehr wird es deinen Horizont erweitern.
Wenn Sie auch viele Sprachen mit unterschiedlicher Syntax kennen, wird der Schwerpunkt beim Programmieren auf die Syntax gelegt . Es ist nur eine sequentielle Darstellung von Syntaxbäumen und nicht sehr wichtig. Dies verbessert Ihren Fokus auf die Semantik, die in der Praxis viel nützlicher ist.
Haben Sie eine funktionierende Programmiersprache ausprobiert? Haben Sie verteilte Programmiersprachen ausprobiert? Pattern Matching Sprachen?
Für die Suche nach kleinen Projekten ist die Arbeit an Project Euler sehr zu empfehlen.
quelle
Ich bin ein Amateur-Webentwickler ohne College-Ausbildung und arbeite (noch) an meinem eigenen persönlichen Projekt. Ich wurde vor ein paar Wochen zu meinem ersten Interview für einen Programmierjob eingeladen, weil ich an meinem eigenen persönlichen Projekt arbeitete.
Unter Berücksichtigung dieser Anekdoten war die Arbeit an meinem persönlichen "Hobby" -Projekt das Beste, was ich getan habe, um meine Karriere in der Entwicklung voranzutreiben ... nachdem ich mich am College eingeschrieben hatte.
Also, ja, Interviewer berücksichtigen sicherlich Ihre persönlichen Projekte, sonst hätten sie sich nicht einmal die Mühe gemacht, mit mir zu sprechen.
quelle
Andere haben viel behandelt, aber ich möchte mich auf diesen Teil konzentrieren:
Es scheint mir, dass dies den Sinn eines "Hobbyprojekts" verfehlt. Es ist sicher richtig, dass viele Hobbyprojekte für andere geschaffen wurden oder zumindest für den öffentlichen Konsum - diese Projekte erfordern im Laufe der Zeit ein gewisses Maß an konsistenter Arbeit und können aus diesem Grund entmutigend sein. Wer will schon noch ein unterversorgtes, minderwertiges Etwas machen, das nach ein paar Monaten endgültig aufgegeben wird?
Aber es gibt keinen Grund, warum Ihr Hobbyprojekt irgendetwas Nützliches für irgendjemanden tun muss. Zum Beispiel habe ich kürzlich angefangen, Haskell zu lernen , nur weil es sich so drastisch von den imperativen Sprachen unterscheidet, die ich gewohnt bin, und es ist wirklich einfach, es einzurichten. Ich habe auch gerade aus Neugier angefangen, die Redcode- Assembler-Sprache zu lernen, die im Programmierspiel Core War verwendet wird.
Dies wiederum hat mich veranlasst , ein Notepad ++ - Plugin zu erstellen , um bessere Syntax-Hervorhebungsfunktionen für Redcode bereitzustellen, was mich dazu veranlasste , ein bisschen C ++ zu lernen . Aufgrund meiner vergleichenden Vertrautheit mit .NET denke ich jetzt darüber nach, mich mit Visual C ++ vertraut zu machen .
Und die Sache ist, nichts davon ist wirklich "wichtig", zumindest nicht als Projekt. Verdammt, ich bin nicht sicher , dass Sie es zu einem Projekt nennen konnten per se , so viel wie ein paar Sachen , die ich bin Art von Messing mit , weil es meine Aufmerksamkeit erregte. Ich meine, müssen Sie sich ein wenig Zeit und Organisation sicherstellen , dass Sie tatsächlich bekommen etwas davon, aber niemand kümmert , wenn ich einmal die Schule beginnt Zeit für Haskell stoppen zu müssen.
Und es wird niemanden interessieren, ob sich herausstellt, dass die Plugin-Entwicklung für Notepad ++ schwieriger ist als erwartet, und ich gebe auf - in der Tat habe ich mich mit Perl befasst, bevor ich mich mit Redcode befasst habe Umgebung richtig eingerichtet. Hat dies einen Mangel an Ausdauer gezeigt? Ja. Aber das interessiert niemanden, denn es ist mein Hobby , und das bedeutet, dass ich mit allem spielen kann, worauf ich Lust habe.
Sie müssen sich also kein Hobbyprojekt aussuchen, das Ihnen vermarktbare Fähigkeiten beibringt - das macht Ihre Freizeit zu mehr unbezahlter Arbeitszeit. Die Fähigkeiten kommen als ergeben sich aus dem, was Sie tun, aber sie sind nicht der Grund . Ich verstehe deklaratives Programmieren jetzt besser und wie Assemblersprachen funktionieren und wie Programme DLLs verwenden. Und ich habe einiges über die Windows-Eingabeaufforderung gelernt, und andere Dinge, von denen Sie nicht gedacht hätten, dass sie mit etwas zusammenhängen, was ich bisher erwähnt habe.
Der Punkt ist, etwas völlig Neues zu finden und zu sehen, ob es so interessant ist, wie es scheint. Wenn es gut ist und wenn nicht, mach weiter. Haben Sie schon einmal die geringste Neugier auf Compiler oder Dolmetscher gehabt? Schauen Sie sich LOLCODE an . Wenn es Sie genauso glücklich macht wie mich, dann ist es Zeit, sich über Compiler zu informieren . Und hey, vielleicht sollten Sie noch einmal über die Syntaxhervorhebung nachdenken. In der Tat wird dies wahrscheinlich das nächste Projekt sein, das ich starte.
Wenn das nicht dein Ding ist, probiere etwas niedrigeres als du es gewohnt bist. Oder auf höherer Ebene. Es spielt keine Rolle. Das einzige , was tut Sache ist , dass , wenn man es betrachtet, Sie denken , „Fun!“
quelle
Diese Projekte sind ein Muss für einen ernsthaften Programmierer, besonders wenn Sie als Freiberufler arbeiten.
Anstatt 6 Tage in der Woche und 1 Tag Pause zu machen, können Sie 5 Tage in der Woche und 1 Tag arbeiten, um neue Theorien und Funktionen zu testen und 1 Tag Pause zu machen.
Es mag so aussehen, als wäre der Testtag eine Zeitverschwendung, aber Sie werden seine Vorteile erkennen, wenn Sie eine neue Funktion in Ihre Programmiersprache implementieren, die Sie bereits an einem dieser Tage getestet haben.
quelle
Ich bin an Interviews beteiligt und stelle in meinem Geschäft ein. Ein "Hobbyprojekt" ist für uns immer ein Pluspunkt.
Ein mehr oder weniger abgeschlossenes persönliches Projekt zeigt, dass es Ihnen wirklich Spaß macht, Software zu erstellen, und dass Sie motiviert sind, neue Dinge zu lernen und Ihre Fähigkeiten zu verbessern.
Wenn Sie in einem Interview einen wirklich positiven Eindruck hinterlassen möchten, bringen Sie einen Laptop mit. Zeigen Sie es dem Interviewer, erzählen Sie ihm von den Herausforderungen, denen Sie beim Erstellen begegnet sind, und lassen Sie ihn Ihren Code sehen. Sagen Sie ihnen im Voraus, wo die Ecken und Kanten sind und wie Ihre zukünftigen Pläne für das Projekt aussehen könnten.
Sie werden in guter Erinnerung bleiben.
quelle
Ich finde, dass das Programmieren in meiner Freizeit zwei Zwecken dient:
1) Es ermöglicht mir, etwas persönlich Belohnendes zu erreichen, ohne die Einschränkungen von Arbeitsprojekten. Dies ist besonders wichtig, wenn ich mit schwierigen und frustrierenden Problemen bei meinen Arbeitsprojekten zu tun habe.
2) Es gibt mir die Möglichkeit, meine Programmierkenntnisse zu erweitern und zu schärfen, da ich frei bin, alles zu erstellen, was ich möchte.
Trotzdem halte ich es auch für wichtig, dies mit einigen Hobbys, die nicht mit Computern zu tun haben, in Einklang zu bringen. Für mich ist es, den Bach und die Wege hinter meinem Haus zu pflegen.
quelle
Ein Haustier-Antrag ist eine großartige Möglichkeit, sich dazu zu zwingen, Teile Ihrer aktuellen Plattform zu lernen, über die Sie möglicherweise nicht nachgedacht haben. Beispielsweise könnten Sie ein großartiger C # -Entwickler sein, der an einer ASP.Net-Anwendung arbeitet. Wenn Sie jedoch einen Mitarbeiter in Ihrem Team haben, der sich mit CSS befasst, werden Sie es möglicherweise nie richtig lernen. Wenn Sie jedoch ein Haustier-Webprojekt haben, müssen Sie lernen, wie man CSS macht. Dies gilt für eine ganze Reihe von Technologien, auf die Sie stoßen werden, wenn Sie ein eigenes Projekt haben, bei dem Sie der einzige Entwickler sind.
In diesem Beitrag erfahren Sie alles über die Vorteile von Anwendungen für Haustiere .
quelle