it-swarm.dev

Bedeutung von Hobbyprojekten

Ich möchte wissen, wie wichtig es ist, in Ihrer Freizeit zu programmieren. Ist es notwendig, 9-5 als Programmierer zu arbeiten und dann nach Hause zu kommen und an Ihrem Hobby zu arbeiten, um ein besserer Programmierer zu werden?

Das heißt, ich weiß, dass Sie nur durch Programmieren besser programmieren können.

Berücksichtigen potenzielle Arbeitgeber die Hobbyprogrammierung in einem Interview oder fragen sie dies nur aus Neugier?

Ich fühle mich schuldig, kein Hobbyprojekt zu haben, aber alles, was ich mir vorstellen kann, wurde bereits getan. Ich habe also zwei Gedanken darüber, etwas zu beginnen, das bereits getan wurde, oder es zu belassen, bis ich etwas Originelles finde?

105

Ich fühle mich schuldig, kein Hobbyprojekt zu haben

Sich schuldig zu fühlen ist ein verrückter Grund, sich auf ein Programmierprojekt einzulassen. Wahrscheinlich auch ein guter Weg, um Programmierung zu hassen. Arbeite an etwas, weil du willst , nicht weil du denkst du bist soll .

aber alles, was ich mir vorstellen kann, wurde bereits getan.

Bah! Wen interessiert es, wenn es bereits erledigt ist? Mach es nochmal! Mach es besser! Oder akzeptieren Sie, dass Sie es möglicherweise nicht besser können und tun Sie es trotzdem. Wo wäre Microsoft, wenn sie sagen würden: "Nun, jemand hat bereits eine Datenbank/Tabelle/Textverarbeitung/Betriebssystem/IDE/Projektmanager/Geldmanager/C-basierte dynamische objektorientierte Sprache mit einfacher Vererbung/Webbrowser/Webserver erstellt/Musik-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 überbieten, aber wenn Sie ein einfaches kleines Videospiel schreiben, werden Sie auch viel lernen.

145
Caleb

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 den Unterschied bedeuten, wie schnell und effizient ich ein neues Projekt bei der Arbeit angehen kann, oder sogar den Unterschied, ob ich ein neues Projekt von einem Kunden abhole oder es verpasse, weil ich nicht genug über die Problemdomäne wusste.

Nur wenn Sie täglich 9-5 Grind machen, können Sie als Entwickler stagnieren, wenn Sie keine neuen Dinge oder Ideen einführen. Für mich ist das Durchführen von Hobbyprojekten ein Mittel, um mich zu einem besseren, intelligenteren und effizienteren Entwickler zu machen.

Potenzielle Interviewer berücksichtigen Hobbyprojekte

Nach meiner Erfahrung, wenn Sie ein Hobbyprojekt in einer verwandten Technologie durchgeführt haben, die Ihr Arbeitgeber derzeit verwendet oder "betrachtet". Sie erhalten ein großes 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, wo die Wettbewerbsbedingungen in Bezug auf die Technologieerfahrung ausgeglichen sind.

59
Justin Shield

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 in Schwierigkeiten zu geraten. Durch Hobby-Programmierung können Sie sich verzweigen und auf andere Technologien vorbereitet sein vorher Die Gelegenheit ergibt sich entweder in Ihrer aktuellen Position oder anderswo.

Es ist jedoch wichtig zu wissen, dass die Hobby-Programmierer nicht nur programmieren.

  • Sie lesen Blogs
  • Sie installieren Werkzeuge
  • Sie lesen den Quellcode
  • Sie debuggen Open Source-Programme
  • Sie senden Patches
  • Sie nehmen an StackExchange-Programmierseiten teil

Aber manchmal werden sie inspiriert, ein Programm zu schreiben, das ihren eigenen spezifischen Bedürfnissen entspricht. Das schuldige Vergnügen eines Programmierers, weil es genau die Funktionen hat, die sie wollen. Und dann werden sie müde und werfen es weg. Das ist der Luxus eines Hobbys!

41
Rick Sladkey

IMHO sind es nicht unbedingt Hobbyprojekte an sich, die dich besser machen (obwohl sie nicht sicher weh tun), sondern offen bleiben und Zeit damit verbringen, neue Dinge im Allgemeinen zu lernen. Wie @Rick bemerkte, kann es neben der eigentlichen Codierung viele verschiedene Formen annehmen. Sie können z. Lesen Sie Bücher - aber wenn Sie einen Laptop haben, sogar Code -, während Sie zur/von der Arbeit pendeln.

Beachten Sie auch, dass man muss unbedingt ein Gleichgewicht halten.

  • Wenn Sie keine (Ihrer Freizeit-) Zeit mit Lernen verbringen, werden Sie stagnieren und sich irgendwann völlig langweilen und Ihren Beruf nicht mehr annehmen können.
  • Wenn Sie zu viel Zeit mit Lernen verbringen, haben Sie keine Zeit für diese merkwürdige, aber wichtige Sache namens Leben. Auf lange Sicht können Sie also ausbrennen und/oder gesundheitliche Probleme bekommen.

Noch etwas: Es ist einfach, an Hobbyprojekten zu arbeiten, wenn man jung und ledig ist. In späteren Phasen können Sie eine Familie gründen, und das wird Ihnen den größten Teil Ihrer Freizeit für viele Jahre ersparen (zumindest, wenn Sie es gut machen wollen - und worum geht es sonst?). Sie werden also gezwungen sein, Ihre Zeit effizienter zu verwalten, um wertvolle Zeit für das Lernen zu sparen.

26
Péter Török

Mach Nebenprojekte! Betrachten Sie es nicht als etwas Neues ins Web zu bringen, sondern als Übung Ihrer Fähigkeiten, als 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 selbst für den Fall, dass dies keine spektakulären Ideen waren, aber ihre Autoren zeigten sich begeistert - es war immer ein großer Profi.

10
jkulak

Die Programmierer, die ich treffe und die es schwer haben, mit neuen Technologien auf dem Laufenden zu bleiben, sind die Leute, die es als Job behandeln. Ihre Kollegen - diejenigen, die mit den neuen Sachen Schritt halten, sind diejenigen, die Dinge zu Hause machen.

7
Tangurena

Sie sagen, dass alles, was Sie sich vorstellen können, bereits erledigt wurde, aber funktioniert jedes von Ihnen verwendete Tool so, wie Sie es möchten? Ich stelle häufig fest, dass Werkzeuge fast, aber nicht ganz alles tun, was ich will, und meine Hobbyprojekte entstehen aus dem Versuch, die Lücke zu schließen. Es gelingt mir nicht immer, aber ich versuche es gerne und als Endbenutzer habe ich keine Probleme mit Motivation oder technischen Daten

6
David Sykes

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, erhöht dies nicht unbedingt Ihr Interesse daran, es kann durchaus den gegenteiligen Effekt haben. Persönlich habe ich 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 Ihr Arbeitgeber Ihnen keinen Raum gibt, um neue Dinge bei der Arbeit zu testen, zu lernen und sich kontinuierlich zu verbessern, sollten Sie wahrscheinlich nach einem neuen Job suchen, anstatt diese Dinge in Ihrer Freizeit zu tun. 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 sie während des Interviews als Referenz zur Sprache zu bringen.

Aber wenn Sie Erfahrung haben, sind sie weniger relevant: Während sie eine Leidenschaft für Ihr Handwerk anzeigen, können sie gleichzeitig anzeigen, dass Sie ein bisschen ein Nerd sind. Aus meiner persönlichen Erfahrung kann ich keinen Zusammenhang zwischen Hobbyprojekten und guten/schlechten Kandidaten finden. Ich denke nicht, dass sie besonders relevant sind, es sei denn, Sie sind frisch von der Schule und bewerben sich für Ihren ersten Job.

4
user29079

Ich beschäftige mich mehr mit Quizfragen und ähnlichen kleinen Codestücken als mit voll skalierten Projekten (versuche jedoch, an einigen OSS-Projekten zu arbeiten, wenn ich Zeit habe). Für mich gibt es also nicht viele Gründe zu sagen, dass ich keine gute Idee für ein Projekt habe. Schreiben Sie einfach einen Sudoku-Löser und versuchen Sie, 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 Ihrem Job ab. Wenn dies bereits sehr anspruchsvoll ist, können Sie alle Schulungen erhalten, die Sie benötigen. Andernfalls bringt Ihnen die Auswahl des richtigen Projekts (oder des zu lösenden Quiz) eine Menge neuer Dinge bei und hält Sie mit einem breiten Fachgebiet in Kontakt, das viele Jobs nicht bieten, da Sie häufig nur eine kleine Anzahl von Aufgaben verwenden können Tools für eine klar definierte Domain.

Und ja, einige Unternehmen sind ernsthaft an Ihren Projekten interessiert. Wenn nichts anderes, bieten sie Ihnen ausreichend Gelegenheit, während eines Interviews über etwas zu sprechen, das Sie sehr gut kennen.

3

Hobbyprojekte selbst werden in den meisten Interviews nicht von Bedeutung sein. Es gibt ein paar Leute da draußen, die sich dafür interessieren, dass Sie als Hobby programmieren, aber die meisten nicht. Fähigkeiten, die Sie aus der Hobby-Programmierung erwerben, können jedoch in einem Interview wichtig sein!

Zusätzliche Programmierung nebenbei wird definitiv von Vorteil sein, bis Sie ausbrennen ... Aber auch über das Burnout-Problem 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! Balance... :-)

3
Brian Knoblauch

Zum einen denke ich, dass Hobbyprojekte wichtig sind, weil Sie sonst stagnieren und den Spaß verlieren werden.

Mein Vorschlag, ein neues Hobbyprojekt zu finden:

Lernen Sie eine neue Programmiersprache für Ihr Hobbyprojekt. Z.B. Ein gutes Ziel ist es, zu versuchen, eine neue Sprache pro Jahr zu lernen (es wird viel einfacher, je mehr Sie wissen).

Am besten wäre einer, der Ihnen total komisch erscheint. Denn je fremder es für dich aussieht, desto mehr erweitert es deinen Horizont.

Wenn Sie auch viele Sprachen mit unterschiedlicher Syntax kennen, können Sie sich darauf konzentrieren, dass die Syntax beim Programmieren wichtig ist. 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? Mustervergleichssprachen?

Um kleine Projekte zu finden, an denen gearbeitet werden kann Project Euler ist sehr zu empfehlen.

3

Andere haben viel behandelt, aber ich möchte mich auf diesen Teil konzentrieren:

Ich fühle mich schuldig, kein Hobbyprojekt zu haben, aber alles, was ich mir vorstellen kann, wurde bereits getan. Ich habe also zwei Gedanken darüber, etwas zu beginnen, das bereits getan wurde, oder es zu belassen, bis ich etwas Originelles finde?

Es scheint mir, dass dies den Sinn eines "Hobbyprojekts" verfehlt. Es ist sicher richtig, dass viele Hobbyprojekte für andere oder zumindest für den öffentlichen Konsum erstellt wurden - diese Projekte erfordern im Laufe der Zeit ein gewisses Maß an konsequenter Arbeit und können aus diesem Grund entmutigend sein. Wer möchte schon noch ein anderes unterunterstütztes, minderwertiges Etwas machen, das letztendlich nach ein paar Monaten 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 wirklich einfach ist, sich einzurichten. Ich habe auch gerade angefangen, die Redcode Assembler-Sprache zu lernen, die im Programmierspiel verwendet wird Core War , wieder aus Neugier.

Dies hat mich wiederum dazu veranlasst, Erstellen eines Notepad ++ - Plugins zu untersuchen, um bessere Funktionen zur Hervorhebung der Syntax für Redcode bereitzustellen, was mich dazu veranlasst hat, Lernen a Bit von C++ . Aufgrund meiner vergleichenden Vertrautheit mit .NET denke ich jetzt darüber nach, mich mit Visual C++ einzurichten.

Und die Sache ist, nichts davon ist wirklich "wichtig", zumindest nicht als Projekt. Zur Hölle, ich bin mir nicht sicher, ob man es überhaupt ein Projekt per se nennen kann, so viel wie ein paar Sachen, mit denen ich mich herumärgere, weil es meine Aufmerksamkeit erregt hat. Ich meine, du brauchst ein wenig Zeit und Organisation, um sicherzustellen, dass du tatsächlich etwas davon bekommst, aber es wird niemanden interessieren, wenn ich nach Schulbeginn keine Zeit mehr für Haskell habe.

Und es wird niemanden interessieren, ob sich herausstellt, dass die Plugin-Entwicklung für Notepad ++ schwieriger ist als erwartet, und ich gebe auf - tatsächlich habe ich mich mit Perl befasst, bevor ich mich mit Redcode befasst habe, und ich habe es ziemlich schnell aufgegeben, weil ich Schwierigkeiten hatte, das zu bekommen Umgebung richtig eingerichtet. Hat dies einen Mangel an Ausdauer gezeigt? Ja. Aber niemand kümmert sich darum, denn es ist mein Hobby , und das bedeutet, dass ich mit allem spielen kann, worauf ich Lust habe.

Sie müssen sich also nicht für ein Hobbyprojekt entscheiden, das Ihnen marktfähige Fähigkeiten vermittelt - das macht Ihre Freizeit einfach zu unbezahlterer Arbeitszeit. Die Fähigkeiten kommen als Ergebnis von dem, was Sie tun, aber sie sind nicht der Grund . Ich verstehe die deklarative Programmierung jetzt besser und wie Assemblersprachen funktionieren und wie Programme DLLs verwenden. Und ich habe eine Menge Dinge über die Windows-Eingabeaufforderung gelernt, und andere Dinge, von denen Sie nicht gedacht hätten, dass sie mit irgendetwas verbunden sind, das 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 großartig ist und wenn nicht, fahren Sie fort. Haben Sie jemals die geringste Neugier auf Compiler oder Interpreten gehabt? Schauen Sie sich [~ # ~] lolcode [~ # ~] an. Wenn es dich so glücklich macht wie mich, dann ist es Zeit zu beginnen lernen über Compiler . Und hey, vielleicht sollten Sie zurückgehen und noch einmal über das Hervorheben der Syntax 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 ausmacht, ist, dass wenn Sie es betrachten, Sie denken "Spaß!"

Ich bin ein Amateur-Webentwickler ohne College-Ausbildung, der (noch) an meinem persönlichen Projekt arbeitet. 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 anekdotischen Beweise 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.

2

Ich bin an Interviews und Einstellungen in meinem Geschäft beteiligt. Ein 'Hobbyprojekt' ist für uns immer ein Plus.

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 Ihrem persönlichen Projekt. 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 auf gute Weise in Erinnerung bleiben.

0
Jim In Texas

Diese Projekte sind ein Muss für einen ernsthaften Programmierer, insbesondere wenn Sie als Freiberufler arbeiten.

Anstatt 6 Tage die Woche und 1 Tag Pause zu arbeiten, können Sie 5 Tage die Woche, 1 Tag zum Testen neuer Theorien und Funktionen und 1 Tag Pause arbeiten.

Es mag scheinen, dass der Testtag Zeitverschwendung ist, aber Sie werden seine Vorteile erkennen, wenn Sie eine neue Funktion in Ihrer Programmiersprache implementieren, die Sie bereits an einem dieser Tage getestet haben.

0
deviDave

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 meinen Arbeitsprojekten schwierige und frustrierende Probleme hatte.

2) Es gibt mir die Möglichkeit, meine Programmierkenntnisse zu erweitern und zu schärfen, da ich frei bin, alles zu erstellen, was ich will.

Trotzdem denke ich, dass es auch wichtig ist, dies mit einigen Nicht-Computer-Hobbys auszugleichen. Für mich ist es die Erhaltung des Baches und der Wege hinter meinem Haus.

0
CodeMouse92

Eine Haustieranwendung ist eine großartige Möglichkeit, sich dazu zu zwingen, Teile Ihrer aktuellen Plattform zu lernen, an die Sie möglicherweise nicht gedacht haben. Beispielsweise könnten Sie ein großartiger C # -Entwickler sein, der bei der Arbeit an einer ASP.Net-Anwendung arbeitet. Aber wenn Sie 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, in dem Sie der einzige Entwickler sind.

Schauen Sie sich diese post an, um einen guten Überblick über alle Vorteile von Haustieranwendungen zu erhalten.

0
epotter