Ein professioneller Vollzeit-Programmierer kann großartige Arbeit leisten, indem er kontinuierlich von seiner Arbeit lernt. Wie kann ein Amateur-Programmierer trainieren, ein guter Programmierer zu werden?
** Wenn du gerne Musik spielst oder singst, kannst du das, weil es dein Hobby ist und du daran interessiert bist, und du kannst ein guter Sänger oder Musikspieler werden. Aber Sie müssen kein professioneller Sänger werden oder singen, um Ihren Lebensunterhalt zu verdienen. Gilt das auch für Programmierer? Jeder Amateur-Programmierer, der berühmt ist?
Antworten:
Der Schlüssel, um wirklich gut zu werden, ist die Arbeit in einem guten Team. Viele Amateure arbeiten alleine, so dass sie nur so weit kommen. In einem Team lernst du von anderen und wirst diszipliniert, weil deine Kollegen dich mit allem schlagen, was sonst praktisch ist.
Aus diesem Grund schlage ich vor, dass Sie sich einem Team anschließen, z. B. einem Open Source-Projekt, oder mit einigen Freunden ein Hobbyprojekt machen.
quelle
Der Weg zum Programmieren ist der gleiche wie beim Singen oder Musizieren: üben, üben, üben. Wenn Sie mehrere Jahre lang regelmäßig genug Zeit damit verbringen, Software zu entwickeln, sind Sie wahrscheinlich gut darin - sei es innerhalb oder außerhalb der Arbeitszeit.
Abgesehen davon, dass Sie mehr Zeit mit dem Üben verbringen, gibt es noch einen weiteren Grund, warum Profis in gewissem Sinne besser werden als Amateure (sowohl in der Musik als auch beim Programmieren). Wenn Sie ein Profi sind, müssen Sie Aufgaben erledigen, die Sie nicht unbedingt mögen, die aber zur umfassenderen Aufgabe der Softwareentwicklung gehören (z. B. Testen, Kundengespräche, Verfassen von Dokumentationen, Einrichten der Entwicklungs - / Erstellungsumgebung, Schreiben von Erstellungsskripten usw.) ). Und hin und wieder werden Sie auch dazu gedrängt, unbekannte Bereiche zu betreten, neue Sprachen oder Plattformen zu lernen. Als Amateur sind Sie nicht gezwungen, etwas zu tun, was Sie nicht wollen, was es wahrscheinlich macht, dass Sie den größten Teil Ihres Lebens in Ihrer Komfortzone bleiben. Mit anderen Worten, Sie können sich leicht auf einen oder mehrere bestimmte Bereiche beschränken, die Sie am meisten mögen.
Viele professionelle Entwickler von OTOH sind ebenfalls davon betroffen und arbeiten im selben Unternehmen, wo sie jahrzehntelang kaum etwas Neues gelernt haben. Der Schlüssel, um besser zu werden, liegt in Ihrer Einstellung. Wenn Sie weiter lernen und bewusst nach Möglichkeiten suchen, um aus Ihrer Komfortzone in ein neues, unbekanntes Gebiet zu gelangen, werden Sie diese Schwärme langsam fossiler "Profis" letztendlich übertreffen. Ein guter Weg, um dies zu erreichen, könnte sein, einen Beitrag zu einigen Open Source-Projekten zu leisten.
Eine empfehlenswerte Lektüre ist The Pragmatic Programmer: Vom Gesellen zum Meister , mit vielen tollen und sehr praktischen Ratschlägen, wie man immer besser wird.
quelle
Du wirst besser, indem du lernst, was teils tut, teils darüber nachdenkst, was getan wurde.
Grundsätzlich gibt es keinen Unterschied zwischen Hobbyisten und Profis, aber die Fallstricke sind etwas anders angeordnet.
Amateur Tücken sind, imho
Die Notwendigkeit, Ihr Projekt zu beenden, ist nicht so stark, wenn Sie nicht professionell sind . Dies kann eine gute Sache sein, weil Sie sich nicht an das Schneiden von Ecken gewöhnen werden, wenn es um Qualität geht. weil es einfach ist, ein Projekt sterben zu lassen und ein neues zu starten.
Das Bedürfnis, gut zu kommunizieren, ist nicht so stark. Bei einem professionellen Projekt besteht ein starker Anreiz, die Kunden wirklich zu verstehen, auch wenn sie nicht in der Lage sind, nur einen zusammenhängenden Satz darüber zu bilden, welches Problem sie lösen sollen. Wenn Sie sie falsch verstehen oder (im Normalfall) nicht bemerken, dass sie nicht über etwas sprechen, das Sie verstehen müssen, wird es früher oder später zu Ihrem Problem. Ein Amateurprojekt kann leicht alle potenziellen Benutzer verlieren, weil sie ihre Probleme nicht lösen, und auf technische Weise "fertig" sein.
Professionelle Fallstricke sind
Es gibt oft wenig Motivation, besser zu werden . Sie sind 40 Stunden pro Woche dort, egal ob Sie die Heilung für Krebs finden oder einfach Kaffee auf eine Weise trinken, die produktiv aussieht. Lernen ist etwas, das Sie hauptsächlich für sich selbst tun. Wenn Sie versuchen, das Gelernte anzuwenden, wirken häufig Kräfte dagegen (konservatives Denken, Hierarchien und sogar Stilrichtlinien können als Waffen gegen Verbesserungen eingesetzt werden). Es braucht viel Liebe für den Beruf, um ihn nicht einfach aufzugeben, die Arbeitszeit zu verkürzen und nach alternativen Zwecken im Leben zu suchen.
es gibt oft wenig zu lernen . Ja, man KANN versuchen, alles als Herausforderung anzunehmen, aber wir müssen ehrlich sein: Nach einem Jahr des Spaghetti-Codes dürfen Sie in einer Sprache, die Sie über mehr Jahre verfügen, keine Änderungen vornehmen ("Sie komplizieren es!") Aufgrund der Erfahrung, in der es wahrscheinlich von Dauer sein wird, lernt man nur, Toleranz gegen Frustration und Unternehmenspolitik aufzubauen.
Das brauchen Sie natürlich nicht, aber wie viele Musiker würden eine Gelegenheit ablehnen, ihren Job tatsächlich zu kündigen und mit ihrer Musik Geld zu verdienen?
In der IT sind diese Möglichkeiten etwas wahrscheinlicher als in der Musik, daher denke ich, ist es nicht unmöglich, ein berühmter Amateur zu werden, aber oft machen die Amateure ihre Leidenschaft zu ihrem Beruf (mit ähnlichen Problemen, die Musiker haben, wenn sie müssen) ihre Grenze zwischen Handel und Kunst herausfinden)
quelle
Ich fürchte, es gibt mehr Lernmöglichkeiten für die Amateure als für die Vollzeit-Corporate-Drohnen. Als Amateur sind Sie nicht an eine bestimmte Technologie, Umgebung, Design- und Entwicklungsmethode gebunden. Sie können alles tun, was Sie für Ihre persönliche Entwicklung nützlich finden. Als Vollzeitentwickler würden Sie wahrscheinlich jahrelang an demselben Produkt arbeiten, nach derselben Routine, die durch dieselben Unternehmensrichtlinien begrenzt ist. Für die meisten von uns ist es nichts als eine Stagnation. Ein wenig kann aus einer Unternehmensumgebung gelernt werden, wenn Sie mit den allgemeinen Grundlagen vertraut sind.
Das ist der Grund, warum viele Vollzeitentwickler auch Amateure sind, sie programmieren nach der Arbeit weiter, sie spielen mit ihren eigenen Spielzeugprojekten - es ist ein Stück Freiheit, das für ein Wachstum notwendig ist.
quelle
Als Amateur-Programmierer haben Sie heutzutage viele Möglichkeiten, Ihre Fähigkeiten zu verbessern. Ich habe Folgendes getan, um meine Fähigkeiten während des Studiums der Softwareentwicklung zu verbessern.
Natürlich müssen Sie auch Ihr Wissen anwenden. Tun Sie dies durch ein Praktikum, ein Projekt mit Freunden oder einen Studiengang. Es gibt viele Möglichkeiten, sich zu verbessern. Sie müssen nur bereit sein, Ihre Freizeit zu investieren. Viel Spaß beim Lernen !
quelle
Ja, es ist möglich , aber es dauert lange:
Wieder aus derselben Quelle :
quelle
Als Amateur haben Sie mehr Möglichkeiten, nach besseren Praktiken zu suchen als viele Profis. Profis stehen oft unter dem Druck, "einfach fertig zu werden".
Ich habe keine Kurse gesehen, von denen ich Programmieren gelernt habe, aber ich habe aus einigen kurzen (1-3-stündigen) kostenlosen Kursen gelernt, die von der Universität, an der ich teilgenommen habe, angeboten wurden. Sie sollten es Geschäftsleuten ermöglichen, den für sie geschriebenen Code zu verstehen. Die Kurse präsentierten sehr gut geschriebenen Code (einschließlich Kommentaren), der ein allgemeines reales Problem löste. Der Code wurde dann mit einer Erklärung der Sprachmerkmale und warum sie so verwendet wurden, wie sie waren, überprüft. Keiner der vollständigen Sprachkurse, die ich gesehen habe, führt zu einem Code, der in etwa der Qualität entspricht, die ich aus diesem Kurs gelernt habe. Es dauerte ein paar Jahre, bis ich zum Informatikstudium wechselte.
Das Internet und die Bibliothek bieten viele Ressourcen und Beispiele. Ich finde, dass viele der Beispiele für nichts anderes gut sind, als es zu erledigen. Schauen Sie sich zuerst den Code an, wenn Sie sich Beispiele ansehen. Können Sie es verstehen, Zweck und Struktur ohne die Erklärung? Dann haben Sie vielleicht ein gutes Beispiel gefunden.
Einige Schlüsselpraktiken, die Sie lernen und anwenden sollten:
quelle
Überhaupt nicht. Es ist Software - Engineering . Es basiert nicht auf "natürlichen Talenten". Ein guter Programmierer zu sein, basiert auf jahrelanger Ausbildung und langjähriger Erfahrung . Das funktioniert nur bei echten Projekten .
quelle
Bei Vorstellungsgesprächen, bei denen ich (auf Arbeitgeberseite) war, habe ich immer nach Dingen gefragt, die der Befragte als Amateur programmiert hat (mit Ausnahme von Schulaufgaben) Leidenschaft fürs Selbstlernen. Es ist nicht nur möglich, es ist fast eine Voraussetzung, um gut zu werden.
quelle
Ist es möglich? Ja. Je mehr Zeit Sie mit Programmieren verbringen, desto mehr Zeit müssen Sie jedoch aufwenden, um besser darin zu werden. Es ist gesagt worden, dass es 10 Jahre / 10 000 Stunden Überlegungspraxis braucht , um Fachwissen auf technischem Gebiet zu entwickeln. Das sind nicht 10 000 Stunden, um dieselbe Art von Codierung in Ihrer Komfortzone durchzuführen (z. B. das Schreiben von einfachem jQuery-Code für verschiedene Websites), sondern 10 000 Stunden, um etwas über das Programmieren, das Lesen von Quellcode, das Schreiben von Quellcode und das Erlernen anderer Sprachen zu lernen / mit anderen arbeiten, etc.
Wenn Sie diese Zeit dafür verwenden wollen; Sie könnten genauso gut einen Job als Programmierer bekommen und den Amateurstatus verlieren. (Es sei denn, Sie sind unabhängig wohlhabend).
quelle
Jeder ist Amateur bei allem an einem Punkt. Wenn Sie ein guter Programmierer werden möchten und es Ihnen Spaß macht, werden Sie es tun. Der Schlüssel ist das Programmieren auf eigene Faust. Die Schule wird Sie so gut wie nichts lehren. Der größte Teil Ihres Lernens wird auf eigene Faust und bei der Arbeit durchgeführt. Wenn Sie gut sein wollen, gehen Sie gut sein.
quelle
die gegebene
realeursprüngliche Bedeutung des Wortes (Französisch Amateur „Liebhaber“, von Old Französisch und letztlich aus dem Lateinischen amatorem nom. amator „Liebhaber“ - Wikipedia), würde man glauben mag , dass eine große Zahl von Fachleuten sind auch Amateure. Wenn Sie Ihr Handwerk nicht lieben, würden Sie es dann üben?Natürlich ist es möglich - wenn Sie das Programmieren lieben, werden Sie es üben und mit der Zeit werden Sie es gut beherrschen. (Vielleicht nie großartig, wenn man sein persönliches Talent bedenkt oder es fehlt), aber zumindest gut
quelle
Ich weiß nicht, was es einen guten Programmierer definiert. Aber etwas Eigenes zu lernen und mit einer Gruppe von Menschen zu arbeiten, ist etwas anderes. Die leidenschaftlichen Hobby-Programmierer wollen wirklich neue Dinge lernen und hacken. Dort fanden sie die Dinge interessanter. Die Arbeit mit einer Gruppe von Menschen ist jedoch ein disziplinierter Vorgang, bei dem Sie zusammenarbeiten, kommunizieren, Informationen von Experten in diesem Bereich austauschen / erhalten.
Wissen zu erlangen ist jedoch nur eine Frage der Leidenschaft. Es gibt Leute, die Nächte damit verbracht haben, Dinge selbst zu lernen und am Ende etwas Neues in die Welt zu bringen, wie Bill G Mark Zuck usw. Kann man nicht leicht vergleichen. Aber wenn Sie ein besserer Software-Ingenieur sein möchten (ich werde nicht Programmierer nennen), treten Sie einer Firma bei oder arbeiten Sie für einige gute Produkte, die von anderen verwendet werden.
Lesen Sie zum Schluss viel, um Ihre Fähigkeiten, Einstellungen und Branchen-Updates zu verbessern, einen Geschmack zu entwickeln und mit Leidenschaft voranzugehen. Die Dinge werden dir leicht folgen!
quelle
Auf die Frage: "Sind Amateur-Programmierer berühmt geworden?" Die Antwort lautet "Ja, aber die meisten sind nicht so geblieben." Das berühmteste Beispiel, an das ich denken kann, ist Roy Fielding, der einige seiner wichtigsten Arbeiten gemacht hat, während er (glaube ich) an der Universität unbezahlt war (Amateur bedeutet per Definition unbezahlt).
Der Trick, um von professioneller Qualität zu sein, besteht darin, einen oder mehrere Mentoren (wie ein Team in einem Open-Source-Projekt) zu haben und sich intensiv mit dem Thema zu beschäftigen. Als ehemaliger professioneller Musiker bin ich der Meinung, dass beides notwendig ist, um als Profi oder Amateur gut zu sein. Einige können durch Bücher erlernt werden, aber ohne konsequente externe Kritik wird es sehr schwierig, schlechte Angewohnheiten durchzustehen, die als Anfänger erworben wurden.
Das heißt, im Falle des Programmierers ist es wesentlich einfacher zu lernen als das des Musikers - es war meine Erfahrung, dass es als Musiker viel schwieriger ist, Ihre pädagogischen Fehler zu erkennen, als Code zu sehen, der nur funktioniert nicht Andererseits erfordert es auch einen wesentlich größeren Zeitaufwand, um ein guter Entwickler zu sein.
quelle
Wie bei allem anderen ist es der beste Weg, etwas besser zu machen, in die Umgebung einzutauchen, in der Sie gut werden möchten, und sich mit Menschen zu umgeben, die Ihnen weit überlegen sind und bereit sind, Sie zu tolerieren und zu unterrichten. Das ist nicht einfach, aber ich habe festgestellt, dass dies der beste Weg ist, um zu lernen, am schnellsten etwas Gutes zu können.
Aber wenn es darum geht, ein wirklich begabter Programmierer zu sein, muss man genau das sein, begabt. Wenn Sie kein von Natur aus talentierter Geiger sind, werden Sie niemals so gut sein wie die Meister, egal wie sehr Sie es versuchen oder welches Instrument Sie kaufen. Ebenso, wenn Sie nicht die Gabe haben, die Programmierer wirklich genial macht, werden Sie auch nie sie sein.
quelle