Memoiren zur Softwareentwicklung

Jan 26 2023
Vier Jahre lang habe ich als Software-Ingenieur bei einem wachstumsstarken Startup einige sehr wertvolle Lektionen gelernt, über die ich hier nachdenke. Dies ist eine wachsende Liste und ich werde sie weiterhin anhängen.

Vier Jahre lang habe ich als Software-Ingenieur bei einem wachstumsstarken Startup einige sehr wertvolle Lektionen gelernt, über die ich hier nachdenke. Dies ist eine wachsende Liste und ich werde sie weiterhin anhängen.

  • Die Arbeit verändert sich ständig . Vor allem, wenn das Unternehmen klein ist. Als ich als 180. Mitarbeiter bei OpenGov anfing, konnte ich nicht sagen, ob ich einen Monat später die gleiche Arbeit wie damals leisten würde. Die Dinge verändern sich rasant, das Unternehmen versucht seinen Platz im Markt zu finden und damit gehen die Anforderungen immer weiter.
  • Du bist die Kultur . Wenn ein Unternehmen klein ist, kann jede neue Sache, jeder neue Prozess oder jede technische Verbesserung, die Sie einführen, von der gesamten technischen Organisation übernommen werden. (oder in einigen Fällen das gesamte Unternehmen) und könnte mit dem Wachstum des Unternehmens Teil der Kultur werden. Das ist meiner Meinung nach sehr erfüllend und nicht jeder bekommt diese Gelegenheit. Achten Sie immer auf Dinge, die Sie verbessern können, und versuchen Sie, eine Diskussion anzustoßen. Sie müssen nicht die ganze schwere Arbeit selbst erledigen; Herauszufinden, was verbessert werden könnte, und diesen ersten Schritt zu tun, ist ein langer Weg.
  • Berühren Sie jeden Teil des Stapels . In einem Startup, in dem man als Ingenieur arbeitet, gibt es bei den Rollen selten eine klare Abgrenzung der „Dinge“, an denen man arbeiten soll, insbesondere als Junior-Ingenieur. Es erwarten Sie Arbeiten am Frontend, Backend, der Infrastruktur, Datenbanken und vielem mehr. Von der Pflege eines JIRA-Backlogs für eine Funktion bis zur Bereitstellung des zugehörigen Codes ist alles Teil der Arbeit.
  • Dinge gehen kaputt. Sie stellen einen Code bereit, der das System kaputt macht oder sich nicht wie in einer Vorproduktionsumgebung verhält. Manchmal bricht die Infrastruktur zusammen und Sie können überhaupt nichts bereitstellen! Dies sind alles Gelegenheiten zum Lernen und zur Verbesserung. Obwohl wir bei opengov über ein dediziertes Entwicklerteam verfügten, das sich um solche Probleme kümmerte, waren wir als Ingenieure auch mit der operativen Seite des Software-Engineerings vertraut.
  • Dokumentation ist wichtig. Da wir damit beschäftigt sind, Code zu schreiben und zu versenden, tritt die Dokumentation oft in den Hintergrund. Es lohnt sich, sich in regelmäßigen Abständen etwas Zeit zu nehmen, um neue Dokumentationen zu erstellen und die vorhandenen auf dem neuesten Stand zu halten. Eine gute Dokumentation ist meiner Meinung nach das Zeichen eines leistungsstarken Teams. Wenn Menschen kommen und gehen, insbesondere bei Startups, hilft die Dokumentation dabei, neue Leute einzubinden und Wissen über verschiedene Systeme und Domänen innerhalb bestehender Teammitglieder zu verbreiten.
  • Kommunikation ist schwierig . Um die Zustimmung verschiedener Stakeholder für ein technisches Projekt zu erhalten, müssen Sie erklären, welchen Mehrwert es für Ihren Kunden bringt. Sie möchten die nächsten Sprints damit verbringen, die Zustandsverwaltung Ihrer App umzugestalten? Machen Sie sich bereit, dem Produkt oder Ihrem EM (der es wiederum den Vorgesetzten erklären muss) zu erklären, warum das wichtig ist. Manchmal gibt es einen direkten Vorteil für den Endbenutzer, wie schnellere Ladezeiten der App, bessere UX usw. In anderen Fällen wäre der Vorteil eine bessere Entwicklererfahrung, die die Funktionsentwicklung in der Zukunft beschleunigen würde. Was auch immer es sein mag, es kann schwierig sein, diese Erzählung richtig zu formulieren, und selbst wenn Sie nicht derjenige sind, der an diesen Verhandlungen beteiligt ist, empfehle ich Ihnen, immer herauszuzoomen und Ihre Arbeit aus der Perspektive eines Benutzers zu betrachten.
  • Den richtigen Mentor finden. Wie in anderen Disziplinen kann Mentoring für einen jungen Ingenieur bahnbrechend sein. Ein Mentor muss Sie nicht an der Hand halten, um Ihnen etwas beizubringen, sondern Sie in die richtige Richtung lenken. Sie verfügen über umfangreiche Erfahrung auf diesem Gebiet, sind erfahrene Fachleute und sind bereit, ihre Erkenntnisse mit Ihnen zu teilen. Wenden Sie sich an die Personen in Ihrem Team/Unternehmen, zu denen Sie aufschauen, und besprechen Sie ein Problem, das Sie lösen, ein technisches Designdokument, das Sie schreiben, oder alles, wozu Sie Anleitung benötigen.