Ich bin ein relativ neuer Entwickler, frisch vom College. Während des Studiums und der anschließenden Arbeitssuche stellte ich fest, dass es viele "moderne" Softwareentwicklungsmethoden gab, denen meine Ausbildung fehlte: Komponententests, Protokollierung, Datenbanknormalisierung, agile Entwicklung (im Vergleich zu generischen agilen Konzepten), Codierungsstil Anleitungen, Refactoring, Code-Reviews, keine standardisierten Dokumentationsmethoden (oder sogar Anforderungen) usw.
Insgesamt habe ich nicht gesehen, dass dies ein Problem ist. Ich hatte erwartet, dass mein erster Job all diese Ideen aufgreift und mir diese bei der Arbeit beibringt. Dann bekam ich meinen ersten Job (Full Stack Web Development) bei einem großen Unternehmen und mir wurde klar, dass wir keines dieser Dinge tun . Tatsächlich bin ich, der am wenigsten erfahrene im Team, derjenige, der die ersten Versuche unternimmt, mein Team mit "modernen" Programmiertechniken auf den neuesten Stand zu bringen.
Zuerst habe ich mit der Protokollierungssoftware (log4J) begonnen, aber dann habe ich schnell meinen eigenen Styleguide geschrieben und ihn dann für den Google Styleguide aufgegeben - und dann festgestellt, dass unsere Java-Webentwicklung handgeschriebene Front-Controller verwendet Unsere Einführung von Spring - aber dann wurde mir klar, dass wir auch keine Komponententests hatten, aber ich lernte bereits Spring ... und wie Sie sehen, wird es allzu schnell überwältigend, besonders wenn es mit normaler Entwicklungsarbeit gepaart wird. Darüber hinaus fällt es mir schwer, in diesen Methoden "Experte" zu werden, um andere darin zu unterrichten, ohne zu viel Zeit einem einzelnen von ihnen zu widmen, geschweige denn allen.
Wie kann ich von all diesen Techniken, die ich in der heutigen Welt der Softwareentwicklung als "erwartet" erachte, sie als neuer Spieler in ein Team integrieren, ohne mich und das Team zu überfordern?
Wie kann ich mein Team dazu bringen, agiler zu werden? ist verwandt, aber ich bin kein Agile-Entwickler wie der Fragesteller hier, und ich betrachte einen viel breiteren Satz von Methoden als Agile.