Ich möchte, dass sich einige von Ihnen an eine Zeit erinnern, in der Sie vielleicht schlecht programmiert haben ...
Ich bin jetzt seit ein paar Monaten bei meinem neuen Job (als Softwareentwickler) und habe die Probezeit bestanden. Habe nur sehr wenig Programmiererfahrung (nur C ++) und arbeite derzeit mit asp.net MVC und Silverlight. Es gibt also eine Website, an der das Unternehmen gearbeitet hat, und ich beteilige mich an den Bemühungen, sie zu verbessern, Fehler zu beseitigen usw.
Das Problem ist, über Visual Studio etwas über ein System / eine Website zu lernen, das / die bereits erstellt wurde. Ich fühle mich IMMER überfordert, weiß nicht, welcher Teil dieser Zeile ich nachschlagen soll, und habe im Allgemeinen große Probleme, den Überblick zu behalten. Ich finde es schwierig, Visual Studio selbst in den Griff zu bekommen, geschweige denn das asp.net-Framework.
Ich habe den Eindruck, dass meine Kollegen, weil sie mehr Erfahrung haben als ich, all die guten Jobs bekommen, und ich habe Mist zu tun - Dinge, die nicht einmal vage programmiert sind. Das heißt, sie lernen / erschaffen mehr und ich lerne / erschaffe so gut wie nichts. Ich werde demoralisiert und habe zu viel Angst, um etwas zu sagen.
Ich bin nicht dumm, ich habe viele grundlegende Programmierkonzepte gelesen und geübt ... Ich habe nur verdammte Angst vor diesem verdammten Framework. Ich schaue es an und fühle mich einfach gelähmt.
Das Ergebnis ist, dass ich dem älteren Veteranen immer wieder Fragen stelle, und er ist irritiert und würde mir lieber einfache / sinnlose / nicht programmierende Jobs geben, um keine Zeit damit zu verschwenden, mir zu helfen. Wenn ich dann etwas nicht verstehe, zögere ich, ob ich ihn noch fragen soll oder nicht, und versuche zu entscheiden, ob es Zeitverschwendung wäre.
Ich bin der Typ, der die Dinge langsam, aber mit viel Liebe zum Detail aufgreift. Ersteres lässt mich allerdings inkompetent aussehen.
Wer weiß, woher ich komme, sagt bitte etwas Hilfreiches ... Ich habe Angst, meinen Job in ein paar Monaten zu verlieren oder so ...
quelle
Antworten:
Prozess, dass die Leute einen Job als Neueinstellung machen sollten
Ein grüner Entwickler, der keine Domain-Erfahrung zu schnell hat, wird zu viele Probleme verursachen. Du wirst das neue Kerlzeug besorgen, weil du das neue Kerlzeug besorgen musst.
Halte durch
quelle
Das wichtigste zuerst. Du bist der Neuling. Sie werden die Mistaufgaben bekommen. Daran führt kein Weg vorbei. Sie müssen verstehen, dass dies nicht böswillig ist. Wie Sie selbst gesagt haben, haben diese Jungs mehr Erfahrung und sind erfahrener. Sie haben wahrscheinlich auch eine höhere Gehaltsstufe. Was bedeutet, dass ihre Zeit aus Sicht des Projekts wertvoller und wertvoller ist als Ihre. So können sie die neuesten (und unterhaltsamsten) Aufgaben erledigen, sodass Sie die einfachere (aber immer noch wichtige) Arbeit erledigen können.
Jetzt ist es wichtig, nicht für immer in der Brunft stecken zu bleiben. Nehmen Sie sich jeden Moment Zeit, um sich mit dem vorliegenden Projekt und den Tools vertraut zu machen. Du kannst Minesweeper spielen, wenn du tot bist. Ich weiß, dass das Erlernen einer neuen Plattform sowie das Einarbeiten in ein vorhandenes Projekt eine sehr überwältigende Aussicht ist. Der Trick ist, es in kleinere Stücke zu schneiden und sie einzeln anzugehen. In deinen Schuhen würde ich so etwas machen:
Wenn das nach viel Arbeit aussieht, dann ist es so. Aber die Dividenden, die Sie schließlich sammeln werden, sind mehr als eine ausreichende Entschädigung.
quelle
Wie sicher bist du dir dabei? Ich frage als jemand, dass in der Regel, wenn Sie etwas Neues anfangen, alle Arten von Lernprozessen durchgeführt werden, die Sie möglicherweise nicht realisieren. Wie gut haben Sie sich an Visual Studio gewöhnt? Ich erinnere mich, dass es ziemlich beängstigend war, die IDE von Grund auf zu lernen, als ich 1998 anfing zu arbeiten, aber es war in gewisser Hinsicht eine interessante Zeit. Wie gut kennen Sie die Bug-Tracking-Software? Wie gut können Sie sich ein Bild von den verschiedenen Personen im Team machen? Es gibt wahrscheinlich mehr als ein paar Dinge, die Sie lernen, obwohl Sie sie möglicherweise nicht als große zu lernende Dinge ansehen.
Mein Rat wäre, darüber nachzudenken, mit einigen Kollegen oder Ihrem Chef darüber zu sprechen, wie gut oder nicht so gut es Ihnen geht. Sie könnten sagen: "Ja, es geht dir gut" oder "Du bist großartig!" Das ist etwas, das Sie vielleicht akzeptieren müssen, obwohl manche das vielleicht nur sagen, weil sie Angst haben, die Wahrheit zu sagen. Erkennen Sie gleichzeitig, dass Sie hier herausfinden, wo Sie stehen, und tun Sie dann etwas dagegen. Wenn Sie ein paar Monate dort sind, sollten Sie ein paar Dinge wissen und daher in der Lage sein, bessere Ergebnisse zu erzielen als in Ihrer ersten Woche.
Ich habe diese Art von Zeile in meiner Karriere Dutzende Male gehört und gesagt, wirklich. Es gibt ein paar verschiedene Punkte, die ich zu einer solchen Linie machen würde:
Möglicherweise handelt es sich um eine Schätzung, sodass die Person möglicherweise einen skurrilen Fall vergessen hat, der den Fix zu einer Handvoll Zeilen macht. Ich weiß, ich hatte Zeiten, in denen ich dachte: "Das sollte irgendwie in einer Codezeile gemacht werden", um später herauszufinden, was ich vermisst habe.
Einige Codezeilen können lächerlich kompliziert sein. Haben Sie jemals eine Frage gestellt, in der sich Dutzende von Klammern befinden, um eine Logik durchzusetzen, bei der es einige Male gedauert hat, die Bedingung korrekt zu lesen? Ich weiß, dass ich habe.
Überlegen Sie, welche Art von Bild der Anwendung Sie jetzt haben und wie Sie sehen, dass verschiedene Teile zusammenpassen, welche Konventionen der Code im Allgemeinen verwendet, welche Arten von Entwicklungsmethoden verwendet werden und welche Tools für verschiedene Prozesse verwendet werden, z Continuous Integration Server, gibt es ein Storyboard, etc.
quelle
Es braucht Zeit. Ein paar Monate sind eine kurze Zeit. Wenn Sie in Ihrer jetzigen Firma keine Zukunft sehen, würde ich ihr mehr Zeit geben.
Es ist üblich, an vorhandenen Produkten zu arbeiten. In der Tat werden Sie das öfter tun als brandneue Systeme. Die Verbesserung bestehender Systeme, die bereits in Produktion sind, erfordert viel Geschick. Das ist nicht unbedingt eine schlechte Sache.
Viel Glück bei Ihrem neuen Job.
quelle
Stelle weiterhin Fragen, zeige aber auch Initiative . Tu so viel du kannst, bevor du fragst. Es ist so, als würde man hier auf Stack Exchange Fragen stellen.
quelle
Besorgen Sie sich ein gutes Buch auf asp.net und wahrscheinlich auch auf dem .net-Framework und lesen Sie sie gründlich außerhalb der Arbeitszeit. Sie werden sich bei der Arbeit ziemlich sicher fühlen, wenn Sie sie gelesen haben. Es ist auch erstaunlich, praktisch an dem zu arbeiten, was Sie lernen. Der Code wird für Sie beim Lesen Sinn machen und daher macht das Lesen auch mehr Spaß. Sie sollten die Zeit, die Sie gerade haben, optimal nutzen, da nicht viele Aufgaben auf Sie zukommen. Nutzen Sie diese Zeit also mit Bedacht.
quelle
Ich glaube, ich kann für viele von uns sprechen, indem ich für einen Moment fragte, ob mein früheres Ich in die Zukunft versetzt worden war, um meinem gegenwärtigen Ich diese Frage an die Programmierer zu stellen. Das ist so ziemlich das, was ich meiner Vergangenheit erzählen würde, wenn ich ihm gegenüber stünde, als er in Ihren Schuhen war:
Lassen Sie sich nicht entmutigen - es wird schwierig, und an manchen Tagen hassen Sie, was Sie tun, und wünschen sich, Sie könnten Gärtner werden oder etwas anderes, das ebenfalls nicht programmiert ist. Hebe dich vom Boden ab, entstaube dich und mach weiter, denn du wirst besser und die Arbeit, die du machst, wird besser.
Verwenden Sie StackOverflow und Google - seien Sie kein "Programmierer zum Kopieren und Einfügen", sondern stellen Sie fest, dass auf SO und im Rest des Webs Unmengen kluger Leute sind, die bereit, bereit und glücklich sind, Hilfe anzubieten. Außerdem werden die SO-Antwort oder der Blog-Beitrag Sie nicht beschimpfen oder schmutzige Blicke auf Sie werfen, wenn Sie sie immer wieder lesen, um sicherzustellen, dass Sie sie erhalten.
Immer wieder Fragen stellen - solange Sie Ihren Teil dazu beitragen, herauszufinden, was Sie können, kann es nichts falsches sein, jemanden mit mehr Wissen und Erfahrung um Hilfe zu bitten. Wenn Ihr Kollege ein Idiot sein möchte, suchen Sie einen anderen Kollegen, der eher bereit ist, Ihnen zu helfen, oder wie andere gesagt haben, sprechen Sie ihn an und sehen Sie, was sie sagen. Eine kleine Kommunikation in solchen Situationen kann viel bewirken.
Versuche es weiter - gib es nicht auf. Das Programmieren ist schwierig, aber das ist ein Teil der Belohnung. Das Erlernen eines neuen Tools, eines neuen Frameworks, einer neuen Sprache, eines neuen Paradigmas usw. erfordert viel Zeit und Mühe. Es lohnt sich jedoch, da Sie jedes Mal besser werden und sich auf das Durchsetzen dieser Lernerfahrung besser vorbereiten können das nächste Mal, wenn Sie es gegenüberstellen. Ich arbeite in einer viel größeren Codebasis als in meinem ersten Job, aber ich habe es aufgrund des Lernens, das ich unterwegs hatte, viel schneller gelernt.
Gönnen Sie sich etwas Anerkennung - Sie haben es geschafft, C ++ - Erfahrung in einen Job mit ASP.NET MVC und Silverlight zu verwandeln. Du bist auf programmers.stackexchange und suchst Hilfe. Du arbeitest und versuchst und tust, was du kannst, um besser zu werden. Sie tun die richtigen Dinge und sind bereits ein guter Teil des Weges dorthin, da Sie einen Programmierjob bekommen haben. Bleiben Sie dran und es wird einfacher.
Finden Sie etwas, das Sie nebenbei tun können - Programmieren, das zu schwierig oder zu banal ist, oder was auch immer, kann Ihre Freude am Handwerk schnell zermürben. Suchen Sie sich ein Projekt, an dem Sie unabhängig von der Arbeit selbst arbeiten können. Ein Projekt, das nicht allzu herausfordernd ist, aber Ihr Interesse und Ihre Begeisterung für das Programmieren aufrechterhält. Das erspart Ihnen nicht nur das Hassen des Codierens, jedes Stück Code, das Sie schreiben, hilft Ihnen dabei, Ihre Fähigkeiten und Ihre persönlichen Projekte in Lebensläufen zu verbessern, falls Sie feststellen, dass dieser Job nicht zu Ihnen passt.
Tut mir leid, wenn das zu aufregend klingt. Ich war gerade in deinen Schuhen und ich weiß, wie es sich anfühlt. Hoffentlich helfen Ihnen dieser und die anderen Ratschläge von Leuten hier weiter. Oh, und noch etwas - Sie haben Ihre Frage mit dieser Zeile begonnen:
Ich bin noch! Wir sind alle! Wir arbeiten einfach weiter daran und versuchen jedes Jahr weniger zu saugen .
quelle
Es passiert jedem in der Programmierung. Sogar Programmierer mit langjähriger Erfahrung werden eine beträchtliche Lernkurve haben, wenn sie mit einem komplexen System konfrontiert werden, das seit vielen Jahren in Betrieb ist. Es kommt selten vor, dass Sie einen Job mit fast allen Kenntnissen antreten, die Sie benötigen. Sie können davon ausgehen, dass Sie sich für eine Weile überfordert fühlen, es sei denn, Sie arbeiten an einer 100% igen Neuentwicklung in einem relativ neuen Unternehmen / Geschäftsbereich oder in sehr einfachen Systemen.
quelle
Ich denke, Ihre Besorgnis ist wirklich berechtigt. Aber du solltest dir nicht zu viele Sorgen machen .
Als neuer Mitarbeiter erhalten Sie natürlich die Aufgaben, die niemand tun möchte. Wie die Aufgabe, die noch zu erledigen ist, die mechanischer und unangenehmer ist.
Ich fühle wirklich deinen Schmerz, weil jeder hier, wie ich, schon dort war. Sie müssen die Dinge schnell erledigen und das Beste tun, was Sie können .
Auf diese Weise werden die Leute sehen, dass Sie immer härter arbeiten können, dass Sie wirklich Ihr Bestes geben und dass Sie sich wirklich verbessern, was es Ihnen ermöglicht, noch bessere Leistungen zu erbringen und einen guten Eindruck zu hinterlassen (auf die richtige Art und Weise).
Und auch geduldig sein . Es dauert einige Zeit, aber es lohnt sich.
quelle
Die Geduld. Vor 20 Jahren, als ich der Neue war, schickten sie mich zurück in den Serverraum, um die Router neu zu starten, die die ganze Zeit abstürzten. Schnelltipp: Um ein neues Framework zu erlernen, wenn Sie über vorhandenen Code verfügen, fügen Sie einem vorhandenen Formular ein weiteres Feld hinzu, und übertragen Sie die Auswirkungen auf den gesamten Weg in eine Datenbank. Indem Sie dem Wert eines anderen Feldes folgen, das sich bereits in diesem Formular befindet. Sie werden eine Tonne lernen.
quelle
Unter Ihren Optionen: Finden Sie einen Job, bei dem nicht zu erwarten ist, dass Sie den ersten Eindruck hinterlassen. Nicht jedes Unternehmen ist ein guter Ort für einen Einstiegsjob. Ein großes Beratungsunternehmen (z. B. Dell oder Accenture) ist möglicherweise ein schwindelerregendes Loch für einen normalen Programmierer. Es sollte jedoch über solide Schulungsprogramme und die Ressourcen verfügen, um mit dem Overhead der Mitarbeiter mit Ihrem Lernstil umzugehen.
Die Konsequenz ist, dass es durchaus möglich ist, dass Sie für Ihren derzeitigen Arbeitgeber die falsche Art von Arbeitnehmer sind und umgekehrt. Während es beängstigend ist, Ihren Job zu verlieren, ist es möglicherweise am besten, Ihre Verluste zu reduzieren.
Natürlich sage ich nicht, dass Sie aufgeben sollten. Es ist gut möglich, dass Sie nur etwas mehr Zeit benötigen, um den schlechtesten Teil der Schwierigkeitskurve zu überwinden und an den Punkt zu gelangen, an dem alles "klickt".
Zufällige andere Beobachtungen:
Der Hauptgrund, warum es mit der Erfahrung einfacher wird, mit neuen Projekten den ersten Schritt zu machen, ist, dass Sie mit den meisten der Systeme gearbeitet haben, aus denen diese bestehen, sodass sie nicht wirklich "neu" sind. Es gibt keine "allgemeine Erfahrung", nur das Kennenlernen einer Vielzahl von Konzepten und Frameworks und Tools sowie das Ziehen des Problems in Bezug auf die Dinge, mit denen Sie vertraut sind. Für einen Einsteiger-Programmierer ist es völlig normal, von einem nicht-trivialen System überfordert zu sein. (Wie es sich für einen erfahrenen Programmierer gehört, wenn er an einem System mit genügend neuen Dingen arbeitet. Das Programmieren ist eine komplexe Sache, und die meisten Programmierer haben eine "Komfortzone".)
quelle
Programmieren ist ein nie endender Lernprozess. Ich werde nicht darauf eingehen, was dich verbessern wird, aber ich werde dieses Gefühl überwältigen, da zu sein und mich gelegentlich immer noch so zu fühlen. In ein großes Projekt einzusteigen, während man die IDE und die verwendete Technologie lernt, ist eine Menge. Ich bin in einem Job, in dem ich zum ersten Mal VS 2010, C #, WPF, SQL Server und MVVM verwende. Ohne jede Menge Googeln ist nichts einfacher geworden.
Bedenken Sie ein paar Dinge - Sie haben die Probezeit bestanden, damit sie Ihnen gefallen. Sie glauben an Sie als Mitarbeiter. Sie wissen auch, dass Sie neu sind und erwarten nicht, dass Sie 10 Jahre Erfahrung aufsaugen, wenn Sie VS ein paarmal eröffnen. Sie lassen dich wachsen. Sie sind eine Investition und ein Vermögenswert - sie möchten nicht, dass Sie scheitern. Wenn Sie Fortschritte und Wünsche zeigen, werden Sie durch sie am Erfolg gehindert.
Was den "irritierten" Senior betrifft, ist er zu 100% im Unrecht. Wenn Sie eine Vorliebe für Anstrengung und Nachforschungen zeigen, bevor Sie fragen, hat er keinen Grund, sich zu ärgern. Ein Teil davon, ein Führer zu sein, führt - jemand würde sagen, dass es ein großer Teil ist. =) Wenn er von diesem armen Beispiel angeführt wird, haben sie den falschen Mann (oder die falsche Frau) ausgewählt. Bringen Sie das Thema mit ihm in Kontakt und lassen Sie ihn wissen, dass Sie die Hilfe schätzen. Entwickler können mürrische Typen sein und sind oft ein bisschen voller sich selbst. Wenn er ein Problem hat, sprechen Sie mit Ihrem Manager darüber. Wiederum sind Sie eine Bereicherung und haben jemanden, der Ihr Wachstum bremst, indem er nicht hilft, wie er das Team verletzen sollte.
Am wichtigsten ist - schwitzen Sie nicht. Wenn Sie sich anstrengen und das, was Sie tun, mögen, ist dies eine Garantie dafür, dass Sie besser werden und eines Tages das Team anführen, das Ihnen gefällt. Wenn sie schlau sind, geben sie dir Bissen, die du kauen kannst.
Zum Schluss - ich bin 6 Jahre alt und lerne noch. Manchmal, wenn ich es nicht sofort "verstehe", gerate ich ein bisschen auf mich selbst. Ich muss mir wie Sie nur sagen: „Beruhige dich, die Welt geht nicht unter. Es ist .Net um Gottes willen. '
quelle
Akzeptieren Sie zunächst die Tatsache, dass Sie nicht gut programmieren können. Wenn Sie es nicht akzeptieren wollen, wird es ein Problem sein. Du bist ein Noob. Sei praktisch. Und sei dir selbst gegenüber ehrlich. Zeitraum. Akzeptiert? Dann lies weiter.
Zweitens, beweisen Sie sich selbst (und niemand anderem. Ich wiederhole, niemand anderes als Sie), dass Sie kein Noob mehr sind und dass Sie den schmutzigsten und am schrecklichsten geschriebenen Code knacken, erstellen und debuggen können. Sie können die Charts anführen und die höhere Lohnskala von Ihrem guten alten Chef erwarten, indem Sie sich selbst beweisen, dass Sie kein Neuling mehr sind .
Kommen wir nun zur eigentlichen Antwort: Wie zum Teufel soll das zwischen Ihren engen Arbeitszeiten, Ihrer Familie und Ihrer Freizeit sein? Ja. Ich weiß, es ist nicht einfach. So wie ich es mache. Und bei weitem denke ich, dass es das effektivste ist:
Holen Sie sich Ihre Grundlagen auf den Punkt: Die Konzepte von OOP sollten in Ihr Gehirn integriert sein.
Design Codes (anstelle von Castles) in der Luft Ich weiß, es klingt verrückt, aber wenn man die Räder der Autos als Funktionen ansieht, gewöhnt sich das menschliche Gehirn an die Codierungswelt!
Übe zuerst auf Papier! Mein Professor hat mir diesen Trick erzählt. Übe zuerst auf Papier. Trocken Führen Sie Ihre Programme auf dem Papier selbst aus. Es wird Ihnen helfen, in den Fluss eines Compilers zu kommen.
Entwerfen Sie Ihr eigenes Projekt ja. sei es ein CLI-basierter Rechner. Entwerfen Sie Ihren eigenen Code. Mach es einzigartig. Warum Ihr eigenes einzigartiges Programm? Weil es dich zwingt zu überlegen, wie soll ich das machen? und dich nicht zwingen, frustriert zu werden. Und wenn Sie Zweifel haben, fragen Sie Herbert Schildt (verzeihen Sie mir, wenn die Schreibweise nicht stimmt) oder Google oder lassen Sie hier eine Frage fallen. Dies ist der beste Weg, um sich selbst zu lernen und seine Fähigkeiten zu improvisieren.
Als ich mit C bekannt wurde, hatte auch ich eine schlechte Zeit. Besonders bei Strukturen n Zeigern n Blahs n Blahs. Ich habe diese Dinge über die Zeit gelernt ... auf die harte Tour, wenn du es nennen darfst. Und als ich dann kaputt war, habe ich die Hoffnung nicht verloren. Ich kaufte ein Nachschlagewerk und fing an, ein Programm zu machen, das ich immer wollte. Nach 3 Monaten (ja, Sie können lachen!) Habe ich endlich eine CLI-Version eines Programms erstellt, das Ihren Namen als Eingabe verwendet und Ihre Persönlichkeit als Ausgabe anzeigt. Akrophonologie.
Ja. Ich rühme mich, weil ich stolz darauf bin! Weil ich die Gesichter meiner Senioren sah, die mich verspotteten. Es ist alles Entschlossenheit, mein Freund! Programmieren ist keine Hexerei! Wenn es so gewesen wäre, hättest du keine Bewährung durchgemacht! Es ist einfach!
Mein persönlicher Glaube: Wenn Sie Logik in Ihrem Gehirn haben und den gesunden Menschenverstand verstehen, können Sie ein guter Kodierer sein.
Und die gute Nachricht ist, dass Sie beides haben! Denn wenn Sie es nicht gehabt hätten, hätten Sie nicht den richtigen Schritt getan, indem Sie Ihr Problem mit uns geteilt hätten!
Wenn du dich jetzt gut fühlst, bin ich glücklich. Und ja, Sie können jetzt die erste Zeile dieser Antwort ignorieren .. war damals notwendig .. jetzt nicht notwendig! Prost!
quelle
Haftungsausschluss: Ich bin der Meinung, dass Ihr Problem, obwohl programmiererspezifisch, von neuen Fachleuten / Praktikern in allen Bereichen angegangen wird. Ich meine, in den ersten Monaten weiß niemand etwas und neue Leute bekommen immer die schlimmsten Aufgaben ( außer vielleicht, wenn diese Aufgaben zu kritisch sind).
Ich bin immer noch schlecht darin. Keine zweiten Gedanken.
Denken Sie daran, dass jeder Spieler einmal ein Balljunge war. Um eine gute Sache zu arbeiten zu bekommen, müssen Sie zuerst Ihren Wert in Sachen beweisen , dass Sie nicht mögen, und das ist üblich in allen Bereichen, nicht nur die Programmierung.
Wodurch fühlst du dich gelähmt? Haben Sie Angst, ein weiteres Mal zum Framework zurückzukehren , oder hassen Sie es, sich das Ganze anzuschauen?
Versuchen Sie immer, Ihre Probleme in einen oder mehrere einfache Schritte zu unterteilen. Gehen Sie dann zu jedem einzeln über. Hier gibt es keine magische Kugel, außer sich daran zu halten, und darauf kommt es an.
Als der neuen Kerl, Sie werden mit Problemen konfrontiert in immer den wissen Tools Sie arbeiten mit (VB, ASP , etc.) und den Dingen , Sie arbeiten auf (den Rahmen ). Das ist natürlich. Wir alle sehen uns dem gegenüber. Ihre Hauptpriorität sollte es sein, weiterzumachen.
Lerne weiter die Sprachen, stelle weiter Fragen, schaue weiter in die Rahmenbedingungen und wiederhole!
quelle