wake-up-neo.net

Bin ich ein schlechter Programmierer oder hat jeder dieses Gefühl?

Ich neige dazu, Dinge ziemlich schnell zu verstehen, aber nach 2 Jahren Programmieren in Python stolpere ich immer noch über Dinge (wie Flask heute)), die mich in Erstaunen versetzen Ich habe keine Ahnung, was los ist, und fühle mich dann sehr gedemütigt. Ich fühle mich jedes Mal wie ein absoluter Experte, bis dies passiert. Dann fühle ich mich für einen Zeitraum von etwa zwei Wochen wie ein absoluter Anfänger.

Kommt das oft vor oder zeigt es an, dass ich noch so viel zu lernen habe, bevor ich überhaupt als "guter" Programmierer gelten kann?

77
orokusaki

Ich nenne es das "Freshman Feeling". Wenn es so aussieht, als hätten alle anderen es zusammen, gehen schneller, kennen alle Gebäude auf dem Campus, haben keine Probleme usw. Beim Programmieren bin ich desorientiert, unbehaglich und unsicher, ob ich die Frist einhalten werde oder nicht - Es ist Angst.

Das Gefühl verschwindet, wenn ich die Angst vor dem, was es ist, anerkenne, sie dann ignoriere, eintauche und anfange zu lernen - jedes Problem einzeln durchzukämpfen.

Die Sache ist, jetzt benutze ich es als mein Messgerät, um mir zu sagen, wann ich wirklich lerne. Wenn ich es nicht ab und zu spüre, weiß ich, dass ich mich nicht vorwärts bewege - ich stagniere.

Einer der Programmierer bei der Arbeit hat das Motto: "Komfort ist der Feind."

Dieses Gefühl, über das du sprichst, kann dein bester Freund sein, wenn du besser werden willst.

67
codeyoung

Sie werden während Ihrer gesamten Karriere niemals, niemals, niemals, niemals in einer Position sein, in der Sie jede Programmiertechnologie sofort verstehen, indem Sie sie einfach betrachten. Da ist einfach zu viel. Es ist die Anhäufung von Forschung und Wissen von Millionen von Menschen über viele Jahrzehnte. Wenn Sie jemals denken, dass Sie an diesem Punkt sind, suchen Sie einen Therapeuten, um Ihre Wahnvorstellungen zu besprechen.

Das Merkmal, das Sie am meisten brauchen, ist die Fähigkeit und Bereitschaft zu lernen. Wenn Sie das haben, wird nichts über Sie hinaus sein.

73
GrandmasterB

Nein, das ist kein Zeichen für einen schlechten Programmierer. Sie sollten immer lernen und generell davon ausgehen, dass es zu einem bestimmten Thema noch etwas zu lernen gibt.

Der schlechte Programmierer ist derjenige, der glaubt, dass er bereits den besten Weg kennt, alles zu tun, und nicht offen für die Möglichkeit ist, dass er etwas zu lernen hat.

32
Kirk Broadhurst

Die einzige Konstante auf meinem Weg als Programmierer war, dass ich immer mehr lernen muss. Es klingt klischeehaft, aber es ist wahr.

Das heißt nicht, dass ich nicht immer fühle bin, auch jetzt noch, als hätte ich das meiste gelernt, was ich in meinem Leben lernen werde. Die Sache ist, ich hatte das Gefühl, dass ich im letzten Jahr - wenn ich jetzt auf diesen Punkt zurückblicke - damals noch viel zu lernen hatte. Das Gleiche gilt für das Jahr zuvor und das Jahr zuvor.

Sie lernen immer, sich wirklich gutem Code auszusetzen, und Entwickler sind eine großartige Möglichkeit, sich daran zu erinnern.

10
Fishtoaster

Es gibt ein Lernmodell, bei dem Sie vier Phasen durchlaufen:

  1. Unbewusst inkompetent: Sie wissen nicht, Sie wissen es nicht.
  2. Bewusst inkompetent: Sie wissen, dass Sie es nicht wissen.
  3. Bewusst kompetent: Sie wissen, dass Sie wissen.
  4. Unbewusst kompetent: Sie wissen nicht, dass Sie es wissen.

Natürlich ist Level 1 ein Problem, aber hier fängt jeder an, bewegt sich aber schnell von dort weg. Wenn Sie lernen, bis Sie den Punkt erreichen, an dem Sie es gerade auf Stufe 4 tun. Mit so etwas wie einem anderen Modul oder einer anderen Bibliothek auf einer vorhandenen Plattform kehren Sie unweigerlich zu 1 oder 2 zurück (hoffentlich zu 2). Dies ist normal.

(Übrigens kann Stufe 4 ein Problem sein, zu leicht, um mit den neuesten Techniken nicht Schritt zu halten.)

9
Richard

Machen Sie einen Spaziergang durch eine Bibliothek. Wenn Sie sich dadurch nicht sehr, sehr klein fühlen, bekommen Sie es nicht. Wenn Sie es in Nerd-Sprache wollen, dreht sich alles um die Ableitung, nicht um die tatsächliche Menge Ihres Wissens. Es ist in Ordnung, sich bei dem, was Sie lernen, besser zu fühlen als bei dem, was Sie wissen, obwohl Sie es auch nicht übertreiben sollten. Etwas gelernt zu haben ist eine Leistung, es ist nur so, dass man es niemals für vollständig halten kann.

Zwei Jahre sind übrigens nicht viel Erfahrung. Ich hatte mehr als so viel Erfahrung, bevor ich das College verließ (ohne Klassen zu zählen), obwohl ich das Glück hatte, diese Möglichkeiten zu bekommen.

7
Randall Schulz

Ich schreibe seit über 20 Jahren Code ein und aus. Es gab Zeiten, in denen ich mich für unangreifbar hielt, aber ich stellte fest, dass es immer jemanden gibt, der besser ist. Was Sie beachten müssen, ist, dass es eine Vielzahl gibt, die auch schlimmer, viel schlimmer sind als Sie. Software-Engineering ist kein statisches Feld, es werden ständig neue Ansätze, Techniken und sogar Sprachen entwickelt, und es wäre unmöglich, mit all dem Schritt zu halten.

Die Sache, die mich normalerweise sitzen lässt und mich verblüfft über einen neuen Code ansieht, den ich gerade geöffnet habe, ist der Codierungsstil. Das hängt normalerweise davon ab, wie gut der Programmierer mit dem Problemraum vertraut war. Meiner Erfahrung nach tendiert mehr Komfort zu abstrakterem Code. Wenn Sie einen Code öffnen und dieser nicht ins Verständnis springt, verprügeln Sie sich nicht, setzen Sie sich, lesen Sie ihn sorgfältig durch, machen Sie sich Notizen (ja, auf Papier) und gehen Sie den Code manuell durch (wenn Sie Zeit haben). . Das Verständnis wird kommen und Sie müssen es verstehen, was Sie zu einem guten Programmierer macht! :) :)

4
Lazarus

Das passierte mir. Dann hörte es auf. Nicht weil ich aufgehört habe Fortschritte zu machen und mir keinen schwierigen Code angesehen habe, sondern weil ich schließlich sehr gut geworden bin. Dies geschieht in C++ für mich. Boost (Quellcode) macht mir keine Angst.

1
user2528

Ich weiß nicht, ob Sie ein schlechter Programmierer sind oder nicht, aber ich betrachte mich als einen guten Programmierer: D, selbst ich weiß nicht alles. Für mich ist der Unterschied zwischen guten und schlechten Programmierern die Fähigkeit und Methodik, die Arbeit zu erledigen. Wenn ich einen BASICA-Programmierer hätte, der die von mir benötigte Anwendung rechtzeitig erstellen kann, damit sie gut läuft, und in der Lage wäre, seine Codebasis zu pflegen, um gemäß der Anforderung angemessene Änderungen vorzunehmen, würde ich ihn/sie sogar als guten Programmierer betrachten er/sie kennt nur BASICA und sonst nichts.

Demütig zu sein ist jedoch auch eine gute Sache für Programmierer - die Karriere, die ständig gelernt werden muss.

1
tia