Sie haben hier mit mehreren Problemen zu tun ... Beginnen wir mit dem Offensichtlichen ...
Ist das normal?
Auf keinen Fall. Aber ... ist es üblich? Leider ja.
In Bezug auf Fehlerbehebung Frustration
Das entschuldigt zwar nicht den Rest des Chaos, mit dem Sie zu kämpfen haben, und die vielen Projekte, mit denen Sie überlastet sind, aber ich möchte kurz darauf hinweisen, dass der Ansatz der "Fehlerbehebung" nur für Sie als Entwickler frustrierend ist kann für das Unternehmen und sein Management ein durchaus vernünftiger Ansatz sein.
Oberfläche für mehr Bugs und Kosten
Je mehr Code Sie berühren, desto wahrscheinlicher ist es, dass Sie Fehler einführen, auch wenn Sie beabsichtigen, ihn zu verbessern. Das bedeutet verlängerte Entwicklungszeit, Testzeit und Kosten. Und wenn es zu einem Service-Release mit einem mittleren bis hohen Defekt kommt, ist das ein großes Durcheinander für sie.
Lärm / Nebel in Ihren Protokollen
Aus SCM-Sicht ist es auch ein wenig sinnvoll, wenn Sie direkt von einem Service Release-Zweig aus arbeiten, da Sie eine saubere Sicht auf Änderungen in Bezug auf Bugfixes haben möchten. Wenn es 15 Commits mit Tausenden von Änderungen gibt, die einen Bugfix betreffen, der möglicherweise eine Codeänderung von einer Zeile erfordert, ist das ein bisschen ärgerlich.
Als Neueinstellung ist es umso sinnvoller, Sie auf das Umgestalten und / oder Verbessern der Software zu verzichten, und in meinem Sinne ist es in Ordnung, mit Ihren Bugfixes so "chirurgisch" wie möglich umzugehen. Es hält nur Kopfschmerzen in Schach.
Können Sie etwas dagegen tun?
Dies bedeutet NICHT, dass es Möglichkeiten gibt, sowohl die Vernunft des Kodex als auch die Vernunft der beteiligten Personen zu erreichen. Als Junior sollte jemand Ihre Änderungen überprüfen, insbesondere Fehlerbehebungen, und sicherstellen, dass sie genehmigt sind, bevor Sie sie für die Service Release-Builds vornehmen. Das würde radikale Veränderungen verhindern oder begrenzen und sicherer sein.
Das Projekt aus der Hölle
Mist Code, Herde von Programmierern, Vervielfältigung, Mist Architektur
Auch hier ist Devil's Advocate, zeigt aber nur, dass Ihre anfängliche Anfrage ein paar nicht-konsequente Teile enthält.
Mein Punkt ist: Ich habe wirklich sehr, sehr selten eine Codebasis übernommen, die nicht in diesem Zustand war. Und aus Versehen waren es kürzlich Projekte oder Prototypen, die von ziemlich herausragenden Programmierern initiiert wurden. Aber die erstaunlich große Mehrheit von ihnen sah aus wie Scheiße, und eine beängstigende Anzahl von ihnen war wirklicher Scheiße. Sogar diejenigen, die von guten oder großartigen Programmierern begonnen wurden, können Mist, Termine und andere Verpflichtungen sein, die ...
Willkommen in der realen industriellen Softwareentwicklung!
Und wissen Sie, was Spaß macht? In der Welt der Webentwicklung ist es oft viel schlimmer. Genießen! :)
Zu viele Projekte und Anfragen, zu wenig Zeit und Zeit
Das Problem liegt hier wahrscheinlich in:
- Ihr Management (vielleicht unbewusst) missbraucht Sie ,
- Ihre Kollegen (vielleicht unbewusst) missbrauchen Sie ,
- Du (vielleicht unwissentlich) verdeckst deinen Arsch nicht und kämpfst genug .
Ihre Manager sollten sich darüber im Klaren sein, dass Sie an zu vielen Projekten arbeiten, um sie zu verwalten. Wenn nicht, stellen Sie sicher, dass Sie so schnell wie möglich sind. Vergewissern Sie sich auch, dass sie wissen, dass es nicht alles nur eine Kleinigkeit im Park ist und dass Sie sich unter Druck gesetzt fühlen und dass es aufhören muss.
Versuchen Sie sich umzuschauen und stellen Sie sicher, dass Ihre Kollegen nicht mehr Aufgaben und Projekte auf Sie lenken, direkt (indem Sie wirklich sagen "X kann sich darum kümmern") oder indirekt ("Ich bin nicht die richtige Person für Sie") dies, finde jemanden anderen "-> am Ende bist du du selbst).
Persönliche Anekdote hier: Ich habe vor ein paar Jahren ein Praktikum gemacht, und als ich am allerletzten Tag meine Bewertung erhielt, sagte mir mein Chef, obwohl ich insgesamt sehr zufrieden mit meiner Arbeit war, dass einer der Manager das Gefühl hatte, ich zu sein hatte einige "nicht so lustige Aufgaben" auf einem anderen Praktikanten entladen, als sie erwartet hätten, dass ich sie abhole. Ich war beschämt, dass sie sich enttäuscht fühlten, und bei der Vorstellung, dass ich so aussehen würde, als würde ich nachlassen, wenn meine Absicht genau das Gegenteil war: Ich versuchte, die härteren Aufgaben zu bewältigen und den anderen jüngeren Praktikanten mit weniger Haaren zu beschäftigen -Pulling Probleme. Wäre ich in seiner Position gewesen, hätte ich mich über die mangelnde Herausforderung gelangweilt und hätte mich wahrscheinlich so gefühlt wie er. Der Punkt ist, dass Sie kommunizieren müssen, um sicherzustellen, dass niemand falsche Annahmen über drei sehr unterschiedliche Dinge macht:
- was du tun kannst ,
- was du machen willst ,
- und was Sie bereit sind zu tun .
Teilweise liegt es also auch an dir, dass du es so werden lässt. Aber es ist normal, es ist eine Lektion, die jeder lernen muss. Er hält in zwei Buchstaben: N - O .
Normalerweise verwenden Sie es als Präfix für eine längere, aber weniger belastende Antwort: Nein, das kann ich nicht. Nein, ich weiß nicht, wie ich das machen soll. Nein, ich bin mir nicht sicher, ob ich die richtige Person dafür bin. Nein, das habe ich noch nie gemacht.
Zuerst ist es sehr einfach, das Gefühl zu haben, man kann einfach "Ja, ich mache es (irgendwann)" sagen und die Dinge stapeln und erledigen, indem man vielleicht ein paar zusätzliche Stunden einsetzt. Das ist alles falsch. Sie müssen verstehen, dass Ihre Zeit nach Ihren Fähigkeiten für Sie und Ihr Unternehmen das wertvollste Kapital ist. Wenn es missbraucht wird, wirkt es sich auf Projekte, Termine und Budgets aus . So einfach ist das.
Es sieht auch ein bisschen besorgniserregend aus, dass Sie zu viele Leute hätten, denen Sie Bericht erstatten könnten. Es ist in Ordnung, mehrere Kunden und mehrere Projektverantwortliche oder sogar Hauptakteure zu haben, mit denen Sie kommunizieren müssen. Insgesamt sollten Sie sich jedoch, insbesondere als Neueinsteiger, meist nur bei wenigen Managern (und höchstwahrscheinlich nur bei Ihrem direkten Manager und möglicherweise bei einem Lead- oder Senior-Entwickler) melden. Wie ist es so gekommen? Ich weiß es nicht. Es kann ein organisatorisches Problem in Ihrem Unternehmen sein, oder es kann das Ergebnis sein, dass Sie einen Gefallen tun und dann direkt kontaktiert werden und nicht "Nein" sagen. Oder es kann sein, dass Ihr direkter Vorgesetzter, soweit ich weiß, Probleme mit Dispositionsaufgaben hat (ich rate wirklich, aber die Muster sind erkennbar und bekannt).
Ich würde empfehlen, dass Sie ziemlich schnell Folgendes tun: Sprechen Sie persönlich mit Ihrem direkten Vorgesetzten, erklären Sie, dass andere Vorgesetzte möglicherweise etwas aufdringlich sind oder (wahrscheinlich weniger weinerlich), dass Sie zu viele Dinge von zu vielen Leuten aufgeschichtet haben, und dass Sie seine Eingabe (und möglicherweise auch ihre) benötigen, um zu wissen, welche zu priorisieren sind.
180-Grad-Änderungsanforderungen
Dies ist ein weiteres großes Problem. Sie sind wahrscheinlich nicht deine Schuld, aber du kannst versuchen, ihnen dabei zu helfen, das Problem zu lösen.
"180-Grad-Änderungsanforderungen", wie Sie sie wunderschön und präzise nennen, sind ein klares Zeichen dafür, dass die Anforderungen von Anfang an verschwommen sind und dass sich niemand genug Mühe gibt, sie im Laufe der Zeit meißeln und aufräumen zu lassen .
In der Regel muss jemand ans Telefon gehen (oder besser gesagt auf die Beine) und die Stakeholder an der Hand nehmen und ihnen klar sagen: "Dort sind wir, dort möchten Sie, dass wir hingehen. Bestätigen Sie, dass wir da sind in die richtige Richtung? " Es ist in Ordnung, zu Beginn keine klaren Antworten zu erhalten, aber je mehr Zeit vergeht, desto klarer sollten sie werden, oder dieses Projekt ist eine Katastrophe, die darauf wartet, geschehen zu können.
Normalerweise würde ich sagen, schnappen Sie sich alle Stakeholder in Reichweite, platzieren Sie sie in einem Raum, führen Sie sie durch strittige Fragen und versuchen Sie schrittweise, diese Probleme zu lösen - und setzen Sie dabei Prioritäten. In Ihrem Fall ist dies jedoch möglicherweise nicht der Anruf, den Sie bereits tätigen müssen. Aber Sie erwähnen, sie haben Ihnen wirklich die Verantwortung für die Projekte übertragen. Wenn dies wirklich der Fall ist, übernehmen Sie Verantwortung und tun Sie dies. Und scheuen Sie sich nicht zu sagen "das können wir nicht" oder "das werden wir nicht" . Es ist wirklich wichtig, den Umfang eines Projekts zu begrenzen.
Wenn es keinen Spielraum gibt, gibt es am Ende der Diskussion keine klaren Anforderungen.
E-Mail-Überladung
Menschen neigen dazu, sich je nach Kommunikationsmedium unterschiedlich zu verhalten. Persönlich würde ich, obwohl ich ein eher leiser Mensch bin (und hauptsächlich im Ausland gearbeitet habe, weshalb ich am Ende auch nicht gerne zu viel telefoniere), in der Reihenfolge bevorzugen, die auf der Produktivität basiert:
- mit Menschen von Angesicht zu Angesicht sprechen ,
- mit Leuten am Telefon sprechen,
- mit Leuten über Sofortnachrichten sprechen,
- mit Leuten per E-Mail sprechen.
E-Mails eignen sich gut zum Nachverfolgen, zum Abrufen von Bestätigungen und zum Versenden von Notizen.
Zum Planen, Planen und Besprechen problematischer Punkte sind sie nahezu unbrauchbar. Klopfen Sie an die Tür des Mannes, bis er / sie sie öffnet, und setzen Sie sich mit einem Notizblock und einer Kopie Ihrer Dokumentation hin, um die Dinge zu klären. Sobald Sie fertig sind, senden Sie eine E-Mail und fordern Sie eine Bestätigung an. Wenn es eine negative Antwort oder einen etwas versteckten Versuch gibt, etwas anderes in den Umschlag zu schleichen, belagern Sie das Büro Ihres Gesprächspartners erneut.
Dies ist Software-Engineering. Es ist oft produktiver, wenn Sie nicht auf einer Tastatur tippen und den Mist, mit dem Sie zu kämpfen haben, im Voraus reduzieren können.
Die Arbeit eines Teams wert
Tun Sie das Äquivalent zur Arbeit eines Teams? Vielleicht.
Tun Sie das Äquivalent zur Arbeit Ihres Teams? Wahrscheinlich nicht.
Was ich meine ist, dass Ihr Team wahrscheinlich beschäftigt ist und Sie überarbeitet sind. Und das ist das Problem: Sie sind mit Dingen überlastet, die aus den aktuellen Projektzeitplänen verdrängt oder an jemanden weitergegeben werden sollten, der Zeit hat.
War ich ein Idiot, als ich anfänglich damit gerechnet hatte, dass sich die Dinge ändern würden?
Nein; Nur neu für die Party. Es ist wie ein erster Kater oder eine erste Beziehung. Du wirst darüber hinwegkommen.
Ich denke, dieser Beitrag hat sich zu einer großen Schande entwickelt, aber bitte sagen Sie mir, dass dies nicht für jeden Entwickler gleich ist.
Dies gilt auch für alle Entwickler in chaotischen Organisationen, seien es Start-ups oder etablierte Giganten, und ohne Erfahrung oder Selbstvertrauen, um Ihre Überlebenschancen auf der rechten Seite der Skala zu verbessern.
PS Mein Gehalt ist fast gleich, wenn nicht niedriger als das einer Kassiererin in einem Supermarkt.
Ich habe anständige Gehälter für Jobs gezahlt, die beschissen aussehen würden. Es ist nicht die Zahl auf dem Scheck, die zählt, es ist der Kontext. Was du tust, dein Alter, wo du lebst und arbeitest, etc ...
Das heißt, wenn Sie stark unterbezahlt sind, zu viel arbeiten und nicht ganz jünger sind , fragen Sie nach dieser Gehaltserhöhung oder suchen Sie sich einen neuen Job!
Es ist einfach:
- Wenn sie Wert darauf legen, was Sie tun, stimmen sie einer Gehaltserhöhung gerne zu.
- Wenn nicht, sieht die Zukunft in diesem Unternehmen nicht sehr rosig aus (zumindest für Sie, worauf es ankommt), also fühlen Sie sich nicht schlecht, wenn Sie gehen.
Seien Sie sich bewusst, dass es eine gute Sache ist, nach einer Gehaltserhöhung zu fragen , auch wenn Sie zunächst nicht geneigt wären, dies zu denken. Es zeigt, dass Sie den Überblick behalten, was Sie tun, und weist darauf hin, dass Sie eine andere Option im Auge behalten, während Sie bereit sind, an Bord zu bleiben. Und es ist eine gute Sache, sich daran zu gewöhnen, sie anzufordern, da sie im Allgemeinen wie Vorstellungsgespräche oder Verhandlungen sind: Es ist etwas, das Übung erfordert, und sie fallen nicht vom Himmel, wenn Sie nicht selbst nach ihnen greifen. Einige Unternehmen verteilen regelmäßig Erhöhungen, ohne dazu aufgefordert zu werden, aber das liegt nur daran, dass sie klug genug sind, um zu wissen, dass dies Sie halbwegs glücklich und weniger bereit macht, sich zu verändern etwas unruhig, wenn es darum geht, ein Raise-Angebot zu erhöhen, das ihnen direkt angeboten wurde).
Wie Sie mit dieser Anfrage fortfahren, liegt etwas außerhalb des Rahmens DIESES Projekts, weshalb ich hier nicht auf die Details eingehen werde. Ich empfehle Ihnen jedoch, eine Aufzeichnung Ihrer SCM-Commit-IDs, Ihrer behobenen Fehler und Erfolge sowie Berichte zu erstellen, in denen sie mit dem Gesamtaufwand des Teams verglichen werden. Diesen Weg:
- Sie können für sich selbst messen, ob Sie effektiv viel mehr getan haben als Ihre Kollegen oder nicht,
- Sie können sich behaupten, wenn Ihre Anfrage nicht gerechtfertigt ist.