Ich bin Student (noch nicht an der Uni) und programmiere seit ungefähr 5 Jahren. In dieser Zeit bin ich von Sprache zu Sprache, von API zu API und von Projekt zu Projekt gewechselt. Ich habe versucht, mich auf eine Sache festzulegen, aber ich verliere das Interesse. Mein gesamter PC ist voll mit halbfertigen Projekten (und mindestens viermal so viele wurden von meiner Festplatte formatiert).
Ich frage mich, ob meine geringere Motivation für das Programmieren zum Spaß (es ist eine Aktivität, die mir wirklich Spaß macht) darin besteht, dass ich am Ende nie ein abgeschlossenes Projekt bekomme. Ich kann nicht sagen, ob ich nur zu offene Ziele habe oder nur eine geringe Aufmerksamkeitsspanne. Ich habe versucht, einige kleinere Projekte zu realisieren, aber sie interessieren mich überhaupt nicht.
Könnte dies ein Grund für meinen Motivationsverlust sein? Auch, wenn ich mich bewerbe, um zu Uni zu gehen (und in der Zukunft hoffentlich ein Softwarejob), ist es wahrscheinlich ein Problem?
In Summe:
Wie wichtig ist es, Neben- / Hobbyprojekte abzuschließen, sei es für Karriere, Motivation oder Ausbildung?
quelle
Antworten:
Offensichtlich ist der Abschluss eines Projekts in der "realen Welt" wichtig, da Sie (oder Ihr Arbeitgeber) nicht bezahlt werden, wenn das Projekt nicht abgeschlossen und geliefert wurde.
Für Hobby- und Lernprojekte ist es jedoch etwas komplizierter. Das Beenden von Projekten zeigt potenziellen Arbeitgebern, dass Sie das liefern können, was Sie sich vorgenommen haben, aber es hängt davon ab, was Sie unter "Projekt" verstehen.
Wenn Sie das Projekt mit dem Ziel durchführen, ein vollständiges Produkt zu erhalten, das alle Ihre Fähigkeiten zeigt und mit dem Sie möglicherweise Geld verdienen möchten, sollten Sie es abschließen oder zumindest zeigen, dass daran aktiv gearbeitet wird .
Wenn Sie das Projekt durchführen, um bestimmte Dinge zu lernen (wie Sie Videos streamen, Kennwortverschlüsselung, was auch immer), ist es weniger wichtig, ein voll funktionsfähiges Produkt zu haben, sobald Sie das Projekt effektiv abgeschlossen haben. Was Sie haben sollten, ist etwas, das Sie potenziellen Arbeitgebern zeigen können, um Ihre Fähigkeiten zu demonstrieren.
Dies könnte beispielsweise eine Website sein, auf der nach der erfolgreichen Anmeldung "Willkommen zurück, Joe" und nichts anderes angezeigt wird. Dies ist jedoch in Ordnung, wenn Sie den Code hinter der Website angeben, der zeigt, dass Sie die Kennwortverschlüsselung und sichere Verbindungen usw. verstehen.
quelle
Nehmen Sie es von jemandem, der das gleiche Problem hat. Es ist sehr wichtig, zumindest einige Ihrer Projekte abzuschließen. Es ist völlig in Ordnung, einige experimentelle Projekte zu machen und sie aufzugeben, wenn Sie gelernt haben, was Sie brauchen, oder es war einfach keine gute Idee, damit anzufangen.
Kreative Menschen mögen jedoch eher den herausfordernden ersten Teil eines Projekts als die langweilige Phase "Aufräumen, Verpacken und Aussteigen" am Ende. Sie müssen sich eine Strategie ausdenken, um das zu überwinden, sonst werden Sie
1) Bekomme niemals öffentliche Kredite für etwas, was du tust (wenn es das ist, was du willst)
2) Verdiene niemals Geld mit dem, was du getan hast (wenn du das willst)
Das Schlimmste ist jedoch, dass andere und Sie sich als jemanden identifizieren, der die Dinge nicht zu Ende bringt.
Finden Sie also einen Partner, Grund oder eine Disziplin, um zumindest einige Ihrer Projekte abzuschließen.
Hilfreiche Strategien für zögernde Programmierer
Machen Sie eine Liste aller guten Dinge, die passieren könnten, wenn Sie das Projekt beendet haben, und aller schlechten Dinge, wenn Sie dies nicht tun. Dann klebe es auf deinen Monitor :)
Legen Sie einen Zeitplan fest! Projekte nehmen die ihnen zugewiesene Zeit in Anspruch, sodass ein Projekt ohne Fristen für immer dauern wird. Legen Sie einen Zeitplan mit monatlichen und wöchentlichen Meilensteinen fest
Setzen Sie sich ein tägliches Ziel: "Heute werde ich dies erreichen."
Wenn Sie eine Anwendung oder ähnliches ausführen, konzentrieren Sie sich darauf, sie lauffähig und verwendbar zu machen, damit Sie anfangen können, Ihr eigenes Hundefutter zu essen. Sie arbeiten wahrscheinlich an etwas, an dem Sie interessiert sind. Wenn Sie es also regelmäßig verwenden, motivieren Sie sich, es zu verbessern.
Vorsicht bei großen Refactoring-Exkursionen, ich habe meine App für vier Monate wegen umfangreicher Refactoring-Vorgänge unterbrochen und die Entwicklung hat sich auf ein Crawling verlangsamt, nur weil ich sie nicht ausführen konnte und demotiviert war, daran zu arbeiten. Refactoring machen, aber nicht alles auf einmal machen :)
Machen Sie eine Liste von allem, was getan werden muss, um fertig zu werden (ich empfehle abstractspoon's todolist). Wenn wir nicht wissen, wie viel noch übrig ist, werden wir dann wissen, wann wir fertig sind? Auf ein unbekanntes Ziel hinzuarbeiten, kann ziemlich demotivierend sein
Gehen Sie die Liste durch und schneiden Sie alles aus, was nicht unbedingt erforderlich ist (ordnen Sie es einer Kategorie zu, die gut aussieht). Die Fertigstellung des Produkts gibt Ihnen einen Schub und diese Dinge können dann getan werden. Es ist besser, etwas als nichts zu veröffentlichen . Nicht einmal das iPhone hatte am Anfang alles.
Lass dich nicht von glänzenden neuen Dingen ablenken. Der Hauptgrund, warum ich Projekte nicht beende, ist, dass ich eine neue neue Herausforderung finde. Wenn Sie definitiv nicht widerstehen können, ein neues Projekt zu starten, bevor das alte abgeschlossen ist, arbeiten Sie parallel weiter am alten, da es sonst vollständig vergeht. Siehe auch den nächsten Punkt.
Stellen Sie eine Mindestarbeitszeit ein. Wenn Sie ein Projekt wirklich satt haben, legen Sie eine Mindestzeit fest, um an dem Projekt jeden Tag zu arbeiten, selbst wenn es nur 15 Minuten oder eine Stunde sind. Wenn Sie anfangen, werden Sie wahrscheinlich länger arbeiten.
/ Ich gehe, um seine nächste große Anwendung / Programmiersprache / Facebook-Killer zu beenden;)
quelle
Bist du sicher, dass sie noch halb fertig sind? Der Wert, etwas tatsächlich zu beenden, besteht darin, dass Sie erst dann wirklich verstehen, wie groß die Aufgabe ist, etwas zu beenden. Programmierer sind von Natur aus optimistisch, fast alles zu berücksichtigen, was 80% der Zeit getan haben, aber es stellt sich immer heraus, dass die verbleibenden 20% mindestens genauso viel Zeit und Mühe in Anspruch nehmen werden wie die ersten 80%.
Daher empfehle ich wirklich, mindestens ein Projekt fertigzustellen. Zahlenden Kunden ist es egal, ob ein Projekt zu 50%, 80% oder 99% fertig ist. Nur 100% erledigt zählt.
quelle
Ich habe unzählige Projekte aus meiner Studienzeit, die noch nicht abgeschlossen sind. Ich denke nicht, dass es wichtig ist, sie zu beenden. Ich habe den größten Teil meiner Arbeit nie beendet. Einige von ihnen waren völlig haarscharf, wie das Erstellen einer besseren String-Klasse oder das Manipulieren von Bitmaps mit Arrays der Pixel-Klasse.
Vielleicht wählen Sie Projekte, die zu groß sind. Wähle etwas wirklich Kleines. Etwas, das nicht mehr als einen Samstagnachmittag in Anspruch nimmt. Sie werden nach Abschluss zufrieden sein. Vielleicht fühlen Sie sich angeregt, einen anderen zu machen.
Eine wichtige Sache, an die Sie sich erinnern sollten, ist, dass Sie, wenn Sie die Arbeitswelt erreichen, 8 Stunden am Tag damit verbringen, Probleme zu lösen. Sie haben viel mehr Zeit, um große Projekte anzugehen, als im sporadischen studentischen Lebensstil.
quelle
Seien Sie stolz auf Ihren unvollendeten Projektordner und verprügeln Sie sich nicht! Wenn Sie in einer anderen Disziplin wären, zB Kunst, dann wären die unvollendeten Projekte nicht wirklich von Bedeutung. Der Punkt ist, dass Sie es versuchen und das an sich bewundernswert ist. Sie könnten stattdessen zu Hause sitzen und fernsehen? Oder verschwenden Sie Ihre ganze Zeit auf Stack Exchange-Sites (Hoppla!)
Microsoft hat nie die 3D-API 'Fahrenheit' ausgeliefert, auf die ich einmal gehofft hatte. Sie hat nie das Dateisystem 'Datenbank' ausgeliefert, das NTFS ersetzen sollte, und sie haben das DeepZoom-Projekt 'Seadragon' beendet, das großartig hätte sein können. Sie schafften es wahrscheinlich nicht, Hunderte anderer Produkte fertigzustellen und zu veredeln, nicht notwendigerweise aus der Motivation heraus, sie zu „umarmen, zu erweitern und auszulöschen“. Sie haben auch ganze Betriebssysteme ausgeliefert, die viel weniger als 98% vollständig waren. Macht sie das zu schlechten Vervollständigern?
"Completer-Finisher" ist eine Phrase aus dem Belbin-Team-Modell . Vielleicht sind Sie ein "Spezialist" oder ein "Ressourcenermittler" und eignen sich für ein Team, in dem andere die Aufgaben des Vervollständigers erledigen. Wenn Sie die Dinge so sehen, können Sie Ihre Situation positiver sehen.
quelle
Obwohl ich seit über 8 Jahren ein professioneller Softwareentwickler bin, finde ich es immer noch schwierig, persönliche Projekte abzuschließen. Ich hatte immer das Gefühl, dass es eine Kombination aus offenen Zielen, dem Wunsch, zuerst das Coole zu tun und dem Mangel an wirklichem Druck, es zu vollenden, ist. Um jedoch Ihre beiden Fragen zu beantworten:
Ich denke, die Projekte als Fehlschläge zu betrachten, weil sie nicht zu 100% abgeschlossen sind, wird Ihre Motivation beeinträchtigen und Sie möglicherweise daran hindern, wirklich in ein wunderbares Arbeitsfeld einzusteigen. Anstatt sie als Fehler zu betrachten, sollten Sie sich überlegen, was Sie aus ihnen gelernt haben - welche neuen Sprachen / Frameworks kennen Sie jetzt, welche Programmierlektionen Sie gelernt haben, welche Tools Sie jetzt beherrschen und mit welchen Personen / Communities Sie dabei interagiert haben. Aus dieser Perspektive betrachtet ist es selten, ein persönliches Projekt zu finden, das in keiner Weise zu Ihrem Wissen beigetragen hat.
Sie werden feststellen, dass es an der Universität oder in der Beschäftigung zwei Hauptunterschiede gibt, die sicherstellen, dass Sie Ihre Projekte abschließen. Erstens sind Ihre Ziele in der Regel ziemlich genau definiert - insbesondere in den ersten beiden Studienjahren. Zweitens haben Sie echten Druck, ein Projekt abzuschließen - Sie müssen dies tun, um eine Klasse / ein Modul zu bestehen, oder Ihr Manager teilt Ihnen mit, dass das Projekt XYZ für einen bestimmten Termin an das Testteam übergeben werden muss. Dies bietet einen Fokus, den ich noch nie auf persönliche Projekte übertragen konnte.
quelle
Erstens ist es wichtig für die Selbstzufriedenheit. Sie haben von Grund auf einen klaren Endzustand erreicht. Sie können dann ein Element Ihres "Projekt-Stack-in-Mind" platzieren, und für mich war es immer eine Erleichterung.
Für Ihre Karriere, und genauer gesagt für Vorstellungsgespräche, haben Sie bis zum Abschluss Ihres Projekts nichts zu zeigen oder darüber zu sprechen ... Ein halbes Projekt zu zeigen, ist niemals gut. Es könnte fehlerhaft sein, hässlich oder einfach nicht funktionieren. Sie können sie den Interviewern gegenüber nicht einmal erwähnen, sonst werden sie gefragt: "Warum haben Sie sie nicht beendet?" du bist nicht ausdauernd. Außerdem hatten Sie Zeit, andere Projekte zu starten, sodass Ihre Argumentation falsch wäre. Sie müssten eine clevere Antwort finden ...
quelle
Ich befand mich in einer ähnlichen Situation wie Jon Malcolm, aber ich verschwendete Zeit an den falschen Orten. Für persönliche Projekte habe ich mich entschieden, meine Standards zugunsten der vollständigen Funktionalität zu senken. Das bedeutete keine Ajax, keine Lokalisierung, nicht viel Validierung, keine Authentifizierung, keine Paginierung, Barebones-Benutzeroberfläche, keine Komponententests und so weiter. Bring einfach den Geschäftsbereich zum Laufen ... Ich nenne es "die gerade Linie". Die Lösung wäre vollständig und sollte unter idealen Bedingungen funktionieren. Sobald das erledigt war, würde ich, wenn das Projekt noch interessant wäre, die Refactoring-Iterationen fortsetzen, bis ich das Interesse verlor.
quelle
Ich habe ähnliche Erfahrungen und die letzten 5-10% von sogar einem kleinen Haustierprojekt können ein Mörder sein .
Mein Rat, wenn Sie fertig werden wollen? Erzählen Sie Freunden, Kollegen, Familienmitgliedern oder Interessierten von dieser coolen neuen Sache, an der Sie arbeiten. Beziehen Sie sie ein, stellen Sie ihnen Fragen. Hoffentlich gewinnen Sie ein paar Follower, die Sie nach Ihrem Fortschritt fragen. Der Druck des Wissens, der Sie motivieren wird, die alltäglichen, aber notwendigen Schritte zu durchlaufen, um Ihr Projekt auszuliefern.
quelle
Abschlussprojekte trennen die Kinder von den Erwachsenen, die Spreu vom Weizen, die Männer / Frauen von den Jungen / Mädchen.
"Echte Programmierer versenden."
quelle
Um zu wissen, ob Sie ein Projekt abschließen müssen oder nicht, müssen Sie den Wert bewerten, den Sie daraus erhalten, verglichen mit der Zeit, die Sie investieren müssen, um es abzuschließen.
Wenn der Wert, den Sie daraus ziehen können, niedriger ist als die Investition , können Sie ihn zu versunkenen Kosten bewerten .
Zu viele unvollendete Projekte führen zu Verschwendung . Abfall ist einer der mächtigsten Feinde von Lean .
Gelegentlich ist es jedoch besser, ein Projekt aufzugeben, um sich auf ein Projekt zu konzentrieren, mit dem sich der ROI erheblich steigern lässt. Viele Leute beenden alles mit Eigensinn und versäumen es, wirklich gute Gelegenheiten zu ergreifen .
quelle
Schlicht und einfach: Wenn Sie es beenden möchten, beenden Sie es! Wenn Sie nicht möchten, tun Sie nicht! Sie haben niemanden, der auf die Lieferung wartet, warum also so sehr quälen? Hobbyprojekte zu machen ist nicht dasselbe wie Industrieprojekte. Sie sind sehr verschieden. Niemand wird dich fragen, warum du deine Hobbyprojekte nicht abgeschlossen hast, wenn du ihnen nicht sagst, dass du sie unvollendet gelassen hast. Es gibt eine Milliarde Hobby-Projektcodes im Netz. Glaubst du, jemand kümmert sich wirklich um sie? (andere als faule Uni-Studenten, die ein schnelles und bereites Abschlussjahr-Projekt suchen)
quelle
Seth Godin hat viel darüber geschrieben, wie man sich die Schifffahrt angewöhnt:
http://the99percent.com/tips/6249/seth-godin-the-truth-about-shipping
Ich denke, es ist wichtig, und hier ist der Grund: Es reicht nicht aus, ein Projekt für sich selbst zu machen, auch wenn es für Sie von pädagogischem Wert sein kann. Wenn Sie Ihre Gabe niemals mit der Welt teilen, sind Sie wie ein Künstler, der seine Bilder niemals jemandem zeigt.
Damit habe ich auch zu kämpfen. Wenn ich analysieren müsste, warum, würde ich sagen, dass ich dazu neige, meine persönlichen Projekte zu überdenken und zu überdenken. Ich werde zu viele Annahmen über das Problem machen, von denen viele ungültig sind, dann werde ich zu viel Arbeit investieren, bevor ich zu dieser Erkenntnis komme. Das ist de-motivierend und an diesem Punkt verliere ich den Schwung. Es gibt eine Idee, die ich in den letzten Jahren wiederholt habe, und ich habe dieses Muster einige Male wiederholt.
Mein Plan für alle persönlichen Projekte ist es, mich auf einen kleinen Teil der Gesamtvision zu konzentrieren, diese umzusetzen und dort zu veröffentlichen (sei es ein Open-Source-Github-Projekt, eine Website, ein Artikel in einer Reihe von Artikeln).
Wenn ich dann noch ausreichend motiviert bin, werde ich es noch einmal wiederholen. Ich hoffe, dass die Zufriedenheit, die ich durch den Versand erhalte, mich durch zusätzliche Iterationen erhalten wird.
quelle
Es ist sehr wichtig.
Ich verstehe etwas als Proof-of-Concept und lasse es dann liegen. Das ist gut. Kunden zahlen jedoch nur für ein abgeschlossenes Projekt.Das Fazit lautet: Sales Drive Everything . Ohne Umsatz gibt es keine Gehälter. Ohne Umsatz gibt es keine Kapitalverbesserungen. Ohne Umsatz gibt es keine Firma. Verkäufe kommen von Kunden. Kunden zahlen nur, wenn sie zufrieden sind. Zufriedenheit bedeutet, dass das fertige Projekt funktioniert und gut funktioniert.
So verwenden Sie eine Fußballanalogie: Die rote Zone befindet sich in den letzten 20 Metern vor der Torlinie. Es ist der anstrengendste Teil, einen Touchdown zu erzielen. Gleiches gilt für ein Programmierprojekt. Die letzten 20 Prozent sind oft am schwierigsten zu beenden, aber es muss getan werden.
quelle