Haftungsausschluss: Die geäußerten Meinungen sind ausschließlich meine eigenen und geben nicht die Ansichten oder Meinungen meines Arbeitgebers wieder.
Ich arbeite für eine kleine Firma, in der nur wenige Leute Entwickler sind, andere QA / Test und 1 Manager. Ich bin vor 1,5 Jahren zu dieser Firma gekommen. 3 leitende Entwickler verfügen über mehr als 8 Jahre Erfahrung.
Dies sind die Beobachtungen, die ich über die Teamführung gemacht habe. (Ich betrachte mich als frischer mit weniger Erfahrung im Vergleich zu ihnen in allen Aspekten)
- Sie diskutieren nie 1: 1 oder sie denken nie über den Vorschlag nach (ich stimme zu, dass es an ihnen liegt, ob sie ihn akzeptieren oder nicht, zumindest sollten sie eine Meinung berücksichtigen).
- Als leitender Teamleiter können sie versuchen, die Codebasis mit neuen Technologien umzugestalten (einschließlich des Faktors, dass die Einführung neuer Technologien möglich ist und andere Entwickler und Infrastrukturen ebenfalls bereitstehen) Sie sind nicht aktuell. (Grund, warum ich sage, sie kennen den aktuellen Programmiertrend nicht *)
- In unserer Codebasis werden mehr als 10000 Zeilen wiederholt, deshalb habe ich ihnen davon erzählt
DRY: Don't Repeat yourself
. Ihre Antwort lautete: "Es ist ein faszinierender Artikel, der aber in der Praxis nie funktioniert." Ich habe ihnen nur gesagt, wenn wir es nicht 100% trocken machen, können wir zumindest Schnittstellen verwenden, aber das wurde auch nicht berücksichtigt. * (Schnittstellen können für neue Funktionen hinzugefügt werden, ohne die vorherige Codebasis zu berühren, wenn sie nicht zur Umgestaltung bereit sind.) - Alle leitenden Entwickler führen Wartung und Hotfixing von Patches durch. Den Rest der Zeit verbringen sie nur auf Unterhaltungsseiten. Sie sind nur glücklich, die Aufgabe zu beenden.
- Die Einführung neuer Technologien ist schlecht? * (einschließlich Machbarkeitsfaktor kann gemacht werden).
- Manager auch am wenigsten besorgt über die Dinge, über die ich spreche.
- Junior erwartet, dass er vom Teamleiter viel lernen kann. * (nicht, indem Sie um Hilfe oder ältere Kodierung für sie bitten).
Meine Fragen sind:
- Bin ich zu aggressiv gegenüber den Änderungen, die ich vorschlage?
- Was kann ich von erfahrenen Entwicklern mit mehr als 8 Jahren Erfahrung erwarten?
- Ist es falsch von mir zu erwarten, dass ich von einem Unternehmen lerne und Erfahrungen sammle?
Update:
Warum sie sich für DRY halten, ist unpraktisch: Weil sie sich nicht auf OOP-Konzepte einlassen wollen. Sie wiederholen gerne Aufgaben.
Neue Technologien, die ich vorschlage:
- Verwendung der Minimierung von CSS-, JS- und SPrite-Bildern
- Verwendung von Interfaces und .net Framework 4, Generics und vielen anderen.
- Clientseitige Bibliotheken wie modernizr, knockout js, bootstrap für responsive,
self-improvement
teamwork
junior-programmer
team-leader
Ravi Gadag
quelle
quelle
Antworten:
Ohne genaue Angaben (welche neuen Techniker schlagen Sie vor, warum lehnen Sie sie ab, wo halten sie DRY für unpraktisch und warum usw.) ist es schwierig, den Nutzen Ihrer Vorschläge zu bewerten, und das ist wichtig für Ihre Aggressivität. Wenn Sie möchten, dass sie ein neues Framework verwenden, weil Sie es für neu und cool halten, ist es zu aggressiv, mehr als nur leicht zu drücken. Wenn sie wirklich Tausende von Zeilen Kopieren / Einfügen in die Codebasis schreiben (dh Mist schreiben), dann würde ich sagen, dass mehr Aggressivität geboten ist.
Dies hängt aber auch von der zwischenmenschlichen Dynamik zwischen Ihnen und ihnen ab. Mein Rat wäre, sich zu fragen: "Kann ich nachweisen, dass meine Vorschläge dem Unternehmen zugute kommen?" Wenn die Antwort ja ist, dann würde ich sagen, dass Sie eine Lizenz haben, um zu versuchen, zu pushen.
Dadurch wird der Gamut ausgeführt. Manchmal gibt es wirklich scharfe Leute, von denen Sie viel lernen können, sowohl in Bezug auf die büropolitische Navigation als auch in Bezug auf technische Aspekte. Leider bekommt man auch viel davon . Es mangelt nicht an Leuten, deren Erfahrung von mehr als 8 Jahren im Grunde genommen nur das Nötigste ist, um nicht gefeuert zu werden. Wenn Sie einen Mentor oder jemanden finden, der wirklich scharfsinnig ist, halten Sie so viel wie möglich daran fest, weil es weniger häufig ist, als es sein sollte.
Die Leute, von denen man lernen kann, sind da draußen und sie sind in einigen Unternehmen. Sie scheinen mit einem gemeinsamen Dilemma konfrontiert zu sein, und um es mit den .NET Rocks-Leuten zu sagen: "Ändern Sie Ihr Unternehmen ... oder ändern Sie Ihr Unternehmen."
Das heißt, wenn Sie an bestimmte grundlegende Ansätze und Prinzipien glauben und feststellen, dass Sie diese nicht verkaufen können und die Freiheit haben, Dinge zu tun und zu lernen, die Sie tun und lernen möchten, sollten Sie über eine Suche nach einem Unternehmen nachdenken, das besser ist fit für dich.
quelle
Ich schreibe dies aus meiner Sicht als Senior Developer (oder füge hier einen beliebigen anderen Titel ein), der häufig mit Junior-Entwicklern zusammenarbeitet.
Dies ist wahrscheinlich sowohl für Sie als auch für die Senior-Entwickler ein Mangel.
Eine Sache, die viele Junior - Entwickler nicht verstehen, ist, dass Sie (als Junior) neue Technologien, neue Methoden für die Ausführung von Aufgaben, die Meldung an das Team, dass sie etwas falsch machen , usw. vorantreiben - die Senioren in der Das Team berichtet dem Management über die Lieferung und wird vom Management dazu gedrängt, neue Dinge so schnell wie möglich zu liefern, damit das Unternehmen so viel Geld wie möglich verdient (oder die besten Ergebnisse für den Kunden / die Kunden erzielt).
Manchmal überwiegen die bewährten Möglichkeiten der Bereitstellung das Risiko der Implementierung [hier coole Technologie einfügen] . Enge Fristen, zu viel Arbeit und viel Druck beim Booten bedeuten, dass wir diesmal auch so vorgehen, wie wir es seit mehr als 8 Jahren getan haben.
Sie müssen dem Team nachweisen können , dass das, was Sie vorschlagen, auf lange Sicht für sie und das Unternehmen von Nutzen sein wird. Andernfalls erhalten Sie kein Buy-in von Ihren Kollegen, und sie können es nicht an das Management-Team verkaufen, um die Genehmigung für die Ausführung zu erhalten.
Ohne die vollständigen Umstände zu kennen, könnten Sie sein. Nur den Leuten A zu sagen, ist besser als B, also sollten wir A verwenden, hält nicht viel Boden. Sie müssen etwas unternehmen, um zu zeigen, warum es besser ist. Es muss nicht groß sein, auch nur eine kleine Komponente oder Anwendung, die zeigt, dass Ihre vorgeschlagene Vorgehensweise mehr als ausreichend sein sollte. Sie müssen es dann präsentieren und bereit sein, sich gegen die Kritik Ihres Teams zu behaupten.
Auch als Senior Developer muss ich das tun, bevor ich meine Kollegen davon überzeugen kann, dass die neue Art, Dinge zu tun, besser ist.
Wie andere gesagt haben, bedeutet 8+ Jahre Erfahrung nicht unbedingt, dass Sie fantastisch sind. Aber im Allgemeinen sollten Sie in der Lage sein, viel von jemandem zu lernen, der schon eine Weile in der Nähe der Fallen ist. Sie können ihnen möglicherweise auch etwas beibringen.
Menschen sind Menschen und jeder hat ein Ego (einige größer als andere) und es gibt nichts Schlimmeres als den Neuen, der hereinkommt und Ihnen sagt, dass Sie in den letzten 8 Jahren Ihren Job falsch gemacht haben. Gleichzeitig sollte ein Senior-Entwickler (ein guter) in der Lage sein, konstruktive Kritik zu üben und die Gründe für seine Entscheidungen zu artikulieren.
Wenn Sie nicht die neuesten und besten Technologien und Funktionen einsetzen, bedeutet dies nicht, dass Sie nicht in Ihrem Unternehmen lernen und Erfahrungen sammeln. Erfahrung ist Erfahrung. Manchmal kann das Wissen um die alte Art, etwas zu tun, Ihnen ein besseres Verständnis dafür vermitteln, warum die neue Art besser ist. Dies hilft Ihnen auch zu demonstrieren, warum der neue Weg besser ist, weil Sie beides verstehen und ein überzeugenderes Argument formulieren können, wenn Sie versuchen, es zu verkaufen. Ich persönlich verwende nicht die neuesten und besten Dinge, an denen ich gerade arbeite - aber ich lerne jeden Tag neue Dinge und es sieht auch in meinem Lebenslauf noch gut aus.
Abgesehen davon - wenn das Unternehmen wirklich nicht zu Ihnen passt und alles andere scheitert, möchten Sie vielleicht einen neuen Arbeitsplatz suchen.
quelle
Betrachten Sie dies als eine große Chance.
Promotions kommen oft nicht (und sollten auch nicht) aus der Anzahl der Jahre, die Sie in ein Unternehmen gesteckt haben. Sie haben, was Sie denken, einige wirklich gute Ideen, und Ihre Vorgesetzten / Kollegen möchten nicht zuhören.
Hier ist eine Strategie:
Und ich will kein
profit
vager "Ich gewinne" -Schritt sein. In Schritt 4 erhalten Sie eine oder alle der folgenden Optionen:Entweder mit Ihrem Unternehmen oder mit einem neuen Unternehmen, das Ihre Talente und die erstaunlichen Kennzahlen, die Sie in Ihrem Lebenslauf haben, zu schätzen weiß.
Ich nenne es "großartig sein" - und es funktioniert .
Anekdote: Ich bin nicht durchweg großartig, aber ich versuche es und habe die angegebenen Schritte 5 Mal ausgeführt (2 Beförderungen, 3 neue Jobs; alle mit erheblichen Gehaltserhöhungen).
In diesem Sinne sollte ich Ihre Fragen wahrscheinlich direkt beantworten:
Haben Sie schon etwas großartiges gemacht, mit Metriken und Beispielen, wie großartig es ist? Es gibt ein altes Sprichwort (wie krass es auch sein mag) ...
Ideas are like assholes; everyone's got one, and they all stink
Mach etwas.
Ernsthaft? Sie sollten nichts erwarten . Aber versuchen Sie, alles zu lernen, was sie wissen. Stellen Sie Fragen, überprüfen Sie privat ihre Arbeit, hören Sie zu, wenn sie sprechen, und denken Sie kritisch über das nach, was sie sagen. Sie sind Erfahrung in einer Kiste ... äh ... Körper. Versuche sie zu öffnen und zu lernen. Mein bester Freund ist ein brillanter Entwickler, und ich sage ihm aktiv, dass ich immer versuche, so viel wie möglich von ihm zu lernen.
Absolut nicht. Das bedeutet nicht, dass Sie nicht lernen können, was Sie nicht tun sollen. Die Leute machen Fehler, lernen aus den Fehlern Ihres Unternehmens und auch aus Ihren.
quelle
Ich denke, Sie müssen kreativ werden. Beginnen Sie, nach einigen Nebenprojektanfragen zu fragen, die Ihre Senioren verschoben haben. Indem Sie unabhängig an etwas arbeiten (oder noch besser, einen anderen Junior-Entwickler hinzuziehen) und von Anfang an viel Neues anwenden. Seien Sie nicht überrascht, wenn Sie herausfinden, dass es nicht alles zum Besseren ist.
Ein anderer Ansatz wäre, eine eigene Code-Verzweigung zu erstellen und einen Refactor-Prozess durchzuführen. Ich schaffe es vielleicht nie, auf der Grundlage Ihrer Aussagen in die Produktion zu kommen, aber zumindest können Sie Ihre Fähigkeiten verbessern.
Wer weiß, sie werden vielleicht sehen, wie Sie die Arbeit aller einfacher machen können, und sie werden den wahren Gebrauch von "Faulheit" beim Programmieren begrüßen.
Wenn alles andere fehlschlägt, geben Sie die neuen Fähigkeiten in Ihren Lebenslauf ein und beginnen Sie, nach einem anderen Job zu suchen.
quelle
Wenn jemand über 8 Jahre als Programmierer arbeitet, heißt das nicht, dass er ein guter Programmierer ist. Was macht meiner Meinung nach gute Programmierer zu seriösen Programmierern? Es ist der Wille, nicht nur Erfahrungen auszutauschen, sondern auch neue Denkweisen, Techniken, Technologien usw. zu lernen. Es ist der Wille, ständig besser zu werden und sich zu verbessern. Viele sogenannte "Senior" -Programmierer stapeln sich in alten Mustern der funktionalen Programmierung aus längst vergangenen Sprachen. So etwas wie neue Konzepte und Ideen sind einfach nichts für sie, weil sie es nicht brauchen. Sie haben ihre "Erfahrung".
Der Wille zur Verbesserung und zum Lernen ist weitaus wichtiger als jahrelange Erfahrungen. Junior-Entwickler, die lernen wollen, sind weitaus besser für jedes Unternehmen als alte "Senior" -Entwickler, die bereits alles "wissen".
quelle
Arbeiten Sie in meiner Firma?
Nein, aber im Ernst, dies scheint in vielen großen Unternehmen ein ziemlich gemeinsamer Faden zu sein. Veränderung ist schwer und teuer. Manchmal weiß man nicht wirklich, wie viel es kostet, bis man mittendrin ist und es zu spät ist, um zurückzukehren.
Zum Beispiel migriert meine Firma immer noch von Cobol-basierten Mainframe-Bildschirmen nach Java. Es ist schwer, jemanden über Spring oder JSF zu verkaufen, wenn er noch immer versucht, seine Technologie mit den Standards von vor zehn Jahren auf den neuesten Stand zu bringen. Also, ich werde Ihnen sagen, was ich getan habe, was einen begrenzten Erfolg hatte (ich bin auch ein Jr.-Entwickler). Sei das Vorbild. Es ist nicht gut genug, dass Sie Ihren neuesten Stand kennen, Sie müssen es beweisen. Wenn alle anderen vermasseln, bringen Sie ein Buch mit, um es zu lesen, wenn Sie Ausfallzeiten haben. Und machen Sie es über einen dieser Techniker, die Sie implementieren möchten. Wenn sie dich sehen, wie du es liest, während sie YouTube guckst (ehrlich gesagt, hat deine Betriebseinheit das nicht mitbekommen und die Leute werden entlassen), neigen sie eher dazu, dir nicht nur zu glauben, dass du weißt, wovon du redest, sondern fragen dich vielleicht sogar, was du sagst lesen.
Als Beispiel erzähle ich Ihnen von meinen Erfahrungen mit meinem leitenden Architekten. Kluger Kerl, aber im Allgemeinen nicht an neuer Technologie interessiert. Ich ging und fragte ihn, wie man etwas in CVS (unserer Versionskontrolle) macht und sagte: "Oh, ok, ich bin es gewohnt, Subversion zu verwenden, und sie tun es auf diese Weise. Danke für Ihre Hilfe." Dies führte zu mehreren Gesprächen über CVS und Ant vs. SVN und Maven, die dazu führten, dass er ein paar Bücher aus meiner Bibliothek borgte, um sie zu überprüfen. Endergebnis: Wir werden noch in diesem Jahr auf die neuen Systeme umsteigen. Der Schlüssel ist offen und hilfsbereit zu sein, ohne zu vermitteln, dass sie es falsch machen. Denn schließlich gibt es viele bessere Möglichkeiten, dies zu tun, aber wenn es richtig funktioniert, dann tun sie es nicht falsch. Jegliche Art von Missachtung wird Sie in den meisten Fällen in heißes Wasser stürzen, achten Sie also darauf.
Wenn sie einfach nicht aufnahmebereit sind, denken Sie daran, dass Sie in einem großartigen Bereich tätig sind, der stark nachgefragt wird. Wenn Sie neugierig sind und schnell lernen, werden Sie einen anderen Job finden, wahrscheinlich einen, an dem Sie viel mehr Spaß haben werden. Welches ist so wichtig wie das Geld für mich. Achten Sie darauf, in jedem Interview zu erwähnen: "Oh, ihr benutzt die xxx-Technologie? Das ist großartig. Ich wollte das schon immer nutzen und habe es in meiner alten Firma versucht." Menschen lieben es, wenn Sie sich für das begeistern, was sie tun.
quelle
Ich denke, Sie haben Recht mit Ihrer Aggressivität. Es ist eine große Freude, mit leidenschaftlichen Menschen zu arbeiten, und eine große Strafe, mit geistig Toten zu arbeiten. 8 Jahre Erfahrung bedeuten nichts. Natürlich hattest du vielleicht nicht recht. Oft sind neue Technologien eng mit dem Marketing verbunden und nicht immer besser. Aber wenn Sie nicht Recht haben, sollten Senioren Ihnen erklären, wo Sie falsch liegen. Andernfalls erhalten Sie keine Vorteile aus Ihrem Job. Vielleicht bist du jung und heiß. Wenn ja, ist dies Ihr Vorteil. Verbringen Sie Ihre Zeit nicht an Arbeitsplätzen, an denen Sie nicht wachsen können. Sorgen Sie dafür, einen neuen Job zu finden, in dem Sie Ihre Lösungen besprechen und Feedback von anderen erhalten können.
quelle