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!
quelle
Antworten:
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:
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:
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:
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.
Sitzen Sie nicht herum und warten Sie auf Gelegenheiten, zu Ihnen zu kommen. Die Chancen stehen gut, dass sie es nie werden.
quelle
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.
quelle
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.
quelle
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.
quelle
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:
quelle
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.
quelle
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:
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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!
quelle
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.
quelle
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 ...
quelle
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.
quelle
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.
quelle
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".
quelle
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.
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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. :)
quelle
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.
quelle
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.
quelle