it-swarm-eu.dev

Ist 4-5 Jahre die „Midlife Crisis“ für eine Programmierkarriere?

Ich programmiere C # seit etwas mehr als 4 Jahren professionell. In den letzten 4 Jahren habe ich für einige kleine und mittlere Unternehmen gearbeitet, von "Web-/Werbeagenturen" über kleine branchenspezifische Softwareläden bis hin zu kleinen Startups. Ich habe hauptsächlich "Business-Apps" erstellt, bei denen Programmiersprachen auf hoher Ebene verwendet werden (Müll gesammelt), und meine allgemeine Erfahrung war, dass alle Arbeiten, die ich durchgeführt habe, professioneller hätten sein können. Viele Dinge wurden falsch gemacht (in Eile), hauptsächlich aufgrund des Kostenfaktors, dass die Leute immer etwas „jetzt“ und mit dem geringsten Geldbetrag wollten. Ich dachte immer wieder darüber nach, ob ich für ein größeres Unternehmen oder ein Unternehmen arbeiten könnte, das besser für Programmierer geeignet ist, oder an einem Ort, der das Geld und die Zeit hat, um wirklich etwas längerfristiges und wartbareres aufzubauen, das ich in meiner Karriere vielleicht mehr genossen habe. Ich hatte noch nie einen "Mentor", der mich durch meine 4-jährige Karriere führte. Ich bin so ziemlich ein anderer Blog/Google/Autodidakt als mein Bachelor-IT-Abschluss.

Ich habe auch ein anderes Problem beobachtet, bei dem die meisten sogenannten "Senior" -Programmierer in "meinem Arbeitsumfeld" wirklich nicht so hochrangig sind. Sie sind nur deshalb "älter", weil sie lange Zeit Programmierer waren, aber der Code, den sie schreiben oder die Entscheidungen, die sie treffen, sind absolut Unsinn! Sie wollen nicht lernen, sie wollen nicht besser sein, sie wollen nur bezahlt werden und das tun, was sie gesagt haben, was Sinn macht, und die meisten von uns sind so. Vielleicht sind sie deshalb dort, wo sie jetzt sind. Aber ich möchte nicht so werden wie sie, ich möchte besser werden. Ich bin in einen mentalen Zustand geraten, in dem ich nicht länger beabsichtige, Programmierer für meine zukünftige Karriere zu sein. Ich fing an zu denken, dass es vielleicht bessere Dinge gibt, an denen ich arbeiten kann. Je mehr Blogs ich lese, desto mehr "Best Practices" habe ich ausprobiert, desto mehr habe ich das Gefühl, von "meiner Realität" abzuweichen. Aber ich bin kein großartiger Programmierer, sonst glaube ich nicht, dass ich dort bin, wo ich jetzt bin. Ich denke, 4-5 Jahre sind eine Phase, die beruflich einen Schritt nach vorne oder einen Schritt von Ihrem Standort aus bedeuten kann.

Ich wollte nur hören, was andere zu dem, was ich oben erwähnt habe, zu sagen haben und ob Sie in Ihrer vergangenen Programmierkarriere eine ähnliche Situation erlebt haben und wie Sie damit umgegangen sind. Vielen Dank.

330
Jeff

Sie öffnen eine sehr interessante Frage. Ich stimme Ihnen voll und ganz zu. Ich habe ähnliche Beobachtungen gemacht.

Ich programmiere bereits seit mehreren Jahren professionell und habe festgestellt, dass die Anzahl der guten Programmierer, der großartigen Entwickler, die ihre Arbeit lieben und sie mit Qualität und Leidenschaft ausführen können, nahezu Null ist. Ich habe wahrscheinlich nur eine Person getroffen, die mir etwas beibringen konnte. Das meiste, was ich weiß, habe ich selbst gelernt, Bücher und Foren gelesen, in Foren gefragt und nach Offenbarungsgedanken gegoogelt.

Nach einer Weile bereue ich nicht so viel.

Die Möglichkeiten, in einer Arbeitsumgebung zu lernen, können häufig eingeschränkt sein. Du fängst nicht an. Du beendest sie nicht. Sie entwerfen nicht, verbessern nicht, überarbeiten nicht, denken nicht an Architektur, Sie codieren nur und hacken Dinge zusammen. So funktionieren die meisten Geschäfte. Sie lernen nicht nur nichts, es ist auch wahrscheinlicher, dass Sie meistens falsche Dinge lernen, wie man KEINE Software entwickelt. Ich habe ständig beängstigende Dinge um mich herum gesehen, all diese Anti-Muster, von denen Sie gehört haben. Was noch schlimmer ist, ich bin gezwungen, sie selbst zu machen.

Ich weiß nicht, wie es passiert ist, aber ich habe es irgendwie geschafft, eine Eingangsbarriere aufzubauen. Ich bleibe offen, höre zu und wenn ich ein Potenzial zur Selbstverbesserung sehe, recherchiere ich und übernehme vielleicht eine Technik oder Idee. Aber kein BS kann jemals durchkommen. Ich habe lange Zeit in schlecht geführten Projekten gearbeitet, aber ich habe keine dieser schlechten Techniken für mich übernommen.

Ich habe ziemlich schnell verstanden, dass Sie, wenn Sie mit dem Programmieren zufrieden sein möchten, den Job vergessen und Ihr eigenes persönliches Projekt haben. Hier können Sie all Ihre Liebe, Leidenschaft und Ihr Wissen einsetzen, um die Dinge mit dem hohen Qualitätsniveau richtig zu machen. Sie werden eine Menge Dinge lernen, eine Vielzahl von Dingen, denen Sie niemals ausgesetzt gewesen wären und mit denen Sie herausgefordert worden wären, wenn Sie langweilige Unternehmensmitarbeiter gehackt hätten. Ich mache meinen Job nur für Gehaltsschecks und bin mit meinen persönlichen Projekten zufrieden.

Eine Sache, die ich wirklich nicht verstehe, ist, wie diese Situation heutzutage möglich ist. Die Softwareentwicklung ist sehr gereift. Es hat gute und schlechte Erfahrungen gemacht. Viele erfolgreiche und viele gescheiterte Projekte. Es gibt Erfahrung mit langfristigen Projekten und das Verständnis, welche langfristigen Auswirkungen die eine oder andere Organisation auf das Projekt haben wird. Es gibt zahlreiche Studien und gute Bücher geschrieben. "Pragmatic Programmer", "Code Complete", "Mythical Man-Month", "Design alltäglicher Dinge" und andere. Warum liest niemand außer uns die Programmierer? Wie es möglich ist, dass die meisten Entwickler und Manager selbst nach 20 Jahren IT-Arbeit keine Zeit gefunden haben, das eine oder andere Methodenbuch zu lesen. Sie sind für diejenigen geschrieben, aber kaum gelesen, die dieses Medikament am dringendsten benötigen.

In Bezug auf Karriereperspektiven. Was mir auch auf dem Arbeitsmarkt für Arbeitnehmer allgemein aufgefallen ist, ist, dass Arbeitgeber da draußen zunehmend das Interesse an qualitativ hochwertiger Arbeit verlieren (stellen Sie sich vor, sie hätten es einmal gehabt) und immer mehr nach dem billigsten verfügbaren Arbeitshandwerk suchen. Es fällt Ihnen schwer, Ihr Wissen, Ihre Erfahrung und Ihr Verständnis des Universums an irgendjemanden zu verkaufen. Es ist nicht gefragt. Gefragt ist, dass Ihre Projekte von Junioren ruiniert werden, die keine Erfahrung haben und keine professionelle Arbeit leisten möchten. Billige Leute werden benutzt und missbraucht und dann rausgeworfen, damit die nächste Runde beginnt. Projekte werden auch an Niedriglohnziele ausgelagert, wo sie von Leuten durchgeführt werden, die anscheinend anfangen, Programmieren nur mit Ihrem Projekt zu lernen. Das ist eine Sache, die ich wirklich nicht verstehe.

Ich unterhalte immer mehr die Idee, dass ich irgendwann in Zukunft die angestellte Programmierarbeit einstellen werde. Ich würde sehr gerne in meinem eigenen Start-up mit meinem eigenen Projekt arbeiten. Wenn nicht, denke ich darüber nach, freiberuflich zu arbeiten oder wahrscheinlich den bezahlten Job zu ändern. Schließlich lerne ich während der Arbeitszeit kaum etwas und bekomme überhaupt keine Befriedigung. Ich kann alles 9-5 machen und bin immer zufrieden mit meinen persönlichen Projekten. Ich lerne viel von Online-Communities. Ich bekomme hier Aufmerksamkeit, Unterstützung für meine Ideen und gelegentlich sogar Anerkennung, die ich mit meinem Job und meinen Arbeitskollegen nie bekommen konnte. Mal sehen, wo ich in Zukunft sein werde.

195
user8685

Es gab ein Beitrag von Jeff Atwood über Coding Horror , das besagte, dass dies Spaß machen soll. Ein Teil der Berufsbeschreibung als Softwareentwickler besteht darin, Spaß an Ihrer Arbeit zu haben. Andernfalls wird es für Sie zu einem wirklich langweiligen und umständlichen Beruf.

Die Tatsache, dass Sie ständig nach Möglichkeiten suchen, Ihre Arbeit zu verbessern, und sich ständig über die neuen Dinge und die besten Praktiken informieren, zeigt, dass Sie Spaß an Ihrer Arbeit in der Natur haben. Mein Rat an Sie wäre also, sich auf die Suche nach einem neuen Job zu machen.

Ich denke jedoch nicht, dass die Arbeit für ein großes Unternehmen notwendigerweise die Arbeitsbedingungen verbessern wird. Ich denke, die besten Umgebungen für Softwareentwickler sind kleine bis mittlere Unternehmen, in denen die Leute mögen, was sie tun. Das Beste, was Sie tun können, ist, Unternehmen zu suchen und auszuchecken, bevor Sie eine Entscheidung treffen. Stellen Sie sicher, dass sich das neue Unternehmen lohnt.

70

Das erste: eine große Warnung: Wenn Sie sich seit 10 Jahren entwickeln (wie ich), gibt es nichts, was Sie besser machen können als sich zu entwickeln. Wenn Sie also etwas anderes tun möchten, etwas Neues, tun Sie es schnell, sonst kann es zu spät sein und Sie werden nicht gut darin sein, etwas anderes zu tun.

Nur um meinen eigenen Standpunkt zu teilen: Ich bin eine autarke Person, Autodidakt. Ich habe alleine reines C, C #, Amiga C-Entwicklung, Windows, COM, Delphi, PHP, Cinema4D und jetzt Blender und Python gelernt. Ich habe fast immer alleine gearbeitet . Hier ist das größte Problem, auf das ich bisher gestoßen bin: Kleine Unternehmen versuchen zu überleben und Sie sind einer derjenigen, die es am Leben erhalten: Es ist sehr stressig, aber es lohnt sich auch: Sie arbeiten mehr, Sie lernen schneller und vieles schnell machen Sie Produkte schneller (obwohl Sie Ihre Arbeit oft nicht richtig machen können). Wie auch immer: zu viel Stress. Im Gegenteil, große Unternehmen werden immer überleben, aber das Problem betrifft Menschen: zu viele Menschen. Es ist ein Dschungel, aber weitaus schlimmer: Nichts ist klar: Wenn die Leute, mit denen Sie arbeiten, sich besser fühlen als sie, werden sie ihr Bestes geben nicht um Ihnen zu helfen, nach oben zu gehen, sondern nur um Sie zu erschießen weil sie um ihre eigene Karriere fürchten. So funktioniert es in Frankreich (ich weiß es nicht für andere Länder).

Um es kurz zu machen: Versuchen Sie, ein mittelständisches Unternehmen zu finden, bei dem Sie das Gefühl haben, dass es Ihr Platz ist . Egal wie lange Sie programmiert haben, egal wie lange Sie gearbeitet haben, der Tag, an dem Sie in Ihr Auto steigen, um zu Ihrem Job zu gehen, und Sie denken, "Ich bin glücklich, zu meiner Arbeit zu gehen", wird der Tag sein Tag, an dem Sie Ihren Platz gefunden haben .

Es ist keine Frage von 4-5 Jahren oder was auch immer.

NB: Es gibt einen großen Unterschied zwischen "Ich bin glücklich, zu meiner Arbeit zu gehen" und "Ich bin glücklich, zu meiner Arbeit zu gehen, weil ich dies und das mache"/oder/"Ich bin glücklich, zu meiner zu gehen arbeiten, weil ich dies und das lernen werde ". Wenn du denkst "weil ich dies und das mache", bedeutet dies "dies und das" wird eines Tages enden und du wirst danach vielleicht nicht glücklich sein. Dies ist meine 12-jährige Programmiererfahrung. Und ich bin ein Senior, ich bin gut bezahlt, aber mir ist klar, dass 20-25 Jahre alt sind. Leute denken schneller als ich. Sie haben einfach nicht meine Erfahrung, also habe ich nur zugegeben, dass ich ihnen helfen kann, Dinge zu tun, sie tun es schneller, aber ich helfe ihnen, sie richtig zu machen (was fast nie der Fall ist, wenn Sie anfangen, sich zu entwickeln).

Entschuldigen Sie mein Englisch, das nicht perfekt ist. Zögern Sie nicht, meinen Beitrag zu korrigieren, damit er richtig Englisch ist.

50
Olivier Pons

Ich bin seit einundzwanzig Jahren Softwareentwickler - unter anderem bedeutet das, dass ich das lange genug gemacht habe, um zu trinken! ;-) Aber im Ernst, ich kann mir nicht vorstellen, etwas anderes so gut oder so freudig zu machen wie das Programmieren. Ich bin anscheinend einer dieser seltenen Vögel, die diesen Job wirklich lieben.

Ich habe kürzlich meinen Lebenslauf aufgefrischt und festgestellt, dass ich in den letzten zwei Jahrzehnten viele, viele Jobs hatte - hauptsächlich Verträge. Beim Betrachten dieser langen Liste wurde mir jedoch klar, dass die Jobs, die ich am meisten liebte (und die ich am längsten blieb), bei Softwarefirmen waren, d. H. Bei Unternehmen, deren Geschäftsmodell den Verkauf von Software an Kunden beinhaltete. Die folgenden Theorien sind wahrscheinlich nicht universell anwendbar, aber sie gehen weit, um meine Erfahrung zu erklären.

Aus meiner Sicht ist der Unterschied zwischen einem Software-Shop und einem typischen IT-Shop überraschend offensichtlich. Es ist nur eine Frage dessen, was die Führungskräfte verstehen. Wenn das Unternehmen den größten Teil seines Umsatzes mit Software erzielt, wird das Top-Messing die Software und ihre Herstellung wirklich verbessern. Wenn die Einnahmen jedoch aus dem Verkauf von Widgets stammen, haben sie im Allgemeinen nicht die geringste Ahnung, was erforderlich ist, um ihre IT-Infrastruktur am Laufen zu halten, geschweige denn die Prozesse, die hinter der Softwareentwicklung stehen. Schlimmer noch, obwohl sie die Aufgabe an IT-Mitarbeiter delegieren, versuchen sie, die IT-Prozesse auf das abzubilden, was sie wissen, mit Ergebnissen, die im Allgemeinen von enttäuschend bis katastrophal reichen.

Ein Grund dafür ist, dass es eine breite Palette von Talenten gibt, von bloß kompetenten bis hin zu Software-Virtuosen. Dies steht im Widerspruch zu der Einheitsmentalität, die für ungelernte und angelernte Positionen so gut funktioniert. Die Erwartung, dass ein Entwickler durch einen anderen mit einem ähnlichen "Skillset" ersetzt werden kann, mag uns lächerlich erscheinen, erscheint einer Managementstruktur, die sich auf Rohzahlen konzentriert, jedoch oft durchaus vernünftig. Wenn dies unglaublich erscheint, schauen Sie sich an, wie viele Geschäfte noch versuchen, das Wasserfallmodell zum Laufen zu bringen.

Sie brauchen nicht unbedingt alle Virtuosen in Ihrem Team, aber Sie brauchen mindestens ein oder zwei. Und ein Teil ihrer Rolle muss darin bestehen, die Junioren zu betreuen, damit sie in die Rolle hineinwachsen können (oder sich auswaschen können - es passiert). Andernfalls herrscht ein schlecht bis mittelmäßiger Junior-Code mit den damit verbundenen Fehlfunktionen und Aufblähungen vor. Sobald dieser Krebs einsetzt, wird der Code schnell nicht mehr wartbar, die Produktivität im gesamten Team sinkt stark und die Menschen beginnen auszubrennen.

Dies schafft Umsatz, bis schließlich jemand sagt: "Wir können das Ding nicht mehr am Laufen halten! Lass es uns verschrotten und von vorne anfangen!" Die Investition in die alte Codebasis geht aus dem Fenster und der Prozess beginnt von vorne. "Aber diesmal wird es anders sein", versprechen Sie sich. Und für eine Weile ist es so. Dann stellt jemand Ihren Rockstar ein und Sie haben ungerichtete Nachwuchskräfte, die Ihre glänzende neue Codebasis erneut zerstören.

Schaum. Schimpfen. Bereuen.

Aber ich schweife ab ... Um Ihre ursprüngliche Frage zu beantworten: Nein, ein halbes Jahrzehnt ist nicht die Lebensmitte einer Software-Karriere. Vielleicht ist es eher ein Zeitalter der Vernunft - der Ort in Ihrer Karriere, an dem die Schuppen von Ihren Augen fallen und Sie beginnen, das Geschäft so zu sehen, wie es ist. Die Erkenntnisse kommen für jeden in einer anderen Reihenfolge, und das färbt die Schlussfolgerungen, die Sie auf dem Weg ziehen können. Aber bleiben Sie dran - wenn Sie auf der anderen Seite vernünftig herauskommen, haben Sie eine viel gesündere Perspektive und Sie werden letztendlich feststellen, dass dieses verrückte Geschäft, in dem wir uns befinden, lohnender ist als je zuvor.

36
Eric Lloyd

Ich denke, Sie brauchen noch fünf Jahre Erfahrung. Dann können Sie die Kompromisse akzeptieren und gerne Abhilfe schaffen.

Zumindest war das meine Erfahrung. Mit ungefähr 5 Jahren (ungefähr der Zeit, die es braucht, um ein Experte zu werden) denke ich, dass ich es tatsächlich "verstanden" habe. Mir wurde klar, dass mein Code Mist war. Ich erkannte, dass meine glänzenden Hacks, mit denen die Apps funktionierten, genau das waren, Hacks. Mir wurde klar, dass ich unterdurchschnittlichen Code erstellt hatte, um meine Chefs glücklich zu machen und die Gehaltsschecks am Laufen zu halten.

Gleichzeitig wurde mir klar, dass sich die Wünsche der Chefs nicht ändern würden. Sie wollten es gestern immer wollen, ohne Geld für gute Werkzeuge auszugeben. Es würde sie nie interessieren, ob ich ein bestimmtes Designmuster verwendete. Niemals würden sie Ehrfurcht haben, weil ich die Wartbarkeit durch vernünftige Anwendung des Grundsatzes der Einzelverantwortung erhöht habe.

Mir wurde auch klar, dass ich gegen mein jüngeres Ich kämpfen würde, das von unerfahrenen Programmierern verkörpert wird. Der Programmierer, der das Programm gehackt hat, damit es schnell funktioniert. Der junge Programmierer, der sich all den dummen Dingen widersetzte, für deren Verständnis ich Jahre gebraucht habe. Der junge Programmierer, der denkt, 5 Klassen zu haben, ist verwirrender als eine große Klasse, die alles kann.

Aber jetzt, wo ich 10 Jahre alt bin, habe ich festgestellt, dass diese Frustrationen genau wie die Frustrationen sind, die ich in meinen ersten fünf Jahren erlebt habe. Es ist die Frustration, die mit dem Erlernen einer neuen Fähigkeit verbunden ist. Aber diesmal sind die Fähigkeiten zwischenmenschlich. Die Fähigkeiten bringen Nicht-Programmierer dazu, die Grenzen des Cowboy-Weges zu verstehen. Und diese Fähigkeiten sind im großen Schema der Dinge vielleicht wichtiger als die Programmiererfähigkeiten, die ich in den ersten fünf Jahren erworben habe.

Aber das wirklich Erstaunliche an diesem Job ist, dass ich mich durch technische Fähigkeiten weiterentwickeln kann und muss, während ich gleichzeitig mit dem Management zusammenarbeite.

Also sage ich dir, mach weiter so! Weil Sie sich mit der Technologie vertraut gemacht haben, können Sie anfangen, an Ihren Fähigkeiten zu arbeiten, die mit den matschigen Dingen umgehen, die Menschen genannt werden.

32
ElGringoGrande

Ich habe festgestellt, dass es zwei Geheimnisse des relativen Glücks gibt:

  • suche nicht alles, was du willst, sondern alles, was du hast

  • das Leben ist hart - es spielt keine Rolle, wie hart du schlagen kannst (gut, persönlich und beruflich); es wird immer härter zurückschlagen. Es ist wichtig, wie viel Sie getroffen werden und trotzdem weitermachen können.

Immerhin ist alles ein Spaziergang im Park und es gibt wichtigere Dinge als Bits und Bytes und Übungen und so. Genieße einfach alle Erlebnisse so wie sie sind und kämpfe so viel du kannst.

29
AZ01

Vielleicht werfen Sie einen Blick auf The Passionate Programmer von Chad Fowler ... zitiert von der Webseite:

In den meisten Fällen sind bemerkenswerte Karrieren kein Zufall. Sie erfordern Denken, Absicht, Handeln und die Bereitschaft, den Kurs zu ändern, wenn Sie Fehler gemacht haben. Die meisten von uns sind herumgestolpert und haben sich von unserer Karriere dahin bringen lassen, wo sie wollen. Es ist Zeit, die Kontrolle zu übernehmen.

22
Adam

IMO ist die Unzufriedenheit, die Sie offensichtlich empfinden, keine Krise, sondern ein Zeichen dafür, dass Sie ein bestimmtes Niveau erreicht haben. Sie sind aus dem Slot "Ich bin nur ein Programmierer" herausgewachsen. Sie haben jetzt genug Verständnis, um die Mängel im aktuellen Stand der Dinge zu erkennen und zu sehen, wie sie behoben werden können.

Der nächste Schritt besteht darin, eine Verbindung zwischen dem, was Sie als potenzielle Verbesserung ansehen, und dem, was das Unternehmen, für das Sie arbeiten, als solches sehen würde. Dann müssen Sie Ihre Chefs davon überzeugen, dass dies der richtige Weg ist.

Es reicht nicht aus, Dinge zu verstehen und zu wissen, wie man Dinge macht. Sie sollten auch in der Lage sein, die Leute davon zu überzeugen, dass Sie wissen, was Sie tun. Und wenn es nach Verkauf klingt, dann deshalb, weil es so ist. Aber das ist absolut notwendig, um "großartig" zu werden. Sie arbeiten nicht mit Computern, Sie arbeiten für Menschen und mit Menschen müssen Sie in der Lage sein, Ihre Ideen zu verkaufen.

Natürlich wären einige Unternehmen zu konservativ, um Ihre Ideen zu akzeptieren, und Ihr Chef kann sie aufgrund der Farbe der Krawatte, die Sie tragen, ablehnen. Denken Sie daran, dass der Verkauf von Ideen nicht einfacher ist als das Generieren von Ideen. Ein erfolgloser Verkauf ist nicht unbedingt das Ergebnis der Hintergedanken Ihres Chefs. Dies kann eine schlechte Präsentation von Ihrer Seite sein.

19
mfeingold

Ich stimme Nikos voll und ganz zu. Ich denke, was Sie vielleicht brauchen, ist ein Unternehmen zu finden, das sich auf Technologie und Produkte konzentriert. Es gibt Unternehmen, in denen die Softwareentwickler die Entwicklung nur als ihre Aufgabe betrachten, und sie denken in ihrer eigenen Zeit nie über dieses Zeug nach. Das Arbeitsumfeld ist in der Regel viel mehr auf Manager ausgerichtet, die Schreibtischarbeit leisten, als auf Entwickler, die Gedankenarbeit leisten. Der durchschnittliche Standard der Entwickler ist im Allgemeinen niedrig (obwohl Sie gelegentlich einen "Guru" bekommen). Sie neigen dazu, Dinge wie Versionskontrolle, Tests, Prozesse usw. zu kürzen (oder sogar zu vermeiden). Das Unternehmen liefert im Allgemeinen Software aus, die die Arbeit erledigt, aber sie ist oft hässlich und fehlerhaft, und niemand scheint besonders gestört zu sein.

Auf der anderen Seite gibt es Unternehmen, in denen die Entwickler nur das tun, was sie sonst sowieso zu Hause tun würden. Abends gehen sie nach Hause, arbeiten an ihren eigenen Heimentwicklungsprojekten und lernen in ihrer Freizeit neue Sprachen/Technologien. Das Arbeitsumfeld ist normalerweise sehr entwicklerorientiert, mit guten Monitoren, guten Werkzeugen und einer guten Atmosphäre, die zum Nachdenken anregt. Die Entwickler haben oft einen hohen Standard, und Sie lernen täglich von all Ihren Kollegen. Sie nehmen Dinge wie Versionskontrolle, Testen und Verarbeiten im Allgemeinen ernst. Das Unternehmen liefert in der Regel Software von guter Qualität aus, da die Entwickler diese bei Fehlern oder Unvollkommenheiten persönlich nehmen.

Ich denke nicht, dass die Suche nach einem größeren Unternehmen die Sache notwendigerweise verbessern wird. In vielen Fällen sind größere Unternehmen sogar noch schlimmer, und die Probleme sind nur tiefer verwurzelt und institutioneller.

Natürlich polarisiere ich die Dinge ein bisschen ... aber wenn Sie im Herzen ein Software-Ingenieur sind (und nicht nur in Ihrem Lebenslauf), müssen Sie versuchen, eine der letzteren Arten von Unternehmen zu finden. Denken Sie an einige gute Interviewfragen, die Sie stellen können sie, um herauszufinden, ob ein Unternehmen so ein Ort ist.

18
NeilDurant

Ich habe festgestellt, dass viele Programmierer nicht verstehen, dass nicht alle Entscheidungen technisch sind. So traurig es auch ist, etwas "Richtiges" zu tun, ist nicht immer eine Option. Dies führt dazu, dass viele Entwickler denken, ihre Chefs seien dumm oder treffen schlechte Entscheidungen ... und ja, oft ist dies tatsächlich der Fall, aber ebenso oft ist die Tatsache, dass das Unternehmen möglicherweise aus dem Geschäft ist oder ein Unternehmen verliert Arbeit ganz, wenn sie den Programmierern erlaubten, den Zeitplan festzulegen und alle technischen Entscheidungen zu treffen.

Leider ist es manchmal unsere Aufgabe, innerhalb der politischen oder finanziellen Zwänge des Jobs zu arbeiten und das Beste zu geben, was wir können.

Eine Sache, die Sie aus Erfahrung lernen, ist, konservativ zu sein. Die neuesten Techniken sind möglicherweise nicht bewiesen und Sie haben sie möglicherweise nicht genau im Griff, selbst wenn dies der Fall ist. Manager verbringen keine Zeit damit, sich mit einer neuen Technologie vertraut zu machen, nur weil Sie etwas Neues lernen möchten.

Programmierer vergessen, dass viele Unternehmen keine Softwareunternehmen sind. Es handelt sich um Unternehmen, die auch Software anbieten. Ihre Aufgabe als Programmierer ist es, die unternehmenskritischen Prozesse zu vereinfachen und keine perfekte Software zu schreiben. Manchmal stellt sich heraus, dass dies dasselbe ist, aber es ist tatsächlich ziemlich selten.

14

Ich kann mich darauf beziehen, dass der geschriebene Code besser sein könnte, aber es muss eine Zeile geben, in der man zu sehr ein Perfektionist sein kann, als ob etwas 99,99999% der Zeit funktioniert, ist für die meisten Menschen nicht nah genug an 100% ? Ein Teil meiner Kämpfe manchmal mit negativen Gedankenmustern ist Perfektionismus und intensive Selbstkritik und Urteilsvermögen, also kann ich mich vielleicht übermäßig damit identifizieren.

4-5 Jahre sind genug Zeit, IMO, um ein paar Dinge herauszufinden:

  • Was Sie wollen - Welche Praktiken in Ihrer aktuellen Position genießen Sie?
  • Was für Sie funktioniert - Dies unterscheidet sich geringfügig darin, dass das, was funktioniert, möglicherweise nicht immer das ist, was Sie wollen.
  • Was sind Ihre Dealbreaker? Könnten Sie für ein Unternehmen arbeiten, das Ihnen keine IDE ermöglicht? Extremes Beispiel, aber ich würde hoffen, dass dies den Punkt etwas veranschaulicht.

Es gibt andere Fragen wie " Roadmap zu einem besseren Programmierer " und " Wie man ein" schnellerer "Programmierer wird ", die möglicherweise Vorschläge für Sie enthalten, wenn Sie dies möchten verbessere deine Fähigkeiten.

Ich habe auch erlebt, wo der Senior-Titel jemandem verliehen wird, nur um so lange auf dem Feld zu überleben, anstatt ein Niveau an Fähigkeiten zu erreichen. Sie können dies entweder als Teil der Funktionsweise der Welt akzeptieren oder versuchen, Orte zu finden, die anders laufen. Wie viele es tatsächlich gibt, weiß ich nicht, aber ich kann sagen, dass Sie manchmal einen guten Platz finden, wenn es darum geht, wie Sie gerne arbeiten und was das Unternehmen und seine Mitarbeiter verwenden, um die Arbeit zu erledigen.

" Sources of Insight " ist einer meiner Lieblingsblogs und ich lese ihn fast immer gerne. Das Material ist ein bisschen kopflastig, da es viele intellektuelle Elemente zu dem gibt, was geschrieben steht, aber es gibt Nuggets, die man nehmen und ihr Leben ein wenig verbessern kann, oder zumindest war das meine Erfahrung.

Ich kann mich in der Schule erinnern, als ich ein Kind war, dass es nach 4-5 Jahren oft Übergänge gab, als ich in meiner ersten Schule 8 Jahre lang war (Junior Kindergarten bis Klasse 6), dann waren es 2 Jahre (Klassen 7 und 8). , 4 Jahre (High School, Klasse 9-13, wo 11/12 in einem Jahr in meinem Fall gemacht wurde) und 4 Jahre (Universitäts-Bachelor-Abschluss).

Ich kann die Idee einer Krise akzeptieren, die an verschiedenen Punkten im Leben auftritt, z. Wenn man die Universität beendet, kann man sich fragen, wer sie sind oder nachdem man eine Weile gearbeitet hat, ob sich das alles lohnt.

Einige Orte können als großartige Orte zum Arbeiten erscheinen, andere können zu Burnout führen, da dies hier einige Male die Frage war: " Was verursacht Entwickler-Burnout " und " Entwickler-Burnout-Geschichten" , "während andere Fragen das Gegenteil davon sind" Was ist Ihre Motivation , "und" Programmieren (de) Motivation und weitere Pläne ... "

Nur als Hintergrund für meine Antwort hier habe ich seit fast 12 Jahren Websites/Anwendungen entwickelt, als ich im Februar 1998 meinen ersten Job außerhalb der Universität bekam und abgesehen von einer 8-monatigen Dürre, in der ich nicht arbeitete Ich habe dies die ganze Zeit in verschiedenen Umgebungen getan: Ein paar Dotcoms, ein Anwendungsdienstleister und jetzt im Webentwicklungsteam der Abteilung Informationssysteme eines lokalen Technologieunternehmens. Mir ist klar, dass dies eine lange Antwort ist, aber ich denke, die gestellten Fragen haben keine kurzen Antworten in meinem Kopf.

10
JB King

Meiner Meinung nach ist es keine Midlife-Crisis - ich würde sagen, die Flitterwochen sind vorbei.

10
bernhardrusch

Ich habe in meinen 10 Jahren Programmierung ähnliche Dinge gefunden, und ich vermute, dass dies ziemlich häufig vorkommt. In der Geschäftswelt (im Gegensatz zur akademischen Welt) bestimmen Geld (oder Geldmangel) und Zeit den Zeitplan, die Funktionen und die Qualität der Programmierung. Oft fehlen diese Ressourcen, um die Dinge richtig zu machen. Dies ist ein Hauptmotiv für die Suche nach den effizientesten Methoden zur Lösung von Problemen. Diese Situation hat mich auch dazu veranlasst zu bedenken, dass meine Programmierung nur das vorliegende Problem lösen sollte (mit einigen zukünftigen Überlegungen), anstatt etwas zu erstellen, das viel mehr Funktionen enthält als erforderlich. Dies ist meiner Meinung nach eine wichtige Lektion zu lernen.

Ihre Kommentare zu "Senior Programmers" sind meiner Erfahrung nach leider auch häufig. Ich denke, der Grund dafür ist zweierlei: Erstens werden viele erfahrene Programmierer faul und verwenden nur die Werkzeuge und Methoden, die sie in ihrer Karriere verwendet haben. Die Technologie entwickelt sich jedoch weiter und dies führt dazu, dass diese erfahrenen Programmierer zu "Dinosauriern" werden. Zweitens kann es nach einer Weile des Programmierens leicht werden, ein bisschen Hybris zum Opfer zu fallen ("meine Talente haben mich so weit gebracht, also muss ich ein ziemlich guter Programmierer sein"). Ich versuche, diese beiden Probleme zu bekämpfen, indem ich ständig versuche, neue Methoden oder Technologien zu erlernen, um meine Probleme zu lösen. Manchmal widerspricht dies dem obigen Unterrichtszustand "Nur das bauen, was erforderlich ist", aber das Ziel ist es, ein gesundes Gleichgewicht zwischen beiden anzustreben.

Ich würde vorschlagen, die Erfahrungen, die Sie gemacht haben, als Motivator zu nutzen, um sich kontinuierlich zu verbessern. Ich habe die Programmierbranche nach ungefähr 5 Jahren selbst verlassen, weil ich die Leidenschaft für das Entwickeln von Code verloren habe. Aber ich konnte den Juckreiz, Programme zu erstellen, nicht loswerden und kam einige Monate später wieder in die Branche zurück. Ich habe gelernt, dass Sie sich engagieren müssen, um das zu tun, was Sie gerne tun. Wenn Sie Projekte verwalten möchten, suchen Sie sich eine Position, mit der Sie Projekte verwalten können. Wenn Sie den ganzen Tag codieren möchten, suchen Sie eine Position, um dies zu tun. Einen Job zu finden, der Sie herausfordert und Ihre Wünsche erfüllt, ist ein wunderbarer und notwendiger Teil eines glücklichen Lebens - ich wünsche Ihnen viel Glück dabei.

9
user37772

Ich hatte die gleichen Fragen und habe mir möglicherweise die gleichen Dinge angesehen, die Sie haben (großartige Startups, inspirierende Ratschläge, motivierte Menschen, die erstaunliche Dinge, Prozesse, Algorithmen, die Ihr Herz höher schlagen lassen), nur um nichts davon in meinen aktuellen oder früheren Kollegen zu finden , noch in den Leuten, die ich kenne, die im Geschäft sind. Dieses Rätsel, dieses tiefe Interesse mit einem bezahlten Job in Einklang zu bringen, bedeutete viele schlecht geschlafene Nächte und die Suche nach einem Projekt, das so genial war, dass es nebenbei genommen werden konnte und dennoch schnell genug zu seinem eigenen Ding heranwuchs, um einen Ausweg zu finden. Wie viele Menschen muss ich eine Familie unterstützen, und ich persönlich denke, dass die Energie, die erforderlich ist, um etwas in einem Startup aufzubauen, das auf den brasilianischen Markt ausgerichtet ist, nicht gut angelegt ist, wenn es nicht vollständig IT-artig und langweilig ist. Und im Ernst? Ich mache den ganzen Tag IT-artige und langweilige Dinge.

Für mich war die Antwort, den Willen zu behalten, an einem Ort zu lernen und sich zu verbessern und an einem anderen zu arbeiten. Ich habe Processing.org aufgenommen und versuche immer wieder, mehr zu zeichnen, zu schreiben und zu kochen. Um ehrlich zu sein, war es großartig für mich: Manchmal sind Sie so sehr damit beschäftigt, die Menschen, die Sie bewundern, zusammenzubringen und in das Pantheon der großen Leistungsträger aufgenommen zu werden, dass Sie ernsthafte Fakten darüber ignorieren, wer Sie sind und warum Sie das Gefühl haben, dass das Leben wert ist Leben. Und während die Arbeit einen beträchtlichen Teil Ihres Tages in Anspruch nimmt, ist der Moment, in dem Sie aufhören, sich Gedanken darüber zu machen, was das alles bedeutet und wohin Sie gehen, der Moment, in dem Sie feststellen, dass Sie es nicht brauchen, um dorthin zu gelangen. Codieren Sie weiter, wenn es Ihnen gefällt, schreiben Sie Software zu Hause und tragen Sie zu Projekten bei, für die Sie eine Leidenschaft haben. Diese Art der Zufriedenheit kommt für die meisten Menschen kaum von einem Gehaltsscheck, und vielleicht ist das auch für Sie der Fall.

7
dodecaphonic

Als Programmierer müssen Sie immer Ihren Wunsch nach Perfektion und den Wunsch Ihres Arbeitgebers nach einem funktionierenden Produkt in Einklang bringen. In einigen Unternehmen werden diese beiden Wünsche näher beieinander liegen, in den meisten Unternehmen werden die beiden Wünsche weit voneinander entfernt sein.

Mein bester Vorschlag für den Umgang mit dem Abfluss Ihres Tagesberufs ist, nebenbei ein persönliches Projekt zu starten, bei dem es keine Frist gibt, bei dem Sie in Bereichen arbeiten können, in denen Sie normalerweise nicht arbeiten, und bei denen Sie alles erledigen Entscheidungen. Der lohnendste Code, den ich geschrieben habe, war während meiner Arbeit als Wii-Entwickler. Ich kann vorschlagen, dass Sie ein Spiel schreiben. Sie können jeden Aspekt von Programmierung, 3D, Netzwerk, KI usw. ansprechen, und da Sie bereits mit .Net arbeiten, würde ich vorschlagen, XNA oder Einheit

Soweit Senior Programmierer nicht viel wissen, haben Sie wahrscheinlich Recht. Die meisten leitenden Programmierer größerer Unternehmen wurden zu einem Zeitpunkt befördert, zu dem sie viel wussten oder als sie in der Lage waren, die Arbeit zu erledigen. Jetzt, wo sie älter sind, haben sie unterschiedliche Verantwortlichkeiten, hauptsächlich als Manager. Es wird erwartet, dass ihre Codierungsfähigkeiten ein wenig nachlassen. Einige sind besser als andere, und einige wurden wahrscheinlich nur befördert, weil sie wissen, wen sie kennen, aber die meisten erfahrenen Programmierer, mit denen ich in der Vergangenheit zusammengearbeitet habe, verfügten über solide (wenn auch manchmal veraltete) Fähigkeiten.

Um es zusammenzufassen, machen Sie ein persönliches Projekt, um die tägliche Langeweile zu lindern und Ihre Senioren zu entlasten. Machen Sie einfach die beste Arbeit, die Sie in der vorgegebenen Zeit leisten können, und es wird Ihnen gut gehen.

7
jessecurry

Hey Kumpel, es war wirklich gut, deine Frage zu lesen. Ich bin froh, dass du das geschrieben hast. Weißt du was? Du weißt nicht, welches Verständnis du gerade hast. Die Dinge, die Sie geschrieben haben, lassen mich verstehen, welche Erfahrungen Sie gemacht haben, und glauben Sie mir, diese Erfahrung können nicht alle Programmierer in ihrem Leben haben. Du bist eine selbstgetriebene Person, selbstlernend. Im Moment sind Sie in einem sehr ausgereiften Zustand, nachdem Sie 4 Jahre für kleine Unternehmen gearbeitet haben. Wenn Sie in großen Unternehmen gewesen wären, hätten Sie nichts als Erfahrung zu betrachten gehabt. Jetzt haben Sie ein Verständnis dafür, wie diese Branche funktioniert, wie Dinge getan werden und wie sie getan werden sollten. Welches Niveau haben diese sogenannten "Senioren"? Ich habe einen Vorschlag für Sie, wenn Sie ein so guter Selbstlerner sind und seit über 4 Jahren Selbstlernen praktizieren, warum versuchen Sie nicht, freiberuflich als Karriere zu arbeiten? Glauben Sie mir, Sie würden für sich selbst arbeiten und viel mehr genießen.

Bedauern Sie nicht, was Sie in den letzten 4 Jahren getan haben. Es ist eine wundervolle Erfahrung und nur wenige haben dies in ihrem Leben :)

7
Ravinder Singh

Der Unterschied zwischen Senior- und Junior-Programmierern, wenn es um Menschen mit Erfahrung geht, ist im Allgemeinen nur ein bezahlter. Es gibt eine große Variabilität in dem, was Unternehmen schätzen, um den Titel zu ändern, und oft hängt es davon ab, was Sie verlangen, wenn Sie eingestellt werden.

Wenn es ein Trost ist, habe ich eine 10-jährige Krise in der Mitte des Programmierlebens, obwohl ich angefangen habe, auf einem Apple] [+ zu programmieren, also könnte es ein 24-Jahres-Punkt sein; ich weiß nicht ' Ich wünschte nur, die Leute hätten keine Magie von Programmierern erwartet.

7
dlamblin

Ich finde, der rote Faden, den ich in meiner Karriere gesehen habe, war, dass ich mich gelangweilt fühle, wenn ich das Gefühl habe, in eine Situation verwickelt zu sein, in der ich keine Kontrolle über meine Umgebung habe. Nur das zu tun, was alle anderen dir sagen. Es ist wichtig, einen eigenen Bereich zu haben (IMHO), für den Sie die volle Verantwortung tragen müssen - vielleicht fehlt das auch in Ihrer Arbeit?

In diesem Fall sollten Sie mit Ihrem Manager sprechen. Vielleicht gibt es in Ihrem aktuellen Job eine Lösung? Nach mehr Verantwortung zu fragen ist immer ein guter Schachzug.

7
AndersK

Nach meiner Erfahrung sind die ersten Wochen (höchstens Monate) entscheidend für die allgemeine Qualität eines Projekts. Wenn Sie zufällig an einem Ort arbeiten, an dem andere Programmierer bereits ein Durcheinander verursacht haben (schlechte Codierungsstandards, keine Versionskontrolle usw.), ist es für einen Manager sehr schwierig und für einen neuen Kollegen meistens unmöglich, Verbesserungen festzustellen. Später verursachen Fristen und Probleme bei fast jedem Projekt eine gewisse Hässlichkeit. Wenn das Fundament jedoch gut gemacht ist, ist der Schaden begrenzt und beherrschbar.

Wenn Sie sich in einer Situation befinden, in der Sie mit schlechten Kollegen an einem schlechten Projekt arbeiten müssen, versuchen Sie aus diesem Grund, einem neuen Projekt zugewiesen zu werden (falls dies in Ihrem Unternehmen möglich ist) oder suchen Sie einen neuen Job. Warten Sie nicht zu lange, denn schlechte Gewohnheiten sind ansteckend.

7
user281377

Nun, Sie sollten eine andere Domäne lernen (Mathematik, KI, Data Mining, BI, Integration, was auch immer). Nachdem Sie diese neue Domain gemeistert haben, haben Sie wahrscheinlich neue Ideen, die auf die tatsächlichen Geschäftsanforderungen reagieren.

Wenn Sie ein großartiger Programmierer sind, müssen Sie zu diesem Zeitpunkt nur ein Startup erstellen. Nun, es ist riskant, macht aber viel mehr Spaß.

Lernen Sie verschiedene Fähigkeiten und Kompetenzen, nicht nur beim Programmieren, und kombinieren Sie sie dann, um eine neue Sache zu schaffen, an die niemand gedacht hat. Das ist ganz einfach, Sie haben bereits den besten Hammer aller Zeiten: Programmieren.

6
Nicolas Dorier

Meine persönliche Erfahrung ist die gleiche, die Sie erwähnen. Die meisten Projekte, an denen ich in letzter Zeit gearbeitet habe, sind in Eile entstanden und alle könnten besser sein. Ich bin seit ungefähr 7 Jahren Programmentwickler und arbeite in derselben mittelständischen Firma. Das Management hat keine Ahnung und führt alle Projekte als "Nicht-Projekte" aus. Es gibt sehr wenig Ordnung im Chaos.

Das, was ich am meisten fürchte, ist, dass ich in die Grube falle, von der Sie sprechen, und anfange, "beschissene" Programmierung und dumme Entscheidung zu machen, nur um in meiner Karriere voranzukommen. Ich hoffe, da ist jemand, der mich in den Kopf schlägt, wenn das passiert.

6
Arto Uusikangas

Ich denke, es ist Zeit, Sr, Entwickler für Sie zu sein. Ich bin neu auf diesem Markt und lerne und verbessere mich, aber Arbeitgeber suchen keine Menschen, sie suchen Monster wie Jr. Entwickler mit mehr als 6 Jahren Erfahrung und das ist es wirklich frustrierend.

6
Tarik

Gute Frage Jeffrey. Programmieren Sie immer noch gerne? Hast du eine Leidenschaft dafür, machst du es in deiner Freizeit? Oder haben Sie nur einige der schrecklichen Programmierjobs satt, die Sie hatten?.

Wenn Sie der Meinung sind, dass Programmieren nichts für Sie ist, gibt es viele andere Disziplinen, die Sie zu diesem Zeitpunkt Ihrer Karriere abzweigen und ausführen können - Projektmanagement, Vertrieb, Pre-Sales, Analyst. Diese Möglichkeiten hätten es als Junior/Absolvent nicht gegeben, sodass Sie möglicherweise nicht über das Schneiden von Code hinaus gedacht haben. Vielleicht können Sie sich an Ihren Arbeitgeber wenden, um Sie für Zertifizierungsprüfungen zu sponsern, oder wenn Sie eine neue Technologie (Azure/Silverlight/WPF?) Erforschen möchten.

Wenn Sie jedoch das Gefühl haben, dass Ihr Arbeitsplatz einem lebensechten Dilbert-Comic ähnelt, ist es vielleicht nur an der Zeit, weiterzumachen. Wenn Sie in einem großen Unternehmen gearbeitet haben, können Sie ein paar Startups interviewen oder umgekehrt. Sie müssen niemandem mitteilen, dass Sie sich für eine Stelle bewerben, und selbst wenn Sie ein Angebot erhalten, befinden Sie sich in einer hervorragenden Verhandlungsposition, da Sie bereits eine Stelle haben. Sie können einfach entscheiden, ob das Angebot besser ist als Ihre aktuelle Situation. und wenn nicht, dann schau einfach weiter. Größere Unternehmen bieten Ihnen häufig bessere Möglichkeiten zur beruflichen Weiterentwicklung und Ausbildung, während Sie bei einem kleinen Unternehmen mehr immaterielle Werte erhalten, z. B. Verantwortung für den Erfolg des Unternehmens, flexible Arbeitszeiten, Aktienoptionen und späteres Dienstalter/Respekt, wenn/wann das Unternehmen trifft es groß.

6
user204592

Wenn es ein Trost ist, habe ich Senioren an meinem Arbeitsplatz genauso empfunden. Letzte Woche habe ich einen evidenzbasierten Bericht eingereicht, und diese Woche hatte ich eine einstündige Besprechung mit Mitarbeitern, um offiziell eine Beschwerde über die Manager einzureichen (unter Berücksichtigung, dass ich ein Junior bin). Es war entweder ein paar Bälle wachsen oder in meinem Job unglücklich sein. Es sind keine böswilligen Beschwerden, es sind konstruktive Beschwerden. Es gibt einen Unterschied, und er kann sicherlich einen großen Einfluss auf Ihr Arbeitsglück haben.

EDIT

Ich würde auch sagen, nicht einfach "aufgeben", weil Sie ein Problem mit Menschen haben. Es scheint, dass viele Leute hier einfach sagen "kündige deinen Job", die Wahrheit ist, dass du den Unterschied am Arbeitsplatz machen kannst. Ich weiß, es klingt kitschig, aber ich denke, Sie würden Veränderungen bewirken und mehr Respekt gewinnen, wenn Sie sich aktiv für Veränderungen einsetzen. Haben Sie keine Angst, Ihren Chef beiseite zu nehmen und sich zu beschweren. Ich habe, und schon hat es einen großen Unterschied gemacht. Wir übernehmen neue Technologien, ändern unsere Arbeitsabläufe und nähern uns Aufgaben formeller, alles aufgrund dessen, was ich gesagt habe (und ich bin ein Junior-Entwickler).

6
Kezzer

Beeindruckend! Mir gefällt, wie wertvoll dieses Gespräch ist. Ich bin ein Webentwickler mit mehr als 5,5 Jahren Erfahrung und ich liebe es. Ich kann nicht wählen, aber ich werde die Worte von AZ zitieren. Ich stimme dem zu!

Ich habe festgestellt, dass es zwei Geheimnisse des relativen Glücks gibt: - Versuchen Sie nicht, alles zu haben, was Sie wollen, sondern alles zu wollen, was Sie haben - das Leben ist hart - es spielt keine Rolle, wie schwer Sie schlagen können (gut, Sie sind persönlich und beruflich); es wird immer härter zurückschlagen. Es ist wichtig, wie viel Sie getroffen werden und trotzdem weitermachen können.

Das Buch, das ich empfehlen würde, ist: http://www.Amazon.com/Software-Measurement-Estimation-Quantitative-Engineering/dp/0471676225

5
lordspace

Meine zwei Punkte:

Ich habe meine nach nur 2 Jahren in der Branche getroffen. Ich habe es überwunden, indem ich mich verbessert und gelernt habe.

Meistens wird es kommen, weil Sie immer und immer wieder das Gleiche tun. Und wenn Sie immer und immer wieder dasselbe tun ... nun ... machen Sie es falsch.

Immer verbessern. Lerne immer. Und zum Teufel, wenn Ihre derzeitige Firma Ihnen diese Atmosphäre nicht bietet, suchen Sie sich eine, die es schafft. Ich habe es getan und die letzten 2 Jahre waren die beste Zeit meines Lebens (ich bin wahrscheinlich auch 100x besser in meinem Job als vor 2 Jahren)

5
mendicant

Es gibt viele Programmierer, aber nur ein kleiner Teil von ihnen sind Software-Ingenieure von Qualität. Ich nehme an, das stimmt in jedem Beruf.

5
David R Tribble

Willkommen in der realen Welt ... leider passiert das, was Sie beschreiben, in den meisten Karrieren mit Menschen, die einfach nicht leidenschaftlich genug für das sind, was sie tun. Es gibt nur eine Option (wenn Sie Ihre Arbeit lieben): Sie müssen einen besseren Laden finden, für den Sie arbeiten können, obwohl das heutzutage nicht einfach ist ...

5
Luis Abreu

Ich habe auch ein anderes Problem beobachtet, bei dem die meisten sogenannten "Senior" -Programmierer in "meinem Arbeitsumfeld" wirklich nicht so hochrangig sind. Sie sind nur deshalb "älter", weil sie lange Zeit Programmierer waren, aber der Code, den sie schreiben oder die Entscheidungen, die sie treffen, sind absolut Unsinn! Sie wollen nicht lernen, sie wollen nicht besser sein, sie wollen nur bezahlt werden

... gefolgt von ...

Ich bin in einen mentalen Zustand geraten, in dem ich nicht länger beabsichtige, Programmierer für meine zukünftige Karriere zu sein. Ich fing an zu denken, dass es vielleicht bessere Dinge gibt, an denen ich arbeiten kann.

Dann ist es Zeit zu suchen und Maßnahmen zu ergreifen. Denn wenn Sie ein Programmierer mit dieser Einstellung bleiben, werden Sie genau wie die "älteren" Leute enden, die Sie so eindeutig verachten. Das operative Wort ist "gefangen": Sie werden genug Geld verdienen, dass Sie es nicht rechtfertigen können, zu etwas anderem zu wechseln, und Ihre Fähigkeiten werden so eng sein, dass Sie sich nicht innerhalb der Branche bewegen können.

5
kdgregory

Vielleicht erwägen Sie, die Schule zu absolvieren? Dies könnte Möglichkeiten für eine andere, langfristigere Art der Arbeit eröffnen.

3
Max Strini

Ich habe für 2 Unternehmen auf 2 verschiedenen Kontinenten mit völlig unterschiedlichen Mentalitäten gearbeitet, aber was sie gemeinsam haben, ist, dass sie sich beide nicht um Programmierer kümmern ... Programmierer sind normalerweise mit der untersten Ebene von Unternehmen verbunden ... Sie sind normalerweise mit Anfängern verbunden und haben die geringsten Löhne ... während Projektmanager, Architekten usw. ... normalerweise mehr Geld nehmen und weniger arbeiten ...

Ich arbeite jetzt seit fast 4 Jahren und habe fast das gleiche Gefühl wie Sie ... Zwischen Projekten wechseln ... alle möglichen Programmiersprachen ausprobieren ... C, C #, PHP, ASP.NET, WinForm, C++, Python, VB.NET, VBA ... und vieles mehr waren einige der Sprachen, mit denen ich gearbeitet habe ... Seit Ihre Vorgesetzten feststellen, dass Sie es mit jeder Sprache schaffen können, die sie Ihnen geben, werden sie Sie als markieren "gut" Ressource und gib dir den ganzen schmutzigen Job ...

Ich habe weder einen Mentor, der mich durch meine Karriere führt ... und wie viele, die hier geschrieben haben ... finde ich meine Zufriedenheit nur, wenn ich meine persönlichen Projekte mache ... aber leider haben die langen Arbeitsstunden normalerweise nicht geklappt Lass mich keine ernsthafte Arbeit machen ...

Abschließend werde ich einige Monate verloren verbringen, bis ich mich wie die Mehrheit der leidenschaftlichen Entwickler entscheide, aufzugeben und einen nur langweiligen Architektenposten anzunehmen, um mehr Geld zu bekommen

3
Zied

Irgendwie haben wir ein ähnliches Gefühl. Jetzt frage ich mich, ob dies geschieht, weil wir beide fünf Jahre Erfahrung haben oder weil die Leute, die "Clean Code" lesen, organisiert aufgestiegen sind (wir in Deutschland haben eine ziemlich aktive Community rund um die "Clean Code Devloper" -Initiative ), "Pragmatic Programmer" und "Code Complete" wie ALT.NET und so weiter. Alle Blogs sind voller Ideen, wie man Dinge richtig und sauber macht.

Ich denke also, dass die fünfjährige Erfahrung nur ein Zufall ist, während der Hauptgrund der Wandel in der Branche ist - was ziemlich neu ist: Häuser und Brücken werden seit Tausenden von Jahren gebaut, Maschinen werden für viele gebaut Hintergründe von Jahren, höhere medizinische Dinge gehen hundert Jahre, Computer etwa 50 Jahre und wir codieren seit 20 Jahren in einer Sprache der 3. Generation. Sehen Sie den Punkt? Es braucht Zeit, um für eine Branche reif zu werden, und ich denke, die Branche wird erwachsen :-)

3
Marc Wittke

Diese Frage beschreibt ziemlich gut den traurigen Zustand unserer Branche: Programmierung ist großartig, aber die meisten Programmierjobs sind scheiße.

3
Rockcoder

Das Ändern Ihrer Perspektive ist sehr wichtig

Ich denke, wir Programmierer beschweren uns und weinen über viele Dinge. Wir wollen, dass alles " perfekt" ist (= wir wollen, dass alles so ist, wie wir es wollen). Ich war (immer noch versucht mich zu ändern) sehr ähnlich wie du. Aber das Lesen von Chad Fowlers " The Passionate Programmer " hat alles für mich verändert. Ich schätze mich jetzt glücklich, Programmierer zu sein. Ich mache meine 52-55 Stunden pro Woche Arbeit (ja das ist wahr). Es ist nicht " perfekt". Aber ich versuche meine Arbeit leidenschaftlich zu machen. Ich arbeite für eine Outsourcing-Firma in Indien und die Art von Arbeit, die wir bekommen, wird bei weitem nicht als herausfordernd bezeichnet. Programmierer haben das Glück, eine Vielzahl von Möglichkeiten zu haben, um ihren kreativen Trieb zu befriedigen. Wir können an unseren eigenen Projekten arbeiten. Wir können an Open Source-Projekten arbeiten. Am Wochenende können wir freiberuflich arbeiten. Ich denke, die meisten Profis in anderen Bereichen haben diesen Luxus nicht.

3
P.K

Ich denke, Sie verwechseln möglicherweise Unzufriedenheit mit "Ein Job" und Unzufriedenheit mit "DER Job". Wie andere gesagt haben, brauchen Sie möglicherweise eine Änderung der Situation.

Eine produktorientierte Entwicklung anstelle von Branchenprojekten (LOB) kann Ihnen eine stärkere Beziehung zwischen Ihren Bemühungen/Ihrem Wunsch nach Qualität und den Ergebnissen bieten. Wenn Sie versuchen, ein kommerzielles Produkt so gut wie möglich zu machen, sind Sie sehr fokussiert und auf die Bemühungen anderer ausgerichtet, insbesondere wenn sich Ihr Markt im Bereich Technik/Programmierer befindet - möglicherweise müssen Sie beispielsweise Software-Tool-Entwickler werden ?

Auf jeden Fall würde ich Ihnen davon abraten, größere Unternehmen mit mehr Geld zu suchen - wo verstecken sich Ihrer Meinung nach die durchschnittlichen und unterdurchschnittlichen Entwickler?

Lassen Sie mich den Standpunkt eines Managers darlegen. Das weltweite Angebot an Codierungsmöglichkeiten übersteigt die verfügbaren Talentstunden, um diese zu adressieren, bei weitem. Manager führen Unternehmen, um Gewinne zu erzielen. Aus diesem Grund versuchen sie, die verfügbaren Talentstunden auf so viele Codierungsmöglichkeiten wie möglich anzuwenden. Daher ist es nur richtig und richtig, dass die Dinge in Eile und kostengünstig erledigt werden, vorausgesetzt, die Konsequenzen haben keinen Einfluss auf das Endergebnis.

Nach meiner Erfahrung wird die beste Arbeit geleistet, wenn das Management nicht nach einem Skunkworks-Projekt in einem größeren Unternehmen sucht oder zunehmend von freiwilligen Mitarbeitern, die an Open Source-Projekten arbeiten.

Mein Rat ist, die Disziplin der Kostenkontrolle zu übernehmen, nach Möglichkeiten für Skunkworks zu suchen, ein Open-Source-Projekt zu finden, um Ihre Freizeit zu nutzen, und in das Management einzusteigen, denn wenn Sie dies nicht tun, kann stattdessen jemand mit weniger technischer Kompetenz Entscheidungen treffen.

PS. Ich war 12 Jahre lang C/C++ - Entwickler und habe immer noch Code Java als Director).

2
Piers C

Betrachten Sie dies als eine Chance, Sie über sich hinaus zu verändern. Ich würde Ihnen empfehlen, Initiative zu ergreifen, um Ihre Atmosphäre zu verbessern. Sie werden auf dem Weg viel lernen, egal ob Sie scheitern oder Erfolg haben.

Es ist viel einfacher, sich zu beschweren (ich weiß, dass die Leute diese Worte nicht mögen, ich auch), als positive Veränderungen vorzunehmen. Um sich zu verändern, sollten Sie in der Lage sein, andere zu beeinflussen. Sie sollten in der Lage sein zu kommunizieren, Sie sollten in der Lage sein, Gemeinsamkeiten zu schaffen. Sie sollten hartnäckig und geduldig sein; Sie sollten in der Lage sein, anderen mit Ihrer Vision zuzuhören und sie zu motivieren. Dies sind die Fähigkeiten, die niemals aus Daten stammen und die Ihr ganzes Leben lang von Nutzen sein werden.

2
Bin Chen

Wenn Sie als Programmierer gut in dem sind, was Sie tun, haben die meisten Menschen, denen Sie im Unternehmensleben begegnen, mehr zu verlieren als zu gewinnen. Die Geschäftsleitung würde von Ihren Fähigkeiten profitieren und Sie müssen sicherstellen, dass Sie ihre Unterstützung haben.

Finde deinen eigenen Mentor. Es liegt in Ihrer Verantwortung, wenn Sie dieses Spiel lieben, jemanden zu finden, der Ihnen beim Wachstum hilft.

2
wentbackward

Es gibt einen Unterschied zwischen 10 Jahren Erfahrung und 1 Jahr Erfahrung 10 Mal.

2
PurplePilot

Ich habe eine Weile genauso gefühlt. Ich bin in einem großen IT-Shop eines Unternehmens und sehe das Gleiche. Die Senioren stehen größtenteils still und sind resistent gegen Veränderungen. Dieser Widerstand ist so tief verwurzelt, dass wir nicht einmal die Benutzeroberflächen für unsere Software optimieren können, sondern das Original fast genau klonen müssen.

Es hilft nicht, dass die ursprüngliche Software meistens schrecklich ist; Die Entwürfe sind zu komplex, sehr ineffizient und gleichermaßen fehleranfällig. Dennoch zwingt uns das Management, viele der gleichen architektonischen Entscheidungen zu treffen.

Also arbeite ich daran, freiberuflich zu arbeiten ...

2
Rakesh Malik

Interessanter Beitrag. Ich bin mitten in meinem vierten Jahr in der professionellen .net-Entwicklung. Ich bin wirklich unzufrieden mit meinem aktuellen Job (ich suche, aber bisher gab es an dieser Front nicht viel zu sagen).

  1. Ich hatte einen Lehrer, der sich einmal absurd Mühe gegeben hat, alles zu dokumentieren. Ich meine nicht Code, ich meine "alles". Und er sagte, es würde wahrscheinlich immer noch nicht reichen. Nun, es gibt einen Unterschied zwischen dem Wissen um etwas und dem Verstehen von etwas, und ich habe es verstanden, und er hat Recht. Es gibt nie genug. Ich kann nicht dokumentieren, aber ich spreche ein aktuelles Gespräch, ich verliere. Ich dokumentiere, mir wird gesagt, dass ich etwas falsch verstanden habe. Ich habe mich durch all das lange und gründlich angesehen, und ich denke, einige meiner eigenen Fehler sind definitiv am Werk. Aber Kommunikation ist eine Einbahnstraße, und ich bin nicht immer derjenige, der es versaut. Es ist noch schlimmer, wenn ich Dinge vorschlage oder Probleme anspreche. Diese werden zu der Zeit weggeblasen und tauchen später auf. Ich saß vor kurzem verblüfft im Büro des Vizepräsidenten, als er und mein Chef fragten, warum ich auf einer bestimmten Seite unserer zuletzt veröffentlichten App nichts getan habe. Und doch hatte ich während der Entwicklung danach gefragt und wurde abgeschossen. Solche Sachen passieren für meinen Geschmack viel zu oft.

  2. Das Lernen/Aufrechterhalten Ihrer Fähigkeiten/usw. wird manchmal diskutiert, aber wir tun es nicht. Wir haben die Möglichkeit, dies bei der Arbeit zu tun, und wir tun es immer noch nicht. Sehr enttäuschend. Ich erwarte nicht, dass wir jedes Mal, wenn eines erscheint, auf die neuesten und neuesten Technologien/Tools zugreifen. Aber z.B. Wir sollten .net 3.5 entwickeln. Es gibt kein Argument dafür, keine 3.5-Entwicklung durchzuführen. Aber wir entwickeln noch 2.0. Es ist dumm. Es ist meistens gut, dass mein Chef neuen Dingen misstraut, aber es ist albern geworden. Ich habe kürzlich versucht, ihm LINQ zu erklären (als ich mich für die Umstellung auf 3.5 aussprach), und seine Antwort lautete: "Es klingt wie das Abfragen in englischer Sprache." Mir ist klar, dass ein Teil des Problems darin bestand, dass ich LINQ schlecht erklärt habe. Aber zurück zur Zwei-Wege-Straße der Kommunikation, das war jemand am anderen Ende, der nicht zuhören wollte. Ich erwarte nicht, dass das Unternehmen Mentoring für mich zur obersten Priorität macht. Aber meine Gruppe (nur 3 Entwickler) könnte mehr tun, um das Lernen zu fördern.

  3. Das Ansehen meiner Gruppe im Unternehmen hat sich in den letzten anderthalb Jahren etwas verbessert. Aber wir haben immer noch einige Probleme. Unser VP ist maßgeblich dafür verantwortlich. Es ist frustrierend, aber ich könnte damit leben, wenn bestimmte andere Aspekte des Jobs erfüllender wären.

  4. Ironspeed Designer - Gott, ich hasse dich. Und die Sache ist, ich verstehe, warum ein Codegenerator hilfreich sein kann. Ich wollte manchmal in meinem Leben Codegeneratoren für bestimmte Aufgaben. Wir scheinen jedoch eine von Ironspeed getriebene Gruppe zu werden. Ich mag das nicht, da es meine Fähigkeit, im Job zu wachsen, erheblich beeinträchtigen wird.

  5. Ich interessiere mich für das Handwerk der Softwareentwicklung und -programmierung, obwohl ich in beiden Bereichen einen Mangel habe. Ich arbeite nicht mit Leuten zusammen, die sich für das Handwerk der Softwareentwicklung/-programmierung interessieren. Keine Codeüberprüfungen. Ich bekomme oft keine Hilfe beim Testen von Dingen (und kann Benutzer dann nicht zum Testen bringen, obwohl die Dinge dort im letzten Jahr besser geworden sind ... und werde dann angeschrien, wenn ein Fehler bei einer Veröffentlichung in die Produktion gelangt Ich bin ein Mann. Ich kann nur so viel tun.

Also versuche ich alleine zu lernen (ich würde es besser mit jemandem machen, der daran interessiert ist, mich lernen zu sehen). Ich mache Phasen durch, in denen ich gerne außerhalb der Arbeit programmiere, und Phasen, in denen ich es nicht aushalten kann. Wir haben erst kürzlich ein besonders hektisches Projekt abgeschlossen, bei dem ich erhebliche Überstunden gemacht habe, und so habe ich in etwa 6 Wochen kein wirkliches Lernen außerhalb des Jobs durchgeführt. Aber ich werde mich wieder darauf einlassen und Skeets C # in Depth noch einmal lesen und noch ein bisschen mit MVC herumspielen. . .

Ich habe in den letzten anderthalb Jahren viele Zweifel gekämpft (Selbstvertrauen war sowieso nie eine meiner Stärken). Ich würde es nicht als Krise bezeichnen. Ich mache weiter, weil ich mache das gerne mache. Sogar bei einem beschissenen Job arbeiten.

2
peacedog

Hier ist ein Buch:

  • Ausbildungsmuster: Anleitung für den aufstrebenden Software-Handwerker/David H. Hoover, O’Reilly, 2010

Wenn Sie eine Karriere in der agilen Softwareentwicklung planen, enthält dieses Buch gute Ratschläge. Das Vorwort stammt von Ward Cunningham. Siehe auch die Website des Autors . 125 Seiten.

2
rleir

Wenn Sie keinen Job finden, der das tut, was Sie bereits mit Ihren Programmierkenntnissen tun wollten, wird die Vollzeitarbeit an einem verwandten, aber uninteressanten Teil der Programmierung Ihr Interesse an dem, was Sie anfangs wollten, trüben.

Oder jemand, der ein starkes Interesse an selbstführender Robotik mit modernen Pfadplanungsalgorithmen hat, die Vollzeit Webentwicklungsarbeit leisten, wird wahrscheinlich nicht viel von einem Computer zu Hause sehen wollen. Dieselbe Person, die sich auf den Weg zur Karriere macht, die sie eigentlich wollte, und nicht auf halbem Weg stehen bleibt, arbeitet oft gerne länger als eine 40-Stunden-Woche, geht glücklich nach Hause und wacht morgens ausgeruht auf.

Zumindest theoretisch.

2
Dean J

Ich habe diese immer wieder. Was passiert ist, dass ich im Allgemeinen das Interesse an meiner Arbeit verliere und versuche, neue Fähigkeiten zu erlernen. Danach versuche ich, diese Fähigkeiten in meine Arbeit einzubringen, aber ich bekomme selten die Chance. Dies ist auf das Mikromanagement und die sich ständig ändernden Unternehmensrichtlinien zurückzuführen.

Das Schlimmste ist, dass ich mehr oder weniger bei meinem derzeitigen Arbeitgeber festsitze, es sei denn, ich ziehe in einen anderen Teil des Landes.

Der einzige "ältere" Entwickler bei uns ist eigentlich kein Entwickler, zumindest in meinen Augen, er ist wirklich produktiv, aber ich habe ihn noch nie gesehen, wie er Code geschrieben hat. Und meines Wissens hat er nicht viel mehr Berufserfahrung als der Rest von uns.

Ich würde wirklich gerne etwas anderes machen, wie ein Boot bauen oder so. Ich habe jedoch das Gefühl, dass ich nach 8 Jahren den Wendepunkt wirklich überschritten habe.

Aber wenn ich die Chance hätte, würde ich etwas anderes machen, aber ich habe irgendwie das Gefühl, dass ich zurückkehren würde, weil ich so bin. Ich kenne Code.

2
Peter Lindqvist

Ich schlage vor, dass Sie, wenn Sie die Gelegenheit dazu haben, eine Zeit lang etwas anderes tun. Wie IT-Beratung, Data Warehousing, Vertrieb oder sogar Support.

Sie werden entweder Ihre Leidenschaft für das Programmieren wieder entdecken und sich so freuen, darauf zurückzukommen (was mir passiert ist), oder Sie werden mit Ihrem neuen Job zufrieden sein und eine andere Karriere verfolgen, an die Sie vorher nicht gedacht hatten.

Wenn Sie dann wieder zur Programmierung zurückkehren, eröffnet sich möglicherweise auch die Möglichkeit, mit anderen Technologien als zuvor an anderen Projekten in anderen Branchen zu arbeiten, was ebenfalls eine gute Sache sein kann.

1

Viele Leute haben im Grunde gesagt, etwas lernen, und ich stimme dem zu. Insbesondere schlage ich vor, eine Domain zu finden, an der Sie ein besonderes Interesse haben, und damit gut zu bekommen. Ich kenne zu viele Webdesigner, die "wirklich 3D-Künstler sein wollten, aber nie herausgefunden haben, wie es geht". Der bei weitem beste Weg, um für interessante Projekte oder Technologien eingestellt zu werden, besteht darin, Erfahrung mit anderen interessanten Projekten oder Technologien zu haben. Ein unerfüllter, aber anspruchsloser Arbeitsplatz kann zu Ihrem Vorteil genutzt werden und gibt Ihnen die Möglichkeit, neue Konzepte zu entwickeln.

Im Allgemeinen ist der beste Rat, den ich in diesen Situationen gehört habe, nicht positiv zu denken, sondern konstruktiv zu denken. Wo bin ich in meiner Karriere? Wo will ich sein Welche Schritte muss ich unternehmen, um von hier nach dort zu gelangen?

Selbst eine praktische, ganzheitliche Sicht auf die Aktivitäten Ihres eigenen Unternehmens kann erfrischend sein - welche realistischen Alternativen würden Sie für den aktuellen Workflow implementieren? Gibt es kleine Komponenten, die ohne allzu große Störungen eingeführt werden können? Die Präsentation eines schriftlichen Vorschlags eines neuen Modells zusammen mit dem Arbeitscode für einen Teil davon zeigt sowohl Vision als auch technische Kompetenz. Der Unterschied zwischen einem guten Junior-Programmierer und einem guten Senior-Programmierer besteht im Umfang der Lösungen, die für die Erstellung erforderlich sind.

(4 und ein bisschen 9-5 Jahre bedeuten auch 10.000 Stunden, die in ein Feld gesteckt werden. Nicht besonders relevant, aber ich dachte, es wäre ein guter Maßstab, über den man Bescheid wissen sollte!)

1

Das Projekt ist die Sache. Ja wirklich. Ich habe meine eigene kleine Firma sowie mittelgroße und große Teams geführt. Das Größte, was ich sehe, ist, dass jeder motiviert ist, wenn er das Projekt ausgräbt. Willst du nicht billiger arbeiten, wenn das Projekt wirklich cool ist? Wirst du nicht länger arbeiten, wenn du ganz auf das stehst, was du tust und dafür verantwortlich bist, dass alle anderen genauso fühlen?

Wir tun, was wir am besten schätzen. Wie können Sie Ihrer Karriere wieder Wert verleihen, wenn Sie für jemanden arbeiten, der Ihre Rechnungen bezahlt? Durch Innovation. Innovieren Sie und teilen Sie das mit anderen. Das hält es frisch.

1
Spanky

Stellen Sie sich vor, Ihre Erfahrung wäre weniger als 4 Jahre, seien Sie eine Frau, seien Sie hübsch, verlieben Sie sich vollständig in Ihre Arbeit als Entwickler und niemand nimmt Sie ernst. Obwohl, wenn Sie die Männer, die Sie umgeben, ein und ein anderes Mal im Wissen zerquetscht haben, müssen Sie die ganze Zeit so tun, als wären Sie ein dummes Mädchen. Ja, manchmal ist es wirklich frustrierend, aber ich denke, dass alles im Leben davon abhängt, wie sehr Sie das lieben, was Sie tun, und sicherlich ist der einzige Weg, wirklich zu lernen, unsere eigene Anstrengung.

1
ae2

Aus meiner Erfahrung auch in einigen großen Unternehmen ist die Situation dieselbe. Was zählt, sind die Werte und Richtlinien der Organisation und noch viel weniger ihre Größe.

Versuchen Sie, ein Teilgebiet des Software-Engineerings zu finden, für das Sie eine größere Leidenschaft haben, und fragen Sie nach, welche Unternehmen in diesem Bereich tätig sind und wie es ist, dort zu arbeiten.

Bei den Senioren handelt es sich normalerweise um Personen, die entweder schon lange dort sind oder Schlüsselpositionen innehaben (z. B. Teamleiter, Architekten usw.). Ein längerer Aufenthalt in einem Unternehmen wirkt sich jedoch tendenziell negativ aus Einfluss, da Sie sich an die Situation und die von ihnen verwendeten Technologien gewöhnen und weniger danach streben, Dinge zu ändern und neue Ansätze auszuprobieren. - Frische Köpfe sind sehr wichtig, interne Erfahrung ist wichtig, um zu wissen, wie man Dinge in diesem Unternehmen erledigt. Unternehmen sollten eine Kombination aus beiden haben.

Versuchen Sie auch, Ihren Arbeitsplatz dazu zu bringen, Sie zu so vielen externen Kursen wie möglich zu schicken, von denen Sie glauben, dass sie Ihr technisches Wissen und Ihre Arbeitsmethoden verbessern.

1
Danny Varod

Die Realität ist, dass die Länge der Erfahrung keine Garantie für Kompetenz darstellt. Ein gutes Modell dafür ist das Dreyfus-Modell des Erwerbs von Fähigkeiten , das, obwohl es ursprünglich in der Krankenpflege populär gemacht wurde, in der Softwareentwicklung eine gewisse Wiederbelebung erfahren hat - hier ein Beispiel für Ruby (Ich persönlich bin etwas zweifelhaft in Bezug auf das Mapping, aber immer noch eine interessante Lektüre).

Leider ziehen sich die meisten Menschen in ihren Fähigkeiten nie über das Stadium des "fortgeschrittenen Anfängers" hinaus (beachten Sie, dass das Modell pro Fertigkeit nicht auf eine Person als Ganzes angewendet werden sollte) - Sie werden nur besser, wenn Sie nicht nur Selbstverbesserung üben, sondern auch wählen die richtige Art des Lernens, die Sie zur nächsten Stufe bringt. Aus diesem Grund können manche Leute viele Kurse machen, Prüfungen bestehen und trotzdem Müll sein.

Es hört sich so an, als hätten Sie ein bestimmtes Stadium Ihrer Kompetenzentwicklung erreicht (kompetent oder kompetent) und können sich so besser von anderen unterscheiden. Das allgemeine Muster ist, dass es 10 Jahre dauert, um ein Experte für eine bestimmte nicht triviale Fähigkeit zu werden - aber die meisten Menschen tun dies niemals.

1
FinnNk

Ein paar Streifzüge von jemandem, der sich fragt, ob nach mehr als 40 Jahren Hacking vielleicht eine neue Karriere angebracht ist ... :-)

Nein, nein. Ich liebe dieses Zeug. Von Lochkarten und Papierbändern über die CDC-Mainframes, PDP- *, 4004, Alpha, Nova, Eclipse, Eagle (die Hardware, die lange vor der Software kam), Mac Minis und all das dazwischen. Und es gibt einige von uns, die immer noch neugierig auf neue Technologien sind, nachdem viele, viele gekommen und gegangen sind. Mein erstes Geständnis ist, wie ich als Kind der Mini-Computer-Industrie die alten Nebel der Cobol/Mainframe-Ära betrachtete und dachte, sie seien veraltet und in dem Wissen verwöhnt, dass wir jungen Whipper-Schnapper hier waren, um den technologischen Tag zu retten und zu bekommen Sachen gemacht, ganz zu schweigen von Millionen machen.

In all dieser Zeit habe ich nie ernsthaft daran gedacht, die Programmierung tatsächlich zu verlassen, weil einfach zu viel ungeschehen gemacht wurde. Ein Großteil davon wurde vom ahnungslosen Management in einem Ansturm erstellt, um immer wieder ein 5-monatiges Baby zur Welt zu bringen. Und es ist diese Arbeit, die den größten Teil der uninteressanten Arbeit von 9-5ern oder von Off-Shoring ausmacht.

Das Interessante wird von Startups, kleinen Unternehmen und Unternehmen wie Apple und Google) erledigt, die aus verschiedenen Gründen Arbeitsumgebungen geschaffen haben, die die kreative Programmierung fördern. Und in großen Unternehmen mit dysfunktionalen Arbeitsumgebungen von Außenseitern die bereit sind, sich von Zeit zu Zeit den Hals rauszustrecken und sich die Köpfe abhacken zu lassen. War dort, hat das getan und wird es noch einmal tun, schon allein deshalb, weil es am Ende des Tages nichts Schöneres gibt, als diese Anwendung zu sehen , System oder Bibliothek, die tatsächlich funktionieren und verwendet werden, und vor allem zu wissen, dass das Endprodukt ohne Ihre Bemühungen noch schlechter gestellt wäre.

Keine Sorgen machen. Wenn Sie dieses Zeug lieben, werden Sie es in 30 Jahren tun. Wenn nicht, werden Sie mit etwas Glück herausfinden, was Sie lieben, und es wird zu innerer Zufriedenheit und hoffentlich viel mehr führen. Auf jeden Fall eine ausgezeichnete Frage, wenn auch nur für die Gelegenheit, eine tief empfundene Leidenschaft auszudrücken.

1
pajato0

Ich habe in den letzten 4 bis 5 Jahren für große (Unternehmens-) Softwareunternehmen gearbeitet und, wie in der Frage beschrieben, eine Reihe von Lösungen gesehen, die einfach ohne wirklichen Gedanken oder Design zusammengewürfelt wurden. Ich hatte das Glück, mit einigen großartigen Leuten zusammenzuarbeiten, aber es wird ein bisschen deprimierend zu sehen, dass immer wieder dieselben Fehler gemacht werden. Meistens sind die Probleme nicht technisch, sondern das Ergebnis eines schlechten Managements.

1
MagicAndi

es scheint an der Zeit zu sein, mit Drogen zu handeln.

1
gweg

Wenn ich für mich selbst spreche, gibt es einen Zyklus. Als ich anfing, mich beruflich weiterzuentwickeln, war ich aufgeregt, eifrig und hatte eine großartige Zeit, jedes neue Problem zu lösen. Nach ein paar Jahren war ich mehrere Monate für eine Firma unterwegs. Ich war nicht wirklich auf die erforderliche Menge an Reisen vorbereitet und ging weiter. Die nächste Firma, für die ich arbeitete, hatte ein Problem damit, zu groß zu sein und keinen klaren Fokus zu haben. Es gab nie eine klare Absicht oder einen geschäftlichen Grund für die Codierung, die ich machte. Infolgedessen war es meistens Füllzeit.

Danach wurde ich Berater und stellte fest, dass sich die Dinge nicht wirklich von der FTE-Arbeit unterscheiden. Ich war normalerweise bei mehrjährigen Einsätzen, bei denen es irgendwann nur noch zu einem Job wird. Wie andere gesagt haben, tun Sie am Ende viele böse Dinge, um die Arbeit zu erledigen, und stecken in der Technologie, die Sie verwenden, im Gegensatz zu neuen und interessanten Dingen. Ich habe mehrere Jahre dort verbracht, wo mir die Technologie nicht wirklich wichtig war. Ich habe jetzt schon oft genug Zyklen gesehen, da ich weiß, dass wenn du ein oder zwei Runden ignorierst, du dich nicht wirklich selbst zum Scheitern verurteilst ... aber es ist ziemlich anstrengend, wieder auf den Zug zu steigen und den einzuholen wichtige Änderungen. Als ich das letzte Mal ein Interview hatte, existierten Unit Testing und MVC im .NET-Bereich nicht wirklich und in der .NET-Community wurde kaum über Muster gesprochen.

Ich finde, die beste Determinante dafür, ob ich es richtig mache, ist, wenn ich an den Wochenenden und Abenden alleine programmiere. Wenn ja, dann bin ich begeistert von der Technologie, interessiert und lerne. Wenn nicht, hat mich mein Job wahrscheinlich zu viel unterwegs oder ich mache immer wieder das Gleiche und ich habe das Interesse verloren ... in diesem Fall ist es wahrscheinlich Zeit, weiterzumachen.

Denken Sie daran: Ihr Chef ist für Ihren Job verantwortlich, Sie sind für Ihre Karriere verantwortlich. (Offensichtlich gestohlen von Brian Princes großartigem Vortrag darüber, ein besserer Entwickler zu sein)

1
Ben Von Handorf

:-) Ich versichere Ihnen, das Gesetz des Kodex zur Vermarktung lautet wie folgt:

Je größer das Unternehmen ist, desto weniger Zeit für die Markteinführung haben Sie, desto kürzer werden die Projektlaufzeiten, und die Konkurrenz, um Ihr Produkt am schnellsten herauszubringen, lässt fast keine Zeit, um die "perfekte" Lösung zu schreiben, falls es jemals so etwas gab.

Nach meiner persönlichen Erfahrung, mehr als 8 Jahre Entwicklung in großen Unternehmen, kleineren Unternehmen und dann mittelständischen Unternehmen - die Projekte, auf die ich mich am meisten konzentrieren konnte, und das Polieren war das SMME (kleine Leute) - Sicher kommen die Kosten ins Spiel, aber Verkaufen Sie sich auch nicht aus!

Wenn sich Entwickler für realistische Zeitrahmen einsetzen, sollten Sie einen Spielplan haben, der genügend Zeit für etwas Politur lässt, damit Sie sich besser fühlen, was Sie geliefert haben. Nicht planen ist wie nicht planen, ein Begriff, den viele bisher geprägt haben.

Viel Glück bei Ihren Zukunftsplänen/Ihrer Karriere.

1
Microdot

Meine Antwort ist nein. Ich bin jetzt seit 7 Jahren Softwareentwickler und mein Spaß wird immer besser. (Ich mache gerade Desktop-Apps in C #)

Um sich nicht älter zu fühlen, empfehle ich zwei Dinge:

  • Gehen Sie zu einer großen Firma mit erfahrenen Leuten
  • Holen Sie sich eine gute Ausbildung. Ich weiß nicht, was dies bedeutet, wo Sie leben, aber bei mir haben sie einen großartigen Aufbaustudiengang, der 2,5 Jahre Teilzeit ist. Dies öffnete mir die Augen für gute Software und Entwicklung im Allgemeinen.
1
Marcel

Komisch, dass ich gerade darauf gestoßen bin ... Ich hatte genug von Programmierung und habe vor zu gehen, aber anscheinend hatte ich die Karriere, die Sie sich wünschen. Vielleicht folgen Sie am besten meinem Thread und hoffentlich helfen uns die Antworten beide: https://stackoverflow.com/questions/2055669/how-to-find-part-time-development-it-work = Ich verstehe deine Frustration

1
Jonathan

Ich würde vorschlagen, wenn Sie wirklich Spaß am Programmieren haben, nehmen Sie sich Zeit, um an Ihren eigenen Projekten zu arbeiten, die Sie außerhalb der Arbeit interessieren. Selbst wenn Sie einen Traumjob bekommen, kann die alltägliche Realität der Arbeit an professioneller Software oft den Spaß daran nehmen, genau wie alles andere im Leben.

Es gibt einen guten Grund, warum Programmierer gut bezahlt werden (es ist unglaublich schwierig, Softwaresysteme zu erstellen und zu warten, es ist mit Kompromissen behaftet und Sie arbeiten häufig unter Zeitdruck mit hohem Druck).

Mein Rat ist, während der Arbeit hart zu arbeiten, von denen in Ihrer Umgebung zu lernen, die mehr wissen oder mehr Erfahrung haben (auch wenn Sie glauben, dass Sie es besser können als sie), und weiterhin die Sache zu genießen, die Sie in dieses Chaos gebracht hat in erster Linie: eine Leidenschaft für das Programmieren.

1
dvanaria

Ich bin in der gleichen Situation wie ein vierjähriger Java Programmierer in einem großen Unternehmen. Ich kann bestätigen, dass auch ich mit den von Ihnen erwähnten Problemen konfrontiert bin.

Meine Lösung besteht darin, einen Doktortitel in Informatik zu erwerben, um neue Herausforderungen zu finden.

1
Manuel Selva

Ich arbeite zurzeit an meinem dritten Job. Ich habe 4 Jahre bei meinem ersten Job gearbeitet und dann bei meinem zweiten auch 4 Jahre.

Ich denke, es ist eine Kombination aus dem Wunsch, etwas zu tun, Karrieremöglichkeiten und Stellenangeboten.

Ich meine: Wenn Sie ungefähr ein Jahr bei einem Job arbeiten und Headhunter Sie kontaktieren, sagen Sie: "Nein, tut mir leid, ich bin glücklich über meinen aktuellen Job." Aber dann, wie nach ein paar Jahren, könnten Sie versucht sein, sich nach besseren Möglichkeiten umzusehen, bis Sie diesen Bruchpunkt erreichen und wirklich nach etwas anderem Ausschau halten.

1
Gerrie Schenck

Ich habe gerade vor ungefähr 2 Monaten in einer kleinen Firma angefangen zu arbeiten. Programmieren ist überhaupt nicht langweilig, wenn Sie es wirklich lieben. Und ich verlasse mich auch auf das Internet, um nach Antworten auf meine eigenen Fragen zu suchen, aber es gibt auch unseren Manager (der auch Entwickler/Programmierer ist), den ich fragen kann. Nun, es geht nicht nur darum, ein riesiges Einkommen zu verdienen, sondern um Ihre Leidenschaft, Dinge zu erledigen. Versuchen Sie, einige Fähigkeiten hinzuzufügen. Ich programmiere nicht nur, sondern schreibe auch. Ich bin auch in Datenbankdesign. Wenn ich meine Freizeit habe, beginne ich mit meinem persönlichen Projekt. Ab sofort genieße ich, was ich tue, und ich werde es nach 5 Jahren immer noch genießen.

0
jean27

was machst du, wenn "persönliche Projekte" dir nicht mehr genügend Lernen oder Motivation geben?

0
Jonathan

Die größte Strategie, die ich zur Verbesserung meines Codes gefunden habe, sind Codeüberprüfungen. Selbst ein weniger erfahrener Entwickler kann gelegentlich eine Verbesserung finden und vorschlagen. Das Schwierigste ist, mein Ego aus dem Prozess herauszulassen.

0
SnoopDougieDoug