Wie kann man sich von der Rolle eines Code-Betreuers lösen? [geschlossen]

13

In meinen letzten drei Jobs war ich ein Programmierer. In allen drei Fällen wurde ich eingestellt, nachdem der Großteil des Codes für das Projekt bereits geschrieben war.

Ich bin ein Autodidakt Programmierer. Bevor ich meine erste berufliche Tätigkeit aufnahm, hatte ich vielleicht ein Dutzend Projekte in der Tasche, die ich erfolgreich gestartet und ausgeführt habe.

Das Schreiben von neuem Code und das Verwalten von vorhandenem Code sind zwei völlig unterschiedliche Aufgaben. Es ist, als würde man einen Luftfahrtingenieur mit einem Flugzeugmechaniker vergleichen.

Es ist besonders ärgerlich, wenn Sie ein Flugzeugmechaniker sind, der an einem Flugzeug arbeitet, das von einem Ingenieur entworfen wurde, der nicht versucht hat, das Flugzeug so zu konstruieren, dass es in irgendeiner Weise logisch oder wartungsfreundlich ist.

Ich fange an, das Gefühl zu haben, am Anfang des Projekts dabei zu sein. Man muss einer der besonderen Menschen sein, die den Rest der Computerwissenschaftler irgendwie übertroffen haben. Was braucht es, um in dieser Position zu sein?

Ich habe das Gefühl, dass diese Frage keine einfache Antwort hat, aber kann mir jemand einen Einblick geben? Waren Sie schon einmal im Erdgeschoss eines neuen Projekts? Was brauchte es, um dorthin zu gelangen?

nbv4
quelle
Bewerben Sie sich für Code Maintainer-Jobs?
James
@James alle Jobs sind Code-Maintainer-Jobs oder zumindest alle, auf die ich
stoße
Lass dich nicht entmutigen. In der Technik ist nichts von Dauer. Sie mögen sich wie der Mechaniker oder der Ingenieur fühlen. Aber ich denke, es gibt viele Unternehmen mit autodidaktischen Führungskräften und Arbeiterbienen mit fortgeschrittenen Abschlüssen. Der Status, das Wissen und die Bemühungen, die formale Ausbildung zu erfüllen, sollten sich lohnen, aber ist Ihre Antwort auf "Was haben Sie in letzter Zeit für mich getan?" ist besser, es geht ein langer Weg.
DeveloperDon

Antworten:

6

Wartung bedeutet für verschiedene Personen verschiedene Dinge und kommt aus verschiedenen Gründen zustande.

  • Im schlimmsten Fall wurde das anfängliche System in Eile zusammengewürfelt, das anfängliche Team hat sich für die ganze Sache ausgesprochen. Sie folgten der 80/20-Regel, sodass viele Kunden viele Korrekturen und kleine Verbesserungen benötigen, obwohl es möglicherweise ein Produkt gibt, das nur minimal verkauft werden kann. Viele Probleme, aber nicht viel Ruhm bleiben. Sie haben den schwersten Job und es ist undankbar. Ich hoffe das ist nicht deine Situation.
  • Besser gesagt, Sie haben gezeigt, dass Sie mit Ihrer Arbeit vorsichtig sind und darauf vertrauen können, dass Sie Änderungen an Feldprodukten vornehmen, ohne diese zu beschädigen. Was bleibt, ist für die Leute, die das ursprüngliche System zusammengeschlagen haben, zu schwierig. Vielleicht haben sie es nicht geschafft, das System für die Ewigkeit zu bauen, und vielleicht sind Sie als Ersatz da, um die Dinge in Ordnung zu bringen und die Kunden, das Projekt und die Gewinne zu retten.
  • Sehr wahrscheinlich fallen 60% der Projektkosten während der Wartung an. Vielleicht ist es der richtige Zeitpunkt, vielleicht trennt Ihre Organisation zwischen Neuentwicklung und Wartung, aber Sie befinden sich in der 3/5-Mehrheit, weil viele von uns Wartungsarbeiten durchführen.

Hier sind ein paar Dinge, die Sie ausprobieren sollten:

  • Machen Sie einen tollen Job, haben Sie eine tolle Einstellung, seien Sie ein Ideenführer.
  • Arbeiten Sie so oft wie möglich in Teams und nicht allein.
  • Lerne neuere Sprachen.
  • Erfahren Sie neuere Plattformen.
  • Fordern Sie an, an kleineren Programmen zu arbeiten, und bewerben Sie sich vielleicht sogar bei kleineren Unternehmen.
  • Machen Sie sich qualifiziert und engagieren Sie sich in der Dokumentation. Wenn Projekte bereits in der Zeit nach dem Wasserfall beginnen, müssen sie schriftlich koordiniert werden, um die Anforderungen zu planen, zu dokumentieren, zu bewerten und zu klären.
  • Es ist gefährlich, Projekte in die Hände von Menschen zu legen, die Anforderungsmanagement, Einschätzung und Risikobewertung nicht zu schätzen wissen. Lernen und üben Sie diese Fähigkeiten daher so oft wie möglich.
  • Holen Sie sich formellere Schulungen oder Zertifizierungen. Dies kann Ihren Status erhöhen und Sie zu einer attraktiveren Wahl machen, wenn Teams für neue Entwicklungsprojekte gebildet werden.
  • Starten Sie ein Unternehmen oder eine Beratung nebenbei. Auf diese Weise können Sie kreativ auf Ihre Lieblingsarbeit eingehen und besser einschätzen, wie es ist, ohne Code oder Dokumentation zu beginnen.
  • Gehen Sie näher zu Ihrem Chef und zu Menschen, die neue Projekte planen.
  • Wenn Sie den Testern und der Qualitätssicherung sehr nahe stehen, ist ihr Output häufig der Input für die Wartung. Ratet mal, mit wem Ihr Chef der Meinung ist, dass Sie wirklich gut zusammenarbeiten?
  • Bilden Sie so viele Freunde wie möglich und gewinnen Sie den Respekt so vieler Greenfield-Entwickler wie möglich.
  • Neue Entwickler sind die kompetenten Mitarbeiter. Seien Sie also vorsichtig, wenn Sie Kritik oder Negativität bemerken. Geben Sie ihnen Ihre Ideen frei ohne Schuld oder Urteil. Ihre Ideen brauchen nicht vorgestellt zu werden, sagen Sie sie einfach. Sagen Sie niemals, wir haben es früher so gemacht, oder das funktioniert nicht, versuchen Sie es. Sag niemals, ich weiß es nicht, aber das könnte funktionieren. Sagen Sie einfach die Idee. Oder besser, zeig es.
  • Finden und nutzen Sie jede Gelegenheit, um einen Proof-of-Concept zu erstellen, der sich in Ihr neues Projekt verwandeln könnte.
  • Pass auf, wer dich beauftragt. Normalerweise sollte es jemand in Ihrer Befehlskette sein. Wenn es Ihre Kollegen sind, schieben Sie einige Zeit zurück. Wenn es sich um jemanden handelt, den Sie beaufsichtigen, muss es einen guten Grund dafür geben, dass die Steuerung invertiert. Wenn es sich um eine Qualitätssicherung oder einen Test handelt, stellen Sie sicher, dass dies für Ihre Befehlskette von Bedeutung ist und nicht so geplant ist, dass es zu Verzögerungen bei der Arbeit kommt, die Sie zuvor versprochen haben.
  • Vorsicht vor Perfektion. Neue Entwicklungen sind oftmals schnellen Menschen vorbehalten, auch wenn sie die Augen kreuzen und die T's nicht übersehen.
  • Nehmen Sie sich Zeit für das Erlernen und Üben früher Projektfähigkeiten, die Ihrer Entwicklungslinie entsprechen. Dies kann Folgendes umfassen: Erstellen von Quell-Repositorys, Definieren der Build-Umgebung, Konfigurieren des Servers für konstante Integration, enge Zusammenarbeit mit dem Hardwareteam, um neue Boards mit Board-Support-Paketen zu erstellen oder Power-On-Self-Tests zu schreiben. Es kann sogar hilfreich sein, zu wissen, wie man mit dem Einkauf zusammenarbeitet, um neue Entwicklungstools, Schulungen und COTS-Hardware zu erwerben.
  • Stellen Sie sicher, dass Sie fortfahren, bevor Ihr Wartungsprojekt abgeschlossen ist, indem Sie Ihre Fähigkeiten intern an Teamleiter und möglicherweise an Manager oder extern weitergeben.
  • Beherrsche fließend jede Technologie, die du kennst, und kenne viele Technologien.

Eine Wartungsrolle kann auf verschiedene Arten zu Ihrem Vorteil genutzt werden.

  • Sie können potenziell an jedem Projekt Ihrer Gruppe oder sogar Ihres Unternehmens arbeiten.
  • Wenn Neuentwicklung und Wartung getrennt sind, können Sie möglicherweise einer weniger wettbewerbsorientierten Führungsspur folgen. Die Leitung neuer Projekte ist sehr begehrt, aber möglicherweise steht Ihnen für Fragen ein Wartungsleitfaden zur Verfügung. Wenn Sie Ermutigung und Mentoring haben, werden die Mitglieder dieses Teams es vielleicht mehr zu schätzen wissen.
  • Wenn sich das Projekt in der Wartung befindet, besteht eine höhere Wahrscheinlichkeit, dass Sie mit Kunden kommunizieren. Falsch gehandhabt, endet die Karriere. Richtig gehandhabt, erhält es positive Aufmerksamkeit außerhalb der Entwicklung, die schwer zu finden ist, ohne Manager zu sein.

Trotzdem bin ich das Gegenbeispiel und nicht das Vorbild. Ein Großteil dieser Perspektive beruht auf Erfahrung und Beobachtung.

Es gibt viele neue Programme, die noch geschrieben werden müssen.
Seien Sie bereit und Sie werden überraschend bald an einem arbeiten.

DeveloperDon
quelle
4

Ich habe schlechte Nachrichten für Sie: Viele der Anwendungen, die die Menschheit benötigt, sind bereits geschrieben. Sie müssen lediglich an die sich ständig ändernde Umgebung angepasst werden.

Eines Tages werden Sie gebeten, einen neuen Teil des Systems zu schreiben, wie z. B. ein neues Modul, und Sie können Ihr Wissen über die Entwicklung der grünen Wiese nutzen.

Bis dahin können Sie versuchen, das Refactoring älterer Anwendungen zum Reinigen von Modulen zu erlernen.

Eine gute Lektüre ist " Arbeiten mit älteren Anwendungen " und " Umgestalten auf Muster ". Wenn Sie das ursprüngliche Refactoring (Fowler) nicht gelesen haben , tun Sie dies bitte. Und lernen Test-Driven Development (TDD), hilft immer.

Falls Sie mit PHP arbeiten, habe ich einen praktischen Artikel geschrieben, in dem dieser Code noch ausgeführt wird ...

Habe Spaß!

Aadaam
quelle
1

Der einfachste Ausweg besteht darin, den Programmierstil vollständig zu ändern und gleichzeitig neue Fähigkeiten hinzuzufügen. Sie könnten beispielsweise versuchen, ein Forscher zu sein. Es ist vielleicht kein Prestigejob für das erste Jahr und sicherlich nicht so hoch bezahlt wie normale Programmierjobs (im ersten Jahr, wenn Sie Forscher / wissenschaftlicher Mitarbeiter im Team einer Universität sind - natürlich, weil Senior Researcher hübsch ist Dies entspricht im Großen und Ganzen dem Rest der Branche. Es wird jedoch definitiv Ihre Fähigkeiten dazu bringen, die schwierigsten Probleme zu lösen, die Sie heute finden können. Nach einem solchen Job könnten Sie leicht in eine bessere Position springen, vorausgesetzt, Sie haben einige interessante Projekte, die Sie Ihrem nächsten Chef zeigen können.

paxRoman
quelle