In meiner Freizeit programmiere ich nicht. Macht mich das zu einem schlechten Entwickler?


387

Viele Blogs und Ratschläge im Internet scheinen darauf hinzudeuten, dass es nicht ausreicht, nur einen Tagesjob zu erledigen, um ein großartiger Entwickler zu werden. Zum Beispiel sollten Sie in Ihrer Freizeit zu Open-Source-Projekten beitragen, Smartphone-Apps schreiben usw. In der Tat scheint ein Großteil dieser Ratschläge darauf hinzudeuten, dass Sie, wenn Sie nicht genug programmieren, um es den ganzen Tag lang zu tun, sind wahrscheinlich in der falschen Karriere.

Das klingt bei mir nicht richtig. Ich genieße meine Arbeit, aber wenn ich aus dem Büro nach Hause komme, bin ich nicht in der Stimmung, direkt wieder auf den Computer zu springen und erst vor dem Schlafengehen mit dem Programmieren zu beginnen. Ich habe jeden Tag nur eine bestimmte Anzahl von Stunden Freizeit, und ich verbringe sie lieber mit anderen Hobbys, sehe Freunde oder gehe nach draußen als vor dem Computer.

Ich habe Spaß am Programmieren und gehe gelegentlich auch mal außerhalb der Arbeit herum. Ich fühle mich meiner persönlichen Entwicklung verpflichtet und verbringe viel Zeit damit, technische Blogs und Bücher zu lesen, um weiter zu lernen und besser zu werden. Das reicht aber nicht so weit, dass ich meine gesamte Freizeit für das Codieren nutzen möchte.

Heißt das, ich bin im Herzen kein "echter" Softwareentwickler? Ist es möglich, ein guter Softwareentwickler zu werden, ohne zusätzliche Aufgaben außerhalb Ihres Jobs zu übernehmen? Es würde mich sehr interessieren, was Sie denken.

Update: Vielen Dank für Ihre Kommentare und Antworten. Viele gute Gedanken und Ratschläge!


133
Ich denke, das macht dich nur normaler, du hast wahrscheinlich mehr Verbindung zu dem, was wir Geeks "echtes Leben" nennen. Schätzen Sie das.
Orbling

146
@Orbling Über was für ein "echtes Leben" sprichst du? Ist es ähnlich wie WoW? Läuft es auf einem 64-Bit-Betriebssystem?
biziclop

18
@biziclop - Es ist wie WOW mit besserer Grafik und viel langweiligerem Gameplay.
ChaosPandion

39
@ChaosPandion: Quests saugen R / L ein, langweilig und die Beute ist definitiv nicht episch.
Orbling

4
Aus Effizienzgründen empfehle ich, mit neuen Dingen zu experimentieren und an persönlichen Projekten zu arbeiten, wenn Sie arbeiten sollen. Auf diese Weise haben Sie immer noch Ihre begrenzte Freizeit. :-)
Carson63000

Antworten:


446

IMO kommt diese Einstellung von Leuten, die schreckliche, seelenverachtende Jobs haben, kombiniert mit pissarmen Zeitmanagementfähigkeiten. Wenn Sie im Grunde genommen den ganzen Tag über Webformulare tippen, sollten Sie sich einen anspruchsvolleren Job suchen oder einen eigenen starten.

Hier ist das Ding. Ein Konzertmusiker (Cellist / Pianist / was auch immer) übt höchstens 6 Stunden pro Tag. Die meisten üben nur ein paar Stunden pro Tag. auf höchstem niveau

Die Leute sagen mehr programmieren, weil man mehr lernt, aber das ist eine Nebelwand. 8 Stunden pro Tag sind genug .

Der Fortschritt ist NICHT linear. Es ist logarithmisch:

Bildbeschreibung hier eingeben

Der einzige Grund, warum ein Musiker länger als 3 Stunden üben kann, ist, dass er die zusätzlichen 1% herauspressen muss, die diese Stunden ihm geben. Wenn Sie der Meinung sind, dass dies auf Sie zutrifft und Sie ein vor zwei Jahrzehnten gelöstes Problem erneut lösen, dann haben Sie einen Primadonna-Komplex zu starten.

Ich habe zuvor in Schnellkochtopfunternehmen gearbeitet und vertraue mir, dass die tatsächliche Menge an Arbeit, die diese Leute erledigen, nicht besser ist als eine Firma wie 37signals, die die Menge an Arbeit einschränkt : http://37signals.com / svn / posts / 996-warum-ich-liebe-mit-familien-menschen-zu-arbeiten

Was am Ende passiert, ist, dass Sie vielleicht 10-12 Stunden vor einem Computer stehen und weitere 2 Stunden im Büro sind, aber das 90-minütige Mittagessen, das Sie eingenommen haben, und die 2 Stunden, die Sie beim Stöbern in den Diskussionen verbracht haben, sind nicht enthalten In den Foren und in der Pause mussten Sie eines der vielen Spiele spielen, die im Büro angeboten wurden (Tischfußball, Billard, Yada ...).

Schauen Sie sich das Diagramm noch einmal an. Nun zurück zu mir.

Ihr Verstand hat tatsächlich die Möglichkeit, viel mehr zu erweitern , wenn Sie sich auf eine andere Aktivität einlassen : Lernen Sie, ein Instrument zu spielen . Lerne eine Fremdsprache . Besser noch raus und etwas Bewegung bekommen, und mit echten Menschen zu verbinden .

Zur logarithmischen Natur der Produktivität:

In der renommierten Studie von 1993 über junge Geiger stellte der Performanceforscher Anders Ericsson fest, dass die besten Geiger alle auf die gleiche Weise trainierten: Morgens in drei Schritten von jeweils nicht mehr als 90 Minuten mit einer Pause zwischen den beiden. Ericcson fand das gleiche Muster unter anderen Musikern, Sportlern, Schachspielern und Schriftstellern.

Für echte Produktivität ist weniger wirklich mehr

Dies ist in der Geschäftswelt eigentlich ein bekanntes Prinzip. Ich bin überrascht, dass mehr Programmierer noch nichts davon gehört haben.

Update: Mehr zur Ericsson-Studie.

Die ganze Vorstellung davon, dass es 10.000 Stunden / 10 Jahre dauert, bis man sich darin zurechtfindet, stammt aus den Studien von Ericsson, nicht von Malcom Gladwell.

Wie wir alle wissen, können Sie 1 Jahr Erfahrung 10-mal wiederholen lassen. Was ist zu qualifizieren ist , was Ericsson nennt bewusste Praxis .

Er hat festgestellt, dass dieses Prinzip in den Bereichen Leichtathletik, Musik, Schreiben, Schach und Mathematik Gültigkeit hat. Er definiert bewusstes Üben als so mühsam, dass selbst auf höchster Ebene nur etwa 4 Stunden pro Tag geleistet werden können . Andernfalls leiden Sie unter Übertraining oder Burnout. Wieder erkennt er, dass es für absichtliches Üben, bis zu etwa 4 Stunden , eine abnehmende Rendite gibt .

Zum Thema, keinen guten / herausfordernden Job zu haben:

Hogwash. Entweder bekommt einen besseren Job oder hier eine Idee: Machen Sie Ihren aktuellen Job zu etwas , es ist nicht , auf jetzt dest.

Einer der besten Programmierer, von dem ich wusste, dass er eine Stelle als Wartungsprogrammierer auf einem Legacy-System antrat, das aus Dutzenden von Programmen und Hunderttausenden von Codezeilen bestand. Die meisten davon waren im Laufe der Jahre so oft gehackt worden, dass man sagen musste, dass es kein zusammenhängendes Design mehr gab.

Dies war so ziemlich eine Sackgasse. Das Management wollte, dass Sie den Kopf gesenkt halten und nur die verdammten Fehler beheben. Die guten Entwickler arbeiteten am Greenfield-Projekt. Die Leute kamen entweder hierher, um die verbleibenden Tage bis zu ihrer Pensionierung zu verbringen, oder um ein paar Jahre Erfahrung zu sammeln, bevor sie mit der Entwicklung neuer Anwendungen begannen. Während sich die meisten Programmierer über die mangelnde Karriereentwicklung oder die Möglichkeit beschweren würden, neue Dinge zu lernen oder keine aufregenden Projekte zu haben, an denen sie arbeiten könnten , oder sich im Allgemeinen nur über niemanden beschweren würden, der sie befähigt , setzte sich dieser Typ einfach hin und machte sich an die Arbeit die Arbeit, die erledigt werden musste.

Und im Laufe von 2 Jahren hatte er dieses System von einem fehlerhaften Spaghetti-Code in etwas verwandelt, das etwas Schönes war und wie eine Schweizer Uhr funktionierte. Die Umgestaltung war so vollständig, dass der Vizepräsident der Abteilung dem bestehenden Projekt mehr und mehr Aufmerksamkeit schenkte und anfing, den Wert des Greenfield-Projekts in Frage zu stellen. Obwohl er keinen Titel hatte, gingen die Einsatzleute zu ihm als de facto Führer der Gruppe. Als ich ging, sprach der Vizepräsident davon, eine neue Rolle für ihn als Systemarchitekt zu schaffen ...

Ich bin mir nicht sicher, was danach mit ihm passiert ist, aber er hat mir ein paar sehr wichtige Lektionen beigebracht:

  1. Dein Job ist das, was du machst, und es gibt überall interessante Probleme, die gelöst werden müssen . Wenn Sie CRUD-Bildschirme nicht schreiben möchten, beheben Sie das Problem, indem Sie sie automatisch generieren.

  2. Sitzen Sie nicht herum und warten Sie auf Gelegenheiten, zu Ihnen zu kommen. Die Chancen stehen gut, dass sie es nie werden.


Kommentatoren : Kommentare dienen der Klarstellung und nicht der ausführlichen Diskussion. Wenn Sie eine Lösung haben, hinterlassen Sie eine Antwort. Wenn Ihre Lösung bereits veröffentlicht wurde, stimmen Sie sie bitte ab. Wenn Sie diese Frage mit anderen diskutieren möchten, verwenden Sie bitte den Chat . Weitere Informationen finden Sie in den FAQ .

30
Diese und viele andere Antworten betonen die Programmierung viel zu sehr als "Üben". Um den Musikervergleich fortzusetzen, glauben Sie es oder nicht, aber sie spielen tatsächlich auch zum Vergnügen. Was Interviewer suchen, die jemanden suchen, der in ihrer Freizeit programmiert, ist nicht jemand, der das ständige Bedürfnis hat, die ganze Zeit zu üben. Sie suchen jemanden, der leidenschaftlich ist und wirklich Spaß daran hat, was sie tun. Wenn Sie eine Leidenschaft für Ihren Beruf haben, machen Sie ihn oft auch zu einem Hobby, und es ist schwierig, davon wegzukommen. Es ist nicht anders als jedes andere Hobby.

7
Das Beispiel des Musikers ist nicht wirklich gut. Wenn ein Musiker ein hohes Können erreicht, wenn er die ganze Theorie gelernt hat, wenn er Songs mit geschlossenen Augen zusammensetzen kann, wenn er über 9000 Instrumente gleichzeitig spielen kann, hat er nichts mehr zu tun. Der Programmierer oder Computeringenieur muss das ganze Leben über neue Technologien lernen. Es gibt immer etwas Neues zu lernen. Auf die Frage zu antworten, ist ein Typ, der den ganzen Tag programmiert und kein soziales Leben hat, weitaus besser als ein Typ, der in seiner Freizeit nicht programmiert.

2
@ GabrielLlamas Die Musiktheorien sind grundlegende Dinge wie Grundlagen von Algorithmen, verteiltem Rechnen und Betriebssystemen, die wir am College lernen. Diese Grundlagen ändern nicht viel an Überstunden. In ungefähr 20 Jahren hatten wir bereits das Modell von Client und Server, und jetzt haben wir immer noch das Modell von Client und Server. Die Grundlagen von Client und Server gelten also immer noch, es sind nur die Dinge auf hoher Ebene, die sich schnell ändern. Sie können sich verschiedene Instrumente als verschiedene Technologien wie HTML, Javascript vorstellen. Aber wenn Sie in der Lage sind, die Grundlagen anzuwenden, werden die Dinge ähnlich sein.
David Gao

1
Ein weiteres Beispiel ist, dass das Erlernen von c ++ nicht schwierig ist, wenn Sie erst einmal wissen, wie man in c programmiert. Ich erinnere mich, dass ich die Programmierfragen meines Mitbewohners mit Schema gelöst habe, ohne ein Schema zu kennen. Das Programm zu lernen war überhaupt nicht schwer für mich, weil ich auf hohem Niveau weiß, was eine funktionierende Sprache war.
David Gao

150

In dieser Nachricht ist mehr versteckt.

Viele begeisterte Programmierer erforschen gerne Dinge, experimentieren, folgen ihren Ideen, so lernen und erlernen wir unsere Fähigkeiten und Visionen.

Normalerweise können Sie Ihren Interessen während der Arbeitszeit nicht folgen. Sie tun einfach Dinge, die Sie tun sollen, und das war's. Nur wenige von uns haben das Glück, bei der Arbeit das zu tun, was wir persönlich tun würden, selbst wenn wir nicht bezahlt würden.

Wenn Sie also keine zusätzlichen Maßnahmen ergreifen, können Sie Ihr Potenzial nicht ausschöpfen. Und genau das ist das Problem.


2
Wow, das ist eine große Erleichterung, da ich manchmal das Gefühl habe, dass ich daran interessiert bin, etwas über andere Aspekte des Programmierens zu lernen, aber durch die Arbeit fühlt sich einfach alles wie ein Grind an.
Melas

3
Wahr. Eine Sache, die Sie beachten sollten, sind alle Erfindungsvereinbarungen, die Sie möglicherweise während der Aufnahme unterzeichnet haben. Diese haben wir nicht genutzt, aber ich hatte eine mündliche Vereinbarung mit meinen Programmierern: Wenn es außerhalb der Arbeitszeiten ist und nicht direkt mit der Firma konkurriert, dann haben Sie eine gute Zeit. Es machte mir nicht einmal etwas aus, wenn sie Firmenausrüstung benutzten, obwohl allgemein vereinbart wurde, dass es "sauberer" sei, sie zu Hause zu lassen.
Peter Rowell

3
Es ist in Ordnung, Ihre Neugier außerhalb der Stunden zu verfolgen. Das könnte daran liegen, wie Sie die nächste Windows-Version über Nacht automatisch in Ihrem gesamten Unternehmen bereitstellen können (Mwah hah hah). Oder es könnte Fotografie, Bierbrauen oder Rudern sein. Externe Interessen machen Sie zu einer runderen Person. Es muss nicht mit Ihrer täglichen Arbeit zusammenhängen.
quick_now

5
-1 Wie andere in anderen Antworten und Kommentaren angemerkt haben, bedeutet dies, dass Sie einen guten, lustigen und herausfordernden Job nicht realistisch bekommen können. Nach meiner persönlichen Erfahrung stimmt das nicht. In den meisten meiner bisherigen Berufe habe ich viel Neues gelernt. IMHO ist es eine Frage der persönlichen Einstellung mindestens so viel wie die der Unternehmenskultur.
Péter Török

26
Wenn Sie gerne programmieren und keinen Spaß an Ihrem Job haben, sollten Sie Ihre Freizeit damit verbringen, nach einem besseren Job zu suchen.
Nikie

70

Es macht Sie nicht zu einem schlechten Entwickler, aber leider müssen Sie immer noch mit denen konkurrieren, die es tun.

Lesen Sie dies aus Seth Godins Blog :


Unvernünftig

Es ist unvernünftig, an einem Schneetag, an dem die Schule abgesagt wurde, das Bett zu verlassen und die Ausfallzeit in sechs Stunden Arbeit für ein zusätzliches Physiklabor umzuwandeln.

Es ist nicht zumutbar, ein Technologieprodukt auf den Markt zu bringen, das die Entwicklungskurve um neun Monate springt und die nächste Generation viel früher herausbringt als vernünftigere Wettbewerber.

Es ist für eine Spedition unvernünftig, beim ersten Klingeln das Telefon anzunehmen.

Es ist unvernünftig, ein neues Unternehmen zu gründen, ohne die Sicherheit zu haben, die das Geld bringen kann.

Es ist unvernünftig, von einer Arztpraxis ein angenehmes und hilfsbereites Personal an der Rezeption zu erwarten.

Es ist unvernünftig, sich von einem guten Auftritt in der heutigen Wirtschaft zu verabschieden, selbst wenn Sie etwas Mutiges und Originelles tun möchten.

Für die Lehrer ist es unvernünftig zu erwarten, dass wir benachteiligten Kindern in der Innenstadt ermöglichen, in der High School gute Leistungen zu erbringen.

Angesichts des Drucks, unter dem Sie stehen, ist es unvernünftig, Ihren Kollegen und Wettbewerbern Respekt zu zollen.

Es ist unvernünftig zu erwarten, dass jemand anderes als eine großartige Frau, jemand mit Tatendrang und Vorteilen, in einer Welt, in der das Deck gegen gewöhnliche Leute gestapelt ist, alles Wichtige tun kann.

Es ist unvernünftig, Jahre Ihres Lebens damit zu verbringen, ein Produkt herzustellen, das die meisten Menschen niemals schätzen werden.

Zum Glück ist die Welt voller unvernünftiger Menschen. Leider müssen Sie mit ihnen konkurrieren.


13
Ja, es ist auch unvernünftig, 8 Stunden am Tag zu arbeiten und dann nach Hause zu gehen, um noch mehr zu arbeiten. Für wen arbeitest du? Und warum? Sie müssen diese Fragen beantworten (wer zahlt? Warum? Um was zu bekommen?). Wenn Sie am Ende eines Tages geistig erschöpft sind, ist das Beste, was Sie für sich tun können - etwas anderes!
quick_now

37
Sie gehen davon aus, dass Entwickler bei der Arbeit nicht herausgefordert werden und keine Freude an ihrer Arbeit haben. Es ist nicht wahr. Die Leute, die nur bei der Arbeit programmieren, programmieren nicht zu Hause, weil sie bereits voll zufrieden sind
Niemand

8
-1 weil a) die Zitate nicht direkt mit dieser Frage zusammenhängen, b) IMO (die meisten) sind diese Dinge überhaupt nicht unvernünftig. Viele vernünftige Leute können sowohl langfristig als auch kurzfristig denken. OTOH Die meisten von uns haben Erfahrung darin, nette (und falsche) rationale Erklärungen für unsere Faulheit / Inkompetenz / Nachlässigkeit zu erfinden :-(
Péter Török

13
-1 Es ist unvernünftig, viele vernünftige Dinge als unvernünftig zu bezeichnen. Es fügt der Frage nichts hinzu und klingt einfach in Ordnung, meistens wie viele Dinge, die Seth Godin schreibt.
Vitor Py

5
"Es ist unvernünftig, von einer Arztpraxis ein angenehmes und hilfsbereites Personal an der Rezeption zu erwarten." Nein, ist es nicht. Was nicht zumutbar ist, ist, dass die Ärzte das, was sie tun, in Rechnung stellen und uns dann unhöflichem Büropersonal, langen Wartezeiten in ihren Bürowarteräumen und persönlichem Respektlosigkeit aussetzen.
GreenMatt

57

Zur Beantwortung der Frage gestellt: Nicht in Ihrer Freizeit Programmierung nicht Sie einen schlechten Entwickler machen, aber die Programmierung in Ihrer Freizeit können Sie einen besseren Entwickler machen.

In Ihrer Freizeit zu programmieren schadet sicherlich nicht Ihren Fähigkeiten, aber Sie sollten sich nicht verpflichtet fühlen, dies zu tun. Das Programmieren scheint ein relativ einzigartiges Gebiet zu sein, da es für viele Menschen sowohl ihr Beruf als auch ihr Hobby ist, und sie genießen es, in ihrer Freizeit zu programmieren.


8
Das Programmieren ist nicht einzigartig, da es sowohl eine Karriere als auch ein Hobby ist. Ein paar Beispiele: Ich wusste einmal, dass mehrere Piloten von Fluggesellschaften ihre eigenen kleinen Flugzeuge haben, die sie zum Spaß fliegen. Ich kenne professionelle Astronomen, die nebenbei starren.
GreenMatt

4
Mit " relativ einzigartig" meinte ich, dass es eines von wenigen ist, aber sicherlich nicht das einzige. Ich kenne viel mehr Leute, die zwar Spaß an ihrer Arbeit haben, aber keine Zeit damit verbringen würden, wenn sie nicht bezahlt würden. Es ist oft schwierig, einen Job dazu zu bringen, das zu tun, worüber Sie leidenschaftlich sind.
Shortkaik

1: Technologie, Sprachen und Techniken ändern sich so häufig und so schnell. Programmierer müssen einige Zeit neben der Uhr verbringen, um ihr Handwerk zu verbessern. // Verwandte Frage: Würden Sie sich mit einem PCP wohlfühlen, der keine medizinischen Fachzeitschriften gelesen hat?
Jim G.

Ich denke, diese Antwort fasst die Situation am besten zusammen. Aber es hängt ganz von der eigenen Situation ab. Wenn Ihr Job alle Ihre Programmieranforderungen erfüllt, um sich auf dem neuesten Stand der Technik zu halten usw., müssen Sie viel weniger in Ihrer Freizeit arbeiten. Wenn Ihre Arbeit jedoch mit älteren Technologien relativ einfach ist, sollten Sie einige Zeit darauf verwenden, Ihre Fähigkeiten und Kenntnisse in Ihrer Freizeit zu verbessern.
Nellius

@shortkaik "Programmieren in deiner Freizeit kann dich zu einem besseren Entwickler machen" - Das stimmt nicht immer. Wenn Sie bei Ihrer Arbeit gefordert sind und auch zu Hause programmieren, trägt dies mehr zu Ihrer Erschöpfung und Ihrem Burnout bei als zu Ihren Fähigkeiten. Dies kann auch Ihre Produktivität bei der Arbeit beeinträchtigen. Wenn Sie andererseits nicht zufrieden sind mit dem, was Ihre Arbeit Ihnen bietet (und was Sie von Ihnen verlangt), kann eine zusätzliche Codierung nach der Arbeit eine gute Entscheidung sein.

23

Nein, das macht dich nicht zu einem schlechten Programmierer. Je nachdem, was Sie tun, können Sie auf lange Sicht ein besserer Programmierer sein. Zu Beginn Ihrer Karriere kann dies Einfluss darauf haben, wie schnell Sie die verschiedenen Fähigkeiten erlernen, die Sie benötigen. Möglicherweise sammeln Sie jedoch Fähigkeiten und Informationen, die langfristig hilfreich sind. Bewegung würde auch nicht schaden.

Es gibt eine ganze Reihe von Recherchen, die einen Leistungsüberblick über 40 Arbeitswochen zeigen. Während wir für längere Zeit produzieren können, verlieren wir auf lange Sicht an Effizienz. Die Forschung, die ich gesehen habe, zeigt, dass Menschen, die 80 Wochen arbeiten, ungefähr so ​​produktiv sind wie diejenigen, die 40 Stunden pro Woche arbeiten.

Es gibt ein paar Dinge, über die Sie sich außerhalb oder außerhalb der Geschäftszeiten Gedanken machen können, um eine bessere Leistung zu erzielen:

  • Was machen Sie? Schaffst du es besser? Müssen Sie es tun?
  • Was lernst du? Was musst du lernen?
  • Auf welche Probleme stoßen Sie? Wer ist am besten, um sie zu lösen? Was kannst du tun?

Programmieren als Hobby bedeutet nicht, nach Geschäftsschluss zu arbeiten - das ist definitiv nicht skalierbar. Das Programmieren eines Spiels auf dem iPhone in ObjC als Hobby kann jedoch Ihre Fähigkeiten und die Produktivität bei der Arbeit verbessern (wenn die Arbeit z. B. darin besteht, Finanz-Apps in Java EE zu schreiben).
Heiko Rupp

@Heiko Stimmt, aber es gibt viele andere Fähigkeiten als das Programmieren, die Sie zu einem besseren Programmierer machen können. Ein guter Entwickler hat neben der Programmierung auch viele andere Fähigkeiten.
BillThor

Natürlich :) Ich bezog mich besonders auf die "maximale Produktivität bei 40h" - was sich anhörte, als ob Sie 5h Hobbyprogrammierung machen, Sie können nur 35h bei der Arbeit machen. Was ich nicht für richtig halte
Heiko Rupp

1
@Heiko Ist die Arbeit ausreichend anders als du vielleicht in der Lage bist beides zu tun. In den ersten Jahren nach meinem Abschluss habe ich regelmäßig mehr als 40 Stunden pro Woche absolviert, dabei aber eine Vielzahl von Fähigkeiten angewendet. Viel gelernt und schien die Performance-Mauer nicht zu erreichen. Zum Glück hatte ich einen Freund, der mich irgendwann abends aus dem Büro schleppte. Bei einem anderen Projekt ging ich um 14 Uhr nach Hause, als mir klar wurde, dass ich seit 10 Uhr nichts mehr erreicht hatte. Immer noch die 4 Stunden in Rechnung gestellt.
BillThor

15

Ist es möglich, ein guter Softwareentwickler zu werden, ohne zusätzliche Aufgaben außerhalb Ihres Jobs zu übernehmen?

Bestimmt.

Es kann länger dauern, als wenn Sie zusätzliche Stunden damit verbringen, Ihre Fähigkeiten zu verbessern. Ich fand es auch schwierig, genügend Zeit für die Selbstverbesserung aufzuwenden, wenn ich Vollzeit angestellt bin und außerhalb der Arbeitszeit wenig programmiere.

Als ich jünger war, habe ich in viel mehr Zeit in das Lernen , als ich es jetzt tun. Die Konzepte, die ich tagtäglich verwende, sind an dieser Stelle tief verwurzelt, und es scheint einfacher, mit dieser Erfahrung zusätzliches Wissen zu erlangen.

"Gute" Programmierer scheinen mehr in die Verlängerung zu investieren, weil sie von Natur aus besessen sind, sich für das asoziale Ende des Spektrums interessieren und wirklich Spaß am Programmieren haben und den gesamten Problemlösungszyklus genießen.


13

Im großen Schema der Dinge geht es darum, das richtige Gleichgewicht im Leben zu finden.

Wichtig ist, ob Sie Spaß am Programmieren haben und ob Sie weiterlernen, egal auf welchem ​​Niveau Sie sich befinden. Ob Sie außerhalb der Arbeit programmieren oder nicht, macht Sie nicht automatisch zu einem "guten" oder "schlechten" Programmierer.

Um eine persönliche Perspektive zu geben, ich programmiere seit ungefähr 25 Jahren (zuerst als Kind, dann beruflich). Ich liebe es total.

Allerdings programmiere ich fast nie außerhalb der Arbeit. Das hat mit mehreren Dingen zu tun:

  • Ich bin sehr glücklich, dass ich bei der Arbeit jeden Tag den ganzen Tag das tun kann, was ich liebe.
  • Ganz einfach, es gibt andere Dinge im Leben und es gibt nur so viele Stunden am Tag.

-1: Ja, es gibt andere Dinge im Leben, aber das beantwortet die Frage nicht. du versuchst nur, dich davon zu überzeugen, dass du den besten Weg wählst.
Jim G.

9

Sie können ein guter Programmierer werden, der nur während der Arbeit programmiert, besonders wenn Sie Ihre Karriere gut managen. Die größten Programmierer programmieren jedoch auch außerhalb der Geschäftszeiten. Allerdings ist eine Person, die gute Jobs mit vielen Lernmöglichkeiten auswählt, ihre Arbeitszeit gut nutzt und so weiter, ein besserer Programmierer als jemand, der zu Hause programmiert, weil er keine Jobs findet, die interessante Herausforderungen bieten Arbeitstag.

Während das Codieren zu Hause wertvoll ist, würde ich sagen, dass die Maximierung des Werts Ihres Arbeitsumfelds (durch Lernen von Mitarbeitern, Auswahl guter Jobs, aggressive Verwaltung Ihrer Karriere) oft noch wertvoller ist. Die besten Programmierer machen beides und haben eine große Einstellung zum Lernen und Mentoring anderer.


"Die größten Programmierer programmieren jedoch auch außerhalb der Geschäftszeiten." Sie haben keinerlei Beweise dafür.
Djechlin

7

Die eigentliche Frage ist, ob ein neuer Entwickler genug programmiert (um genügend Probleme zu lösen), um ein paar hunderttausend Zeilen Übungscode durchzuarbeiten und ein anständiger Programmierer zu werden.

Dies kann theoretisch bei der Arbeit oder in Ihrer Freizeit oder in beidem geschehen. Übung muss etwas selbstgesteuert sein, damit Sie lernen, was Sie lernen müssen. Das bedeutet, dass die Arbeit etwas flexibel ist.

Häufig sind Einsteigerjobs eine Menge Fehlerbehebungen oder andere Arbeiten, die Ihnen nicht beibringen, gut zu sein. Was Sie tun müssen, ist, viel Code von Grund auf neu zu schreiben, und dieser Code wird wahrscheinlich schlecht sein. Es ist schwer für Arbeitgeber, dafür zu bezahlen. Das ist der Grund, warum Leute ein Open-Source-Projekt nebenher machen oder ein Startup gründen oder was auch immer.

Wenn die Leute sagen, dass Sie in Ihrer Freizeit programmieren müssen, bedeutet dies meiner Meinung nach, dass Sie jahrelange sinnvolle Übungen frühzeitig absolvieren müssen. Sie müssen alles tun, um die Übung zu erlernen und zu lernen, eine große Codebasis von Grund auf neu zu schreiben und zu pflegen. Wenn Sie niemand dafür bezahlt, eine wahrscheinlich katastrophale Reihe von Projekten von Grund auf neu zu schreiben, ist Freizeit die einzige Option.

Wenn Sie die Übung schon in jungen Jahren gemacht haben und ein guter Programmierer geworden sind, werden Sie wahrscheinlich nicht die Grundkenntnisse verlieren, wenn Sie sie später von 9 zu 5 halten. Später geht es eher darum, mit neuen Technologien Schritt zu halten, die nicht so zeitaufwändig sind.

Es ist jedoch ein seltener Einstiegsjob, bei dem Sie die Quantität und Qualität der Übung von sich aus erhalten, um in erster Linie ein guter Programmierer zu werden. Ein neuer Entwickler muss die Initiative ergreifen, um zu lernen und nicht nur Einsteigeraufgaben zu erledigen.

Es wäre wirklich schwierig, von Grund auf ein guter Programmierer zu werden, wenn Sie bereits eine Familie hätten und viel Wert auf die Vereinbarkeit von Beruf und Familie legen. So wie es wirklich schwierig wäre, Arzt zu werden, ein virtuoser Musiker zu werden oder irgendetwas anderes in dieser Situation. Es gibt einen Grund, warum Menschen dazu neigen, Tausende von Übungsstunden zu absolvieren, wenn sie jünger sind, als wenn sie älter sind.


5

Wenn ich in den nächsten sechs Monaten Zeit damit verbringen würde, ein Grundspiel in meiner Freizeit zu entwickeln, und Sie dies nicht tun, und wenn alle anderen Dinge gleich sind (sie sind es nie), wer von uns würde mehr wissen? Wer von uns hätte mehr Fähigkeiten und Erfahrung?

Dieser Effekt wäre kumulativ, da früheres außerbetriebliches Wissen in neue Arbeit und neues außerbetriebliches Wissen einfließen würde.

Und deshalb raten die Leute, in ihrer Freizeit zu programmieren, soweit ich das beurteilen kann.


5

Zwischen gut und schlecht liegen viele Ebenen dazwischen. Sie können kein großartiger Entwickler werden, wenn Sie nur ungefähr 8 Stunden am Tag damit arbeiten und möglicherweise Probleme in einem sehr begrenzten Bereich bearbeiten.

Wenn Ihr Job abwechslungsreich genug ist, können Sie "anständig" oder "erfolgreich" werden oder was auch immer Sie bevorzugen, aber um ein großartiger Entwickler zu sein, müssten Sie ein bisschen mental sein, fürchte ich.

Ein weiterer Grund für das Hobby-Programmieren ist, dass Sie in einem Job häufig suboptimale Standards einhalten und im Allgemeinen Kompromisse eingehen müssen. Auch wenn Sie etwas Neues lernen, dürfen Sie es möglicherweise nicht verwenden.

Und noch prosaischer ist, dass der Code, den Sie bei der Arbeit schreiben, Ihrem Arbeitgeber gehört. Sie können nicht darauf zurückkommen und Jahre später aus Ihren alten Fehlern lernen, wenn Sie für jemand anderen arbeiten.


5

Es dauert 10.000 Stunden, um Experte zu werden. [Michael Gladwell, "Ausreißer"]

Wenn Sie also zusätzliche Arbeit leisten, bevor Sie diese Stufe erreichen, werden Sie auf dem Weg zum echten Expertenstatus schneller.

Sobald Sie über dieses Niveau hinaus sind, werden Sie durch mehr Zeitaufwand nur geringe / abnehmende Renditen erzielen.


3
Aber was ist ein "Ding" in irgendetwas? Ist "Programmieren" ein einzelnes "Ding" oder sind es die Dinge "Haskell", "Lisp", "Java", "Python" usw.? Oder "funktionale Programmierung", "GUI-Programmierung", "Low-Level-Programmierung" usw.? An sich sagt uns das nichts.
André Paramés

4

Sie sollten es nicht als "Macht es mich zu einem schlechten Programmierer" ansehen, denn wie jede Fähigkeit macht mehr Übung nur eine besser.

Wenn Sie also besser sein wollen als Sie es derzeit sind und neue Technologien und Bereiche erlernen möchten, die Ihre Arbeit nicht zulässt, ist dies der Punkt, an dem sich der zusätzliche Aufwand und die aufgewendete Zeit als nützlich erweisen.

Ein zusätzlicher Zeitaufwand für das Codieren (nur um jemandem zu beweisen, dass Sie zusätzlich codieren) bedeutet nicht zwangsläufig, dass Sie ein guter Programmierer sind, es sei denn, Sie lernen, was Sie tun, und tun etwas anderes oder verbessern das, was Sie bereits wissen, anstatt es blind auszuschneiden / zu kopieren / einzufügen und Hacks zusammenstellen. Ich denke, es wird Ihnen helfen, sich zu verbessern, wenn Sie zusätzliche Stunden aufwenden und das Gleiche in keiner Weise immer wieder tun.


Ich denke, der Sinn des OP ist, dass einige Programmierer die Idee verbreiten, dass man ein schlechter Programmierer ist, wenn man nicht außerhalb der Arbeit programmiert. Ich hatte mich verirrt, wie oft ich hier und anderswo Posts auf SO gesehen habe, in denen jemand sagt, dass er beim Befragen eines potenziellen neuen Mitarbeiters fragt, welche Nebenprojekte der Befragte durchführt und ob die Antwort "Keine" lautet ", dann wird der Befragte nicht als leidenschaftlich genug für das Programmieren angesehen, da dies für den Job nicht in Betracht gezogen wird.
GreenMatt

+1 - Es nützt nicht viel, wenn Sie nur das tun, was Sie bereits auf der Arbeit tun.
Dunk

Nur alleine zu üben macht dich nicht besser, du musst die richtigen Dinge tun, um schlechte Gewohnheiten noch mehr zu verwurzeln und noch schlimmer zu werden.
HLGEM

4

Während des Tages ist Ihre Programmierung Kurzwetten. Es gibt Geld zu verdienen, Sie wissen genau, wie viel und wofür und Sie haben nicht viel mehr zu verdienen als einen Gehaltsscheck.

Nachts arbeiten Sie an langen Einsätzen - verrückten Ideen, die hauptsächlich überhaupt nicht funktionieren. Dies sind die Projekte, die Sie aus der Masse heraus katapultieren. So werden Sie zum Erfinder von PHP und nicht zum Code-Affen, der es verwendet.

Ich interviewe viele Programmierer, und ob sie interessante merkwürdige Dinge außerhalb der Arbeitszeit gemacht haben, ist sofort grünes Licht. Es ist überraschend selten.

Obwohl ich das sagen werde: Es gab ein Mal, dass ein Typ, der viele coole Sachen außerhalb der Arbeitszeit gemacht hat, sich als totaler Idiot eines Mieters herausstellte. Ich bin immer noch verblüfft von diesem Kerl.


3

Es hängt wirklich von Ihrem Herzen ab, ein guter Softwareentwickler zu sein. Sie können versuchen, ein großartiger Musiker zu sein und viel Zeit für die Musik zu investieren, aber das macht Sie trotzdem nicht zu einem guten Musiker. Sie müssen genießen, was Sie tun, um darin gut zu sein. Anfangs hatte ich die gleichen Fragen wie Sie hatte, aber jetzt wegen meiner Vorlieben habe ich angefangen, die zusätzlichen Dinge auf Software anders als die normale Arbeit zu tun. Es hat meine Leistung in der normalen Arbeit verbessert und mir auch viel Zeit gegeben, mich in andere Tätigkeiten zu involvieren, die nicht mit Software zusammenhängen. Die Grundlinie ist also, genießen Sie, was Sie tun, und Sie werden schließlich tun, was erforderlich ist.


3

Die eigentliche Frage ist, was Sie den ganzen Tag tun. Die Analogien zu Sportlern und Musikern werden in der Regel nicht richtig angewendet. Ihr Tagesjob ist keine Übung, sondern Leistung, es sei denn, Sie haben ausdrücklich die Möglichkeit, einen Teil Ihres Arbeitstages in echter "Übung" zu verbringen. Woher weißt du das? Wenn Sie nie die Zeit haben, etwas "Richtiges" zu tun oder eine neue Sprache / Technologie / Framework / usw. gründlich zu lernen, dann üben Sie nicht, sondern spielen. Profisportler und Musiker werden während des Spiels oder des Konzerts nicht besser, sie werden während des konzentrierten Trainings besser. Also, wenn Sie wie die meisten sind, ist die einzige Zeit, die Sie für echte "Codierungsübungen" haben, außerhalb der Arbeit. Das heißt, es lohnt sich nur, wenn es konzentriert ist. Wenn Sie den ganzen Tag und dann die ganze Nacht hacken, werden Sie nur müde, nicht besser.

Zum Beispiel müssen Sie einen Code bei der Arbeit optimieren und die üblichen Profilerstellungs-Tools verwenden, um ihn zu beschleunigen und mit der nächsten Aufgabe fortzufahren. Sie glauben jedoch, dass Sie möglicherweise andere Dinge tun, die sogar helfen könnten mehr, aber Sie haben nicht die Zeit, sie zu versuchen. Wenn Sie diesen Code mit nach Hause nehmen und ein paar zusätzliche Stunden damit verbringen, ihn wirklich auszuwringen, lernen Sie Techniken, die Sie beim nächsten Optimieren verbessern. Sie machen zu Hause nicht dasselbe wie bei der Arbeit.

Beim Üben geht es um das Hinzufügen von Fähigkeiten und das Honen von Fähigkeiten. Diese Aktivitäten werden notwendigerweise auf künstliche Weise ausgeführt (es ist, als würde man eine Muskelgruppe im Fitnessstudio isolieren, das macht niemand bei normaler körperlicher Aktivität). Das Erstellen von Apps zu Hause wird nicht automatisch geübt. Die Arbeit zu Hause sollte sich auf die Techniken und den Prozess konzentrieren, nicht auf das Endprodukt. Wenn ein Endprodukt das ist, was Sie motivieren müssen, großartig. Fallen Sie einfach nicht in die Falle, es so zu entwickeln, wie Sie es bei der Arbeit tun.

Die Kodierung der Kata-Bewegung ist ein Beispiel dafür, worum es in der Praxis geht.


3

Um Ihre Frage zu beantworten: Nein, das macht Sie nicht zu einem schlechten Entwickler.

Allerdings könnte es Ihr Berufsleben auf die Straße ein bisschen schwerer machen. Wenn Sie einen Job haben, in dem Sie ständig neue Technologien erlernen, die Ihnen dabei helfen, Ihren Karriereweg voranzutreiben (egal ob es sich um Beförderungen bei Ihrem derzeitigen Job oder um neue Jobs bei verschiedenen Unternehmen handelt), sind Sie gut aufgestellt.

Aber wenn Sie derzeit in einem Unternehmen arbeiten, in dem sich die verwendete Technologie selten ändert, wird es Ihnen in zwei oder fünf bis zehn Jahren möglicherweise schwer fallen, den nächsten Job zu finden. Wenn Sie zu Hause mit neuen Technologien programmieren und etwas zu zeigen haben (App, Website, Open Source-Projekt usw.), fällt es Ihnen viel leichter, den nächsten Job zu bekommen.

Natürlich könnten Sie die nächsten 40 Jahre genauso glücklich sein, und solange Ihr Unternehmen und die Technologien bestehen, sind Sie bereit!


1

Es gab Zeiten in meinem Leben, in denen ich viel außerhalb der Arbeit programmiert habe, und Zeiten, in denen ich keine gemacht habe, weil ich an anderen Dingen gearbeitet habe. Sie sollten immer lernen, aber das bedeutet nicht, dass Sie in Ihrer Freizeit immer etwas über das Programmieren lernen müssen. Wenn Sie an einer anderen Fähigkeit arbeiten möchten, sei es Schreinerei, Nadelspitze, Gartenarbeit usw. in Ihrer Freizeit, hilft es Ihnen, als Person zu wachsen.

Gehen Sie einfach nicht in die Falle, dass Sie alles wissen, was Sie über Programmierung wissen müssen, damit Sie aufhören können zu lernen.


1

Dies ist in der Tat ein interessanter Beitrag. Ich entwickle seit 10 Jahren Software und liebe meinen Job! Auch ich habe viele Hobbys und versuche, sie richtig zu handhaben. Aber es macht mir Spaß, ein oder zwei Stunden vor dem PC neue Dinge auszuprobieren, bevor ich ins Bett gehe. In meinem Fall bin ich süchtig danach, Spielcode zu lernen und zu schreiben. Ich habe nicht immer Zeit, Spiele zu spielen, aber ich liebe es, Code über Spiele zu lesen. Um ehrlich zu sein, denke ich, dass der beste Code, den ich je gesehen habe, aus Spielen stammt, und ich wende diese Fähigkeiten auf meinen Code bei der Arbeit an. Ich lerne ständig JEDEN EINZELNEN TAG, also IMO, wenn Sie ein Entwickler sind, werden Sie nie Ihren Höhepunkt erreichen, es gibt IMMER eine bessere Möglichkeit, etwas zu tun ...


1

Dies ist ein großartiger Beitrag.

Ich würde sagen, nein, das macht dich nicht zu einem schlechten Programmierer. Wenn Ihre Bewertungen gut waren und Sie Ihre Aufgaben gut und pünktlich erledigen, ist das Gegenteil der Fall. Ehrlich gesagt bin ich neidisch auf Sie, dass Sie den Code bei der Arbeit ausfüllen.

Der Hauptgrund, warum ich in meiner Freizeit programmiere, ist, dass ich mich nicht wirklich für das interessiere, was ich bei der Arbeit mache, und meine Freizeit nutze, um das zu tun, was ich mag. Was ich gerne mache, ist die Programmierung von Videospielen. Es gibt keine gültige Spielefirma, für die ich arbeiten könnte (ich habe jetzt eine Familie hier), also helfe ich mit Indie-Spielen, wenn ich kann. Es ist der einzige Weg, um den Juckreiz zu heilen. Wenn ich das tun würde, was ich den ganzen Tag geliebt habe, wäre es sehr wahrscheinlich, dass ich es in meiner Freizeit nicht tun würde.


1

Mein Rat wird lauten: Nutze deine Pendelzeit, um Dinge zu lernen, um dich auf dem Laufenden zu halten: lies IT-Bücher, höre Dev-Podcasts usw. In Bezug auf deine Aktivitäten nach der Arbeit: Ändert nichts. Sonst wirst du eine langweilige Person.


1

Es macht Sie nicht zu einem schlechten Entwickler, es macht Sie vielleicht nicht einmal zu einem "guten" Entwickler. Es macht Sie nur zu dem, was Sie sind. Ich denke jedoch, dass die meisten Leute, die wirklich exzellente Hacker sind, dazu neigen, sich an neuen Dingen zu versuchen. Zu jeder Zeit werde ich viele verschiedene Sprachen, Datenbanken, Web-Frameworks, Robotik usw. untersuchen. Ich habe zwei kleine Kinder und eine Frau, eine Hypothek, all das Zeug - aber ich freue mich auf die Zeiten, in denen ich zwei oder drei bekommen kann Stunden, um mit Sachen herumzuhacken. Sicher, C # und .NET sind alle gut und gut, um einen Gehaltsscheck zu verdienen, und ich mag meine Arbeit tatsächlich, aber in den letzten Monaten war es eine echte Explosion für mich, mit Scala und Lift herumzuspielen. Es gibt Entwickler, die sich als "leidenschaftlich" einstufen, und solche, die nur "über die Runden kommen".


1

Heißt das, ich bin im Herzen kein "echter" Softwareentwickler?

Absolut nicht. Es bedeutet nur, dass Sie andere Dinge als das Codieren mögen. Daran ist nichts auszusetzen, und es macht Sie weder besser noch schlechter als irgendjemand sonst, ob Entwickler oder nicht.

Ist es möglich, ein guter Softwareentwickler zu werden, ohne zusätzliche Aufgaben außerhalb Ihres Jobs zu übernehmen?

Na sicher. Einiges davon hängt davon ab, wie Ihre Arbeitsumgebung aussieht. Wenn Sie einen langweiligen, nervenaufreibenden Job haben, der Ihre Zeit in Anspruch nimmt, und dann einige langweilige Wartungsarbeiten erledigen, ist es sehr begrenzt, Arbeitszeit für die Entwicklung Ihrer Fähigkeiten zu nutzen. Wenn Sie in einem Umfeld arbeiten, in dem Sie die Freiheit haben, das zu tun, was Sie erforschen und lernen möchten, nutzen Sie diese Gelegenheit, um neue Fähigkeiten zu entwickeln, die auch Ihrem Arbeitgeber oder Ihren Mitarbeitern helfen.

Wenn Sie etwas Interessantes finden, über das Sie mehr erfahren möchten und nicht die Zeit oder die Möglichkeit haben, es bei der Arbeit zu verwenden, müssen Sie dies mit den anderen Anforderungen an Ihre Zeit abwägen, sei es Familie, Freunde oder Hobbys.


+1. Ja, das hängt wirklich von der Arbeitsumgebung ab. An einem Ort mit intelligenten (am besten intelligenten ) Menschen, die sich als Team um das kümmern, was sie tun, und sich ständig bemühen, alles (das Endprodukt, den zugrunde liegenden Code, die Tools, die Arbeitsplatzbedingungen usw.) zu verbessern, haben Sie gute Chancen ein großartiger Entwickler zu werden, auch wenn Sie Ihre Freizeit lieber an einem anderen Ort verbringen als vor einem Computer.
Jonik

1

Ich habe in letzter Zeit eine Reihe von Interviews mit Programmierern geführt. Ich habe herausgefunden, dass die Kandidaten, die mich am meisten beeindrucken, sowohl als Programmierer als auch als Menschen, mit denen ich gerne zusammenarbeiten würde, diejenigen sind, die viel Zeit mit NICHT-Programmier-Aktivitäten verbringen (insbesondere Musik, aber auch reine Mathematik, Philosophie und Literatur). Natürlich machen die meisten auch Hobby-Programmierung, aber sie haben auch Interessenausgleich.


Wenn ich die Musiker nur davon überzeugen kann ... sie scheinen zu glauben, dass man nicht in mehr als einer Sache gut sein kann. Musik und Programmierung sind sehr ähnlich.
Michael K

Sie haben eine ganz andere Frage beantwortet. Die Art der Leute, mit denen Sie lieber zusammenarbeiten würden, wird wahrscheinlich ganz anders sein als die Art der Person, die für einen großartigen Programmierer geeignet ist. Wenn Sie Spaß an den Menschen haben möchten, mit denen Sie zusammenarbeiten, und sich sozial amüsieren möchten, ist der Über-Programmierer vielleicht nicht die beste Wahl. Wenn Ihr typischer Arbeitsaufwand jedoch 2-3 Monate beträgt, um 12-monatige Projekte fertigzustellen, spielt die Persönlichkeit keine so große Rolle, wenn Sie feststellen, dass der Überprogrammierer Ihnen ein Leben außerhalb der Arbeit ermöglicht, auch wenn dies der Fall ist mehr programmieren.
Dunk

Nur als Randbemerkung: Ich habe festgestellt, dass die Leute, die mich bei einem Interview am meisten beeindrucken, diejenigen sind, um die ich mich am meisten sorgen muss. In meiner frühen Karriere waren die einzigen Personen, die ich für die Einstellung empfohlen habe und die sich als weniger technisch versiert herausstellten, auch die sozialfähigsten und überzeugendsten im Interview.
Dunk

1

Wenn Sie einen Job haben, der Ihnen ein völlig ansprechendes intellektuelles Erlebnis bietet, ist dies wahrscheinlich Ihr geistiges Leben - außerhalb der Arbeit können Sie Dampf ablassen. Wenn Ihr Job Sie nicht einbezieht, ist die Wahrscheinlichkeit, dass Sie nach der Arbeitszeit geistige Befriedigung finden, sehr viel höher. Das stimmt in jedem Geschäft, nicht nur in der Codierung.

Das Codieren in einem Büro zehrt an Ihrer Kreativität. Mindestens 8 Stunden pro Tag sprinten Ihre Gedanken im Auftrag eines anderen. Es ist normal, dass man das hinter sich lässt und nicht wieder auf einen Computer will. Wenn ich von einem Büro aus arbeitete, war es für mich dasselbe - ich kam nach Hause und wollte nur kochen oder einen Film sehen, mit Freunden rumhängen oder einfach vor dem Fernseher stehen. Von 2001 bis 2004 stieg ich aus der Firma aus, fuhr ein Taxi und wartete auf Tische. Dann fing ich wirklich an, meine freien Stunden zu programmieren.

Die Wahrheit ist, ich glaube nicht, dass jemand mehr als 8 Stunden pro Tag Code-Zeit in hoher Qualität hat. Viele Programmierer haben nur 2-3, aber sie sind möglicherweise die effizientesten Leute da draußen. Es ist nur, wie Sie es verwenden, wie Sie es verbreiten.


1
Sie waren noch nie in der Nähe von OSS-Entwicklern, oder? Wenn das Codieren zur Leidenschaft wird, möchten Sie manchmal 24 Stunden am Stück dabei sein.
Martijn Pieters

1

Ist es möglich, ein guter Softwareentwickler zu werden, ohne zusätzliche Aufgaben außerhalb Ihres Jobs zu übernehmen?

Es hängt von der Branche ab, in der Sie arbeiten. Einige sind wettbewerbsfähiger als andere.

Wenn Sie nicht alleine lernen möchten, bleiben Sie wahrscheinlich auf Ihrem aktuellen Kenntnisstand. Das reicht vielleicht ... oder auch nicht.

Es geht nicht um die festgesetzte Zeit, es geht um Neugier und um Wissensdurst und Meisterschaft. Offensichtlich hat es nichts damit zu tun, auf dem neuesten Stand zu bleiben . Es geht um grundlegende, oft schwierige Dinge: Compiler, Monaden, Speicherarchitekturen usw. Dinge, die Ihr Gehirn dehnen und erweitern.

Zu Hause codieren zu wollen, ist nur eine wichtige Nebenwirkung. Aber unterschätze es nicht, ohne es zu tun, ist das Lernen oft flach.

Alle besten Entwickler, die ich kenne, haben diese Eigenschaften.


1

Nein, es macht Sie nicht weniger zum Programmierer als irgendjemand anderes. Du bist nur sozialer. Ich bin ehrlich gesagt neidisch.

Sie müssen nicht Ihre gesamte Freizeit zum Schreiben von Code verwenden. Mein Job ist ziemlich einfach: Serververwaltung. Ich schreibe viel Code, weil ich bei der Arbeit nicht viel tun muss. Das macht mich nicht besser oder schlechter als irgendjemand. Wenn Sie sich leidenschaftlich für das Programmieren interessieren, warum nicht eine freiberufliche Tätigkeit ausüben? Ich stelle oft Craigslist-Anzeigen für meine Dienste auf und verdiene eine gute Menge Geld damit. Es ist auch eine großartige Lernerfahrung, da Sie mit Startups und manchmal sogar großen Websites arbeiten. Hoffe das hilft. :)


Hobby-Programmierung macht Sie von Natur aus "sozialer". Sie können auch für sich alleine programmieren.
Mufasa

0

Ich habe ein paar Tage später eine ähnliche Frage gestellt . Es scheint, als ob die Leute mehr Leidenschaft für unsere Arbeit haben, wenn wir nicht nur unsere ganze Tageszeit dafür aufwenden, sondern auch all die Zeit, die wir für unser persönliches Leben zur Verfügung haben.

Ich schreibe gelegentlich etwas Code in meiner Freizeit, aber ich mache es zum Spaß, nicht weil ich beabsichtige, berufliches Wachstum oder Anerkennung zu erlangen. Ich begrüße die Leute, die die Energie dafür haben, aber Sie brennen eher davon, wenn Sie länger arbeiten und an zusätzlichen Projekten arbeiten, als sich mit irgendetwas besser auskennen.

Am Ende des Tages geht es nur um Ihre Fähigkeit, neue Dinge zu lernen (insbesondere im Beruf), Ihre Fähigkeit, gut zu kommunizieren und gute Zeitmanagementfähigkeiten. Dass du dich in einen guten Profi verwandelst.


1
Ich denke, Sie haben den entscheidenden Punkt getroffen. Wenn das Programmieren zu Hause wie zusätzliche Arbeit ist, hilft es nicht viel und ist wahrscheinlich sogar schädlich. Die meisten (wenn nicht alle) Leute, die ich kenne, machen das zu Hause, weil es ihnen Spaß macht. Es kommt einfach so vor, dass dies dieselben Leute sind, die ich für meine Projekte haben möchte, weil sie viel erfahrener sind als diejenigen, die dies nicht tun. Ist das Programmieren zu Hause der Grund, warum sie geschickter sind, vielleicht, vielleicht auch nicht, aber ich würde eher glauben, dass sie das tun, was sie wollen. Außerdem ist es ziemlich schwierig, in Ihren Fähigkeiten auf dem neuesten Stand zu bleiben, wenn Sie nicht die Zeit investieren.
Dunk

0

Ist es möglich, ein guter Softwareentwickler zu werden, ohne zusätzliche Aufgaben außerhalb Ihres Jobs zu übernehmen?

Für mich dreht sich alles um Balance.

Obwohl ich es liebe zu programmieren, ist es nur eine Seite von mir, ich habe andere Interessen. Ich sehe das, wenn ich glücklich bin (andere Dinge zu tun, die ich gerne tue) und meine Arbeit interessant und erfüllend finde (was ich tue), als auf lange Sicht bin ich auf dem Weg, ein besserer Softwareentwickler zu werden.

PS Ich gebe zu, ich habe nicht alle vorherigen Beiträge auf dieser Seite gelesen.


Warum die -1? Es ist eine völlig vernünftige Antwort. + 1
zzzzz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.