Ich habe einen IT-Hintergrund und war ziemlich zuversichtlich, bis sich bei der Arbeit eine Gelegenheit bot, in die Programmierung einzusteigen (C #). Ich habe noch nie zuvor programmiert, und die Software, für die ich programmiere, ist ein Programm, das ich noch nie zuvor verwendet habe (eine 3D-Modellierungssoftware).
Seitdem sind 6 Monate vergangen und ich möchte aufgeben. Ich habe nicht viel trainiert ... ungefähr 3 Wochen Training über die letzten 6 Monate verteilt.
Ich denke, ich könnte gut programmieren, aber diese Erfahrung lässt mich meine Entscheidung überdenken. Ich bin mir nicht sicher, ob es nur ich bin oder ob diese Frustration normal ist.
Wie kann ich herausfinden, ob die Programmierung für mich richtig ist?
Antworten:
Es gibt ein paar Dinge zu beachten, um in die Programmierung einzusteigen.
Zunächst einmal werden Sie nie alles über Programmierung wissen. Sie werden wahrscheinlich nie annähernd einen Bruchteil von allem wissen. Und wenn Sie jemals glauben, etwas zu wissen, wird etwas Neues herauskommen und das, was Sie wissen, wird veraltet sein.
Sie müssen also in Ordnung sein, ständig neue Dinge zu lernen und sich selbst beizubringen, was getan werden muss. Wenn Sie nicht in der Lage sind, viel Zeit damit zu verbringen, viel zu lernen, zu recherchieren und Dinge durch "fundiertes Ausprobieren" herauszufinden, sollten Sie nicht in die Programmierung einsteigen.
Zweitens ist es die Logik, die zählt, nicht die Syntax. Das Erlernen einer Sprache, eines Frameworks oder einer Technologie macht nicht unbedingt einen guten Programmierer aus. Sie müssen wirklich über den Verstand verfügen, der in der Lage ist, die Logik hinter dem Code zu verstehen - wie die Teile zusammenpassen, welche Logik verwendet wird und wie der Computer Ihren Code interpretiert.
Es hört sich so an, als würden Sie mit einer einzigen Software und Sprache arbeiten, aber denken Sie daran, dass es noch viel mehr Sprachen und Technologien gibt. Beurteile sie nicht alle nach deiner Erfahrung mit einem von ihnen. Wenn die Syntax Sie frustriert, denken Sie daran, dass es immer andere Optionen gibt. Aber wenn Sie Probleme haben, die Logik hinter dem Code zu verstehen, ist die Programmierung möglicherweise nicht das Richtige für Sie.
Und zum Schluss, such dir keinen Job aus, den du hasst. Sicher, Programmieren kann frustrierend, aber auch sehr lohnend sein. Wenn Sie mit den Zeiten zurechtkommen, in denen Sie Ihren Kopf über ein bisschen Code gegen die Wand schlagen oder frustriert alles von Ihrem Computer löschen und trotzdem Spaß am Codieren haben möchten, sind Sie gut :)
quelle
... programming can be frustrating, but it can also be very rewarding.
Dies ist, was ich als "Achterbahn" -Effekt des Programmierberufs bezeichne. Die Tiefs sind sehr niedrig, können sehr schnell kommen und es kann schwierig sein, herauszuklettern. Aber die Höhen sind atemberaubend und der Nervenkitzel macht süchtig.Mein Freund war viele Jahre ein Vielflieger, aber er wollte immer ein Luftfahrtpilot sein. Eines Tages nutzte er die Gelegenheit, um die Boeing 747 zu fliegen. Nach ungefähr sechs Monaten wollte er aufgeben: Er glaubte, er könne gut Flugzeuge fliegen, aber diese Erfahrung der letzten sechs Monate veranlasste ihn, seine Entscheidung zu überdenken.
Natürlich mache ich Witze: Ich habe keinen solchen Freund. Und das hat einen guten Grund: Jede Fluggesellschaft wäre verrückt, wenn jemand die Kontrolle über eine 747 übernehmen würde, bevor er ein paar Jahre mit einer Cessna verbringt, gefolgt von ein paar Jahren mit mehrmotorigen Flugzeugen, gefolgt von ein paar Jahren mit Jets Es folgten einige Monate intensiven Trainings auf dem 747.
In meiner erfundenen Geschichte geht es darum, dass selbst das einfachste 3D-Modellierungspaket für Softwareentwickler dem Fliegen einer 747 entspricht. Viele Programmierer wären davon selbst nach ein oder zwei Jahrzehnten in der Branche eingeschüchtert. Es ist nicht verwunderlich, dass Sie sich frustriert fühlen: Sie haben eine falsche Aufgabe für Ihr aktuelles Können übernommen!
Was sollte man tun? Zuerst habe ich den 3D-Modellbau-Shop verlassen, einen Online- oder einen echten Programmierkurs absolviert und mir ein Lieblingsprojekt besorgt, an dem Sie in Ihrer Freizeit arbeiten können. Versuchen Sie nach Abschluss des Kurses, eine Einstiegsposition in einem Geschäft zu erlangen, in dem Geschäftsanwendungen, mobile Apps oder anspruchsvolle Websites erstellt werden. Lernen Sie so viel wie möglich bei der Arbeit und üben Sie zu Hause, um Ihre Fähigkeiten noch weiter zu verbessern. In ein paar Jahren können Sie zu Ihrer 3D-Modellierungsfirma zurückkehren und dort ohne ein wenig Frust arbeiten.
quelle
Möglicherweise haben Sie nicht den besten Weg gewählt, um das Programmieren zu lernen :)
Im Ernst, 3D-Modellierung ist selbst für einen erfahrenen Programmierer ein sehr komplexer Bereich, weshalb es schwierig sein wird, dies als erstes Projekt zu haben. Ich würde vorschlagen, sich ein paar gute Bücher zu besorgen und selbst an einfachen Projekten zu arbeiten. Wenn Sie gerne daran arbeiten, stecken Sie es weiter ein und Sie werden es schaffen. Wenn Ihnen das nicht gefällt, ist es möglicherweise an der Zeit, Ihre Verluste zu senken.
Ich werde keine Auseinandersetzungen über die besten Programmierbücher anfangen, aber ich denke, Sie werden zahlreiche Fragen zu SE über Programmierreferenzen finden.
FWIW, ich programmiere seit 2.x in MS Windows, und wenn ich in ein bestehendes 3D-Modellierungsprojekt springen würde, wäre ich wahrscheinlich auch für eine Weile frustriert :)
quelle
Was mich als noch relativ unerfahrener Softwareentwickler (2 Jahre Teilzeitarbeit) am Laufen hält, ist die langfristige Perspektive .
Mit jedem neuen Projekt, das ich starte, verstehe ich besser, wie ich es reibungslos handhaben kann. Jede neue Sprache wird weniger schwierig. Meine Lösungen beginnen sich vollständiger anzufühlen.
Hier ist meine Liste, was Sie als Programmierer weiter machen sollten:
Abgesehen davon gibt es meiner Meinung nach viele Gründe, warum Sie gerne programmieren. Je mehr Sie dies tun, desto mehr Freude bereitet Ihnen die Arbeit in einem so kreativen und sich nicht wiederholenden Bereich.
Bearbeiten: Wenn Sie Probleme mit etwas haben, versuchen Sie, genau zu bestimmen, wo das Problem liegt, und bringen Sie es dann zu einer der Stack-Exchange-Sites. Wenn Ihre Frage noch nicht beantwortet wurde, erhalten Sie bestimmt eine gute antwort. Auf lange Sicht ist es auch gut für Sie, einige strukturierte Bücher über Programmierparadigmen, Software-Engineering und Algorithmen zu lesen. Die meisten Importeure schreiben jedoch weiterhin Code - und wie die meisten Antworten hier vorschlagen, finden Sie etwas Zeit, um an Programmen zu arbeiten, die nichts mit dem zu tun haben, was Sie bereits tun.
quelle
Es ist ganz einfach: Macht es Ihnen Spaß? Wenn du nicht dafür bezahlt würdest, würdest du es in deiner Freizeit zum Spaß tun? Wenn die Antwort nein ist, ist die Programmierung wahrscheinlich nicht richtig für Sie.
Das soll nicht heißen, dass Sie nicht lernen konnten, es gut genug zu machen, um erwerbstätig zu sein. Aber wenn Sie es nicht lieben, werden Sie nie großartig darin sein. Und wenn es Ihnen nicht gefällt, worum geht es dann?
Ich habe mit dem Programmieren begonnen, als ich 12 Jahre alt war, und ich habe es gemacht, weil ich wollte. Ich war 20 (und auf halbem Weg durch das College), bevor mir der Gedanke kam, dass ich das vielleicht für meinen Lebensunterhalt schaffen könnte. Es war nur eine Sache, die ich getan habe, weil ich es geliebt habe.
Ich glaube, dass die meisten Leute, die in etwas (irgendetwas) großartig sind, nicht deshalb so sind, weil sie eine angeborene Fähigkeit haben, sondern weil sie eine ungesunde Besessenheit für dieses Ding haben.
quelle
Mein Rat an Sie ist, einige Zeit alleine mit C # und der Programmierung im Allgemeinen zu verbringen.
Mach ein kleines Spiel. Erstellen Sie ein einfaches Tool zum Organisieren Ihrer Fotos. Mach wirklich was.
Wenn Sie Ihre eigene Zeit verbringen, werden Sie vielleicht Spaß am Programmieren haben. Wenn nicht, ist Programmieren nicht Ihre Karriere. Wie auch immer, arbeiten Sie weiter daran.
Eine Ressource, die zum Erlernen einiger Konzepte hilfreich sein kann:
http://msdn.microsoft.com/en-us/library/618ayhy6.aspx (C # -Referenz)
quelle
Wo war dein Hintergrund, wenn du vorher noch nie programmiert hast? Die meisten IT-Mitarbeiter hätten die Möglichkeit, etwas zu programmieren, wenn sie nur ein Makro oder ein Skript zur Automatisierung eines kleinen Teils des Puzzles benötigen.
Sie haben ein Recht auf Ihre Gefühle. Die bessere Frage ist jedoch, was Sie gegen diese Frustration tun. Finden Sie es heraus und kommen Sie voran? Welche Rückmeldungen erhalten Sie zu Ihrer Arbeit? Wenn Sie Feedback erhalten, dass es großartig ist, haben Sie möglicherweise unrealistische Erwartungen an sich. Auf der anderen Seite, wenn Sie wenig bis gar kein Feedback bekommen, könnte ich einige Ängste verstehen.
quelle
Ich erinnere mich, mit Assembler auf einem Commodore VIC20 angefangen zu haben. Zuerst habe ich einfach die Anweisungen für Hacks befolgt, die in Spielemagazinen veröffentlicht wurden, um mir unendliche Leben auf Jet Set Willy zu ermöglichen, oder was auch immer ich betrügen wollte. Ich hatte eine Neugier und eine Sehnsucht, die mich dazu veranlassten, meine eigenen Hacks zu erstellen und zu verstehen, wie und warum sie funktionierten. Dies führte dazu, dass ich meine ersten Programme schrieb.
Der Punkt ist, dass ich ziemlich lange total verwirrt war (nicht länger als 6 Monate, aber ich stimme zu, dass dies wahrscheinlich eine Funktion des Beginns mit der 3D-Modellierung ist), aber dann fiel der Cent plötzlich ab. Ich begann zu verstehen, wie der von mir geschriebene Code in CPU-Anweisungen und Speicherreferenzen übersetzt wurde, und bald konnte ich einen recht kompetenten Assembler schreiben. Natürlich arbeiten Sie jetzt 20 Stufen über der CPU, aber ich bin mir sicher, dass, wenn Sie die Befähigung dazu haben, dieser Moment der Glühbirne eintreten wird.
Ich denke, ich wiederhole die Punkte, die ich in Bezug auf Neugierde gemacht habe, und lerne und werde verwirrt, wenn du etwas erschaffst, das wirklich synergistisch ist.
Wenn Sie einen Ratschlag geben können, ist dies "Beharrlichkeit und Erlernen der Grundlagen der objektorientierten Programmierung". Viel Glück.
quelle
Sie hatten im Grunde keine Ausbildung und wurden in ein schwieriges Projekt verwickelt. Normalerweise verbringen die Leute mindestens drei Jahre damit, Dinge zu lernen, bevor sie überhaupt nicht-triviale Projekte beginnen. Es gibt keine Verlegenheit und es bedeutet auch nicht, dass Programmierung nichts für Sie ist, wenn Sie es zu schwer finden.
Sogar ich hatte in meiner vierten Programmwoche Probleme: P
quelle
Ihre Frustration ist völlig normal; Es ist wahrscheinlich, dass 3 Wochen Training völlig unzureichend sind. Sie können nicht wissen, ob die Programmierung für Sie richtig ist, indem Sie mit Ihrem Gehaltsscheck direkt in ein schwieriges Programmierprojekt einsteigen.
Wenn Sie wirklich wissen möchten, ob das Programmieren für Sie "richtig" ist, lernen Sie in Ihrer Freizeit eine neue Programmiersprache und machen Sie einige Hobby-Programmierprojekte. Wenn Sie dieses Erlebnis genießen (das Programmiererlebnis ohne Termine und Arbeitsdruck), dann ist das Programmieren genau das Richtige für Sie.
Nun ... ob dieser spezielle Programmierjob für Sie richtig ist ... Ich würde mich persönlich zu einem Nein neigen . Sprechen Sie mit Ihrem Vorgesetzten über Ihre Frustration und erwägen Sie, einen Job zu finden, der entweder besser zu Ihren aktuellen Fähigkeiten passt oder ein besseres Schulungsprogramm verspricht. Ich kann die Details Ihrer speziellen Situation nicht kennen, aber es scheint mir, dass es sowohl für Sie als auch für das Unternehmen ein Nachteil war, Sie für diese Position einzustellen, ohne eine angemessene Schulungszeit bereitzustellen. Wenn sie keine bessere Ausbildung geplant hätten, hätten sie Sie nicht einstellen sollen. Trotzdem ist die Schule der harten Schläge so gut wie jede andere. Auch hier ist die beste Vorgehensweise, mit Ihrem Manager zu sprechen und zu sehen, wie er oder sie Ihre aktuelle Leistung einschätzt und auf Ihre Frustration reagiert.
quelle
Die Frage, die Sie sich wirklich stellen müssen, sind:
a) Programmierst du gerne? b) Fühlen Sie sich als glücklichste Person der Welt, wenn Ihre Bewerbung funktioniert? - Wenn Ihre Antwort JA lautet , machen Sorgen, lernen Sie weiter und verbessern Sie Ihre Programmierkenntnisse.
Generell ist 3D-Modellierung ein völlig anderer Bereich in der Programmierwelt wie eine Spielprogrammierung. Das kann dich erschrecken oder dein Interesse nicht wecken. Hab keine Angst , halten Sie einfach Ihre Motivation aufrecht, indem Sie Dinge lernen, die Sie nicht kennen. Stellen Sie Ihre kurzfristigen und langfristigen Ziele auf das ein, was Sie zum Aufholen und Lernen benötigen.
Bearbeiten: Die "3D-Modellierungssoftware" ist kein Hauptprogrammierbereich. Auf diese Weise lernen Sie möglicherweise sehr spezifische Kenntnisse / Techniken, die in anderen Bereichen (CRM, Buchhaltung, Gesundheitswesen usw.) nicht angewendet werden . Wenn Sie "3D-Modellierung" für NICHT interessant halten, suchen Sie einfach nach einem anderen Geschäftsbereich der Programmierung das treibt dein interesse an.
quelle
Das Programmieren von 3D-Grafiken ist eine Nische, in die selbst die meisten etablierten Softwareentwickler nicht eintauchen möchten. Ich arbeite viel mit OpenGL und kenne das aus erster Hand. Hoffentlich geht es bei all deiner Arbeit darum, mit Szenengraphen auf einer höheren Ebene zu arbeiten, aber wenn du wie ich tief im Innersten bist. Für einen neuen Programmierer ist das wie ein Baby, das läuft ... in einem 100-m-Sprint ... mit Usain Bolt ... mit dem zusätzlichen Druck von Leuten, die realistische Erwartungen haben, dass das Baby das Rennen gewinnt.
Es geschehen jedoch Wunder, und alle Hoffnung ist nicht verloren.
Ich vertraue darauf, dass Sie dies bereits tun, aber Sie müssen nicht nur Lernprogramme zur Programmierung durchführen (dies ist bei weitem die kleinste Herausforderung), sondern auch Dinge über 3D-Grundlagen und Koordinatensysteme lesen. Verstehen Sie die Mathematik, die beim Zeichnen von Polygonen, Übersetzen, Drehen (Gott helfe Ihnen, wenn Quarternion), Matrizen usw. eine Rolle spielt.
Aber im Ernst, sind Sie sicher, dass Sie damit weitermachen möchten? Was ist Ihnen wichtiger? diesen Job oder eine ganze Reihe von Haaren?
quelle
Ich habe kürzlich ein Buch über C # weggeworfen - da es für mich keinen Wert hat.
Aber ich kann bestätigen, Frust und Bugs gelten als "normal".
Es ist zwar keine Frist, die im Nacken liegt, aber keine Sorge.
Auf der anderen Seite - wenn es wie ein Zauber wirkt, kann es in der Tat Spaß machen.
Wenn Sie außergewöhnliche Ergebnisse liefern, werden Sie möglicherweise "Sir" genannt :)
In Bezug auf Ihre Frage, ob es der richtige Job für Sie ist - das hängt davon ab, ob Sie jeden Tag neue Dinge lernen möchten - ob oder nicht. Auch wenn Sie die Geduld und die Nüsse haben, um Probleme anzugehen.
Ich wende ständig die TDD-Methodik an - aber es dauert mehrere Jahre, bis ich sie erlernt habe. Wenn Sie einen 3-wöchigen Schnellstartkurs haben, werden Sie vielleicht nirgendwo hinkommen. Es geht nur darum, Fehler zu machen und daraus zu lernen.
Jeder hasst Käfer und Fehlfunktionen - aber man kann mit ihnen wachsen. Ich meine, dass es nicht unbedingt schlecht ist, Fehler zu machen (oder sogar zu provozieren).
Der wahrscheinlich beste Tipp, den ich Ihnen geben kann, ist, die Dinge in kleinere Meilensteine aufzuteilen.
Denn wenn die von Ihnen gesetzten Ziele völlig außer Reichweite sind, ist dies frustrierend.
Ich habe das Debuggen auf einem Nintendo SNES gelernt - ich habe wie eine Hacke geschummelt und Geld von einem Konsolenmagazin bekommen, um sie mit neuen Cheats zu versorgen. Später bekam ich einen Atari ST und lernte Omikron Basic zu programmieren ... und bin immer noch hier, derzeit selbstständig als JS-Assistent :)
Ihre Situation ist, wie beschrieben, eher "Lernen auf die harte Tour" ... Ich würde auch vorschlagen, es mit grundlegenderen Anwendungen zu lernen. Eine gute Sprachreferenz ist alles, was man braucht, und vielleicht gute Beispiele.
quelle
Das Programmieren erfordert viel Antrieb und Engagement, um zu dem Punkt zu gelangen, an dem Sie wissen, was Sie tun, und um das zu tun, was Sie wissen, außergewöhnlich gut.
Um wirklich erfolgreich zu sein, muss das Programmieren zu einem Lebensstil werden. eher als ein gewünschter Beruf. Es muss zu einer Obsession werden, die am Widerstand beginnt und sich auf das gesamte Netzwerk erstreckt, das das Internet umfasst.
Persönlich empfehle ich Ihnen dabei zu bleiben, weil ich persönlich auch viel zu kämpfen hatte. Ich konnte erst ungefähr ein Jahr und ein paar Monate, nachdem ich angefangen hatte, Informatik zu studieren (oft mehr als 12 Stunden am Tag), wirklich anfangen, wie ein Programmierer zu denken.
Ich verbrachte die ganze Zeit damit, alles zu studieren, was ich im Internet über Computer verstehen konnte. Ich nutzte die Komplexität des Programmierens, um mich jedes Mal, wenn ich überfordert war, noch störrischer und motivierter zu machen. Ich habe viel Zeit damit verbracht, den Code anderer Leute zu lesen und ihn manuell in mich einzutippen. Immer wenn ich etwas fand, das ich nicht verstand, schlug ich es nach. Jeden Tag tauche ich tiefer und tiefer in meine erzwungene Faszination und Besessenheit ein. (Ich fing sogar an, Träume zu programmieren, in denen ich über Binärdateien mit Programmen kommunizierte. Zu tief! Lmao)
Es war nicht immer einfach. Ich hatte definitiv das Gefühl, nicht STÄNDIG darauf eingestellt zu sein, aber eines Tages konnte ich mich einfach einbuchen und anfangen, wie verrückt zu programmieren. Mit jeder Linie, die ich mir vorgestellt hatte, wurde es für mich immer sinnvoller. Es fing alles an, bis ich zurückgehen und meinen Code nur wenige Stunden später optimaler und effizienter umschreiben konnte.
Danach habe ich nie mehr daran gezweifelt, ob ich Programmierer werden kann. Man muss es wirklich wollen. Es gibt nicht viele Menschen, die das erforderliche Engagement haben, um den Sturm zu überwinden, der erforderlich ist, um sich zu einem Informatiker zu entwickeln.
Wenn Sie jedoch tatsächlich an einem Punkt angelangt sind, an dem Sie komplizierte Softwaresysteme entwickeln können, die aus Ihrer Kreativität und Ihrem Einfallsreichtum hervorgegangen sind, übersteigt die Belohnung Ihrer Leistung bei weitem den Kampf, den Sie durchlaufen mussten, um zum Erfolg zu gelangen.
quelle
Ich denke, die eindeutigste Frage, die Sie sich stellen sollten, ist: "Lernen Sie gern?"
Anhand dieser einfachen Frage wissen Sie, ob die Programmierung mit angemessener Wahrscheinlichkeit für Sie geeignet ist. Wenn Sie nicht gerne lernen, werden Sie wahrscheinlich nicht gerne programmieren. Beim Programmieren geht es zu 5% um das Schreiben von Code, zu 10% um das Entwerfen der Funktionsweise Ihres Codes und zu 85% um das Erlernen, wie man besseren Code schreibt und bessere Designs erstellt. (Und das ändert sich nicht! Ich programmiere seit über 8 Jahren und lerne immer noch!)
Jetzt können Sie natürlich gerne lernen und nicht gerne programmieren, aber da Sie gerne lernen, können Sie versuchen, einige Programme zu erstellen! Sie können jedoch nicht auf die anfängliche Lernkurve verzichten, besonders bei so vielen einfachen Sprachen. Also raus und Code schreiben!
quelle
Beim Programmieren geht es zunächst um das Lösen von Problemen. Die Sprache ist zweitrangig. Sobald Sie mit dem Schreiben Ihres ersten Programms beauftragt sind (übrigens, Sie werden den Code nicht das erste Mal selbst schreiben - weil alles geschrieben wurde) und das Rätsel lösen ... stellen Sie die Verbindung her, Sie werden es wissen genau dann und dort, wenn Sie ein Programmierer sein wollen.
quelle