Zbuduj zespół inżynierów platformy, który będzie wspierał talent Twojej organizacji — Twoich programistów

Jeśli Twoja organizacja tworzy oprogramowanie, nadszedł czas, aby skupić się na wspieraniu i rozwijaniu swoich programistów. Dzieje się tak, ponieważ zatrzymanie programistów i maksymalizacja ich produktywności mają kluczowe znaczenie dla zdolności Twojej firmy do dostarczania wartości klientom, pracownikom i partnerom w 2023 roku.

Brakuje najlepszych talentów programistycznych. Według US Bureau of Labor Statistics, popyt na programistów będzie rósł o 25% rocznie do 2031 r. – znacznie szybciej niż w przypadku innych zawodów IT. Jednak jeśli twoi programiści są typowi, wielu z nich nie jest szczególnie szczęśliwych — ani produktywnych.

Talent techniczny jest sfrustrowany

Według trzeciego corocznego raportu Reveal rotacja deweloperów jest problemem Badanie „Top Software Development Challenges for 2022”.. Trzydzieści jeden procent programistów twierdzi, że nie ma czasu na wykonanie swojej pracy. Jeszcze więcej z nich (odpowiednio 40% i 39%) staje przed wyzwaniem sprostania rosnącym wymaganiom klientów i jest zmuszonych robić więcej za mniej z powodu ograniczonych budżetów.

Co więcej, Ankieta dla programistów Stack Overflow 2022 wykazało, że sami programiści martwią się spadkiem produktywności, przy czym 68% styka się z „silosem wiedzy” przynajmniej raz w tygodniu, a 63% spędza ponad 30 minut dziennie na szukaniu odpowiedzi na problemy.

W większości przypadków brakuje platformy aplikacji natywnej dla chmury, takiej jak VMware Tanzu, z możliwościami, które minimalizują przełączanie kontekstu i umożliwiają programistom skupienie się na logice biznesowej. Równie ważne, a często nieistniejące, jest utworzenie dedykowanego zespołu ds. platformy aplikacji, który buduje, monitoruje i stale aktualizuje platformę, aby zapewnić doskonałe wrażenia wewnętrznym zespołom programistów.

Co to jest model platformy jako produktu?

Tradycyjnie organizacje IT gromadziły stosy technologii, aby wspierać programistów podczas tworzenia, testowania i wprowadzania aplikacji do produkcji. Ale te stosy technologii — wraz z ręcznymi procesami i odizolowanymi zespołami — powodują nieefektywność zarządzania, brak możliwości obserwowania i tworzenie znacznego długu technicznego, a jednocześnie wprowadzanie kodu do produkcji zajmuje więcej czasu. Te stosy technologiczne zwykle opierają się na systemach biletowych dla żądań programistów i zespole IT, który spędza czas na spełnianiu tych żądań, często ręcznie.

Natomiast przyjęcie podejścia, które traktuje wewnętrzne zespoły programistów jako klientów, a platformę aplikacji jako produkt, może skutkować usprawnioną ścieżką do produkcji, która poprawia wydajność programistów, jakość produktu i czas uzyskania wartości. Kluczem do sukcesu tego podejścia jest pamiętanie, że platforma nie jest gotowym oprogramowaniem. Jest to ewoluujący, ujednolicony zestaw usług wielokrotnego użytku, płynnie zintegrowany z istniejącymi systemami.

Model platformy jako produktu zapewnia łatwy dostęp do wszystkich narzędzi potrzebnych programistom do jak najlepszej pracy. Łączy również kluczowe funkcje, takie jak automatyzacja, portale samoobsługowe, szablony aplikacji i integracje innych firm, w wydajny i elastyczny sposób, aby zapewnić programistom naprawdę zaawansowane — i bezproblemowe — doświadczenie.

Po co wprowadzać dedykowany zespół inżynierów platformy?

Aby w pełni wykorzystać platformę aplikacji natywnych dla chmury, potrzebujesz dedykowanego zespołu do jej obsługi. Zespół inżynierów platformy jest nie tylko odpowiedzialny za budowanie, rozwijanie i zarządzanie platformą aplikacji, ale także działa jako łącznik między programistami, zespołami operacyjnymi i bezpieczeństwa. Ułatwia również interakcje między liderami biznesowymi, pracownikami ochrony i resztą organizacji. W ten sposób niszczy silosy — i to się opłaca.

Kiedy inwestujesz czas, talent i budżet w celu zbudowania i utrzymania zespołu inżynierów platformy, Twoja organizacja zwraca wykładniczą wartość. Jak? Jego działania zapewniają, że Twoi programiści — talent, od którego Twoja organizacja zależy w zakresie innowacji i sukcesu biznesowego — mają wszystko, czego potrzebują, na wyciągnięcie ręki. Obejmuje to dostęp do zatwierdzonych szablonów aplikacji, usług, bibliotek open-source i wszystkiego, czego potrzebują, aby zastąpić zadania o niskiej wartości i czasy oczekiwania swobodą szybszego rozwiązywania krytycznych problemów biznesowych — bez poświęcania bezpieczeństwa, niezawodności ani zwiększania liczby pracowników.

Kogo dodać do zespołu platformy?

Zespół inżynierów platformy powinien obejmować co najmniej dwa z następujących archetypów (w miarę dojrzewania zespołu możesz dodać trzeci):

  • Architekt infrastruktury, który również koduje - Wybierz kogoś z dużym doświadczeniem w zakresie infrastruktury jako usługi (IaaS) — obliczeń, pamięci masowej i sieci — a także eksperta w automatyzacji ręcznych, powtarzalnych czynności.
  • Naturalny mistrz automatyki ­– Dodaj kogoś, kto już zajmuje się ciągłą integracją/ciągłym wdrażaniem, automatyzując procesy zarządzania bieżącymi wersjami lub używając narzędzi do automatyzacji systemu (Chef, Puppet, Salt, Ansible).
  • Ciekawy inżynier oprogramowania - Wybierz osobę z zespołu produktu aplikacyjnego, która wcześniej rozwiązywała problemy związane z własną platformą, automatyzując podstawową infrastrukturę, która usprawniła pracę zespołu.

4 dyscypliny odnoszących sukcesy zespołów inżynierów platform

Skuteczne zespoły inżynierów platform stosują cztery kluczowe metody dostarczania wartości dla programistów:

1. Zastosuj praktyki odchudzonego zarządzania produktem

Korzystaj z praktyk lean start-up, takich jak minimalny opłacalny produkt (MVP), aby zminimalizować marnotrawstwo i stale reagować na zmieniające się potrzeby klientów — twórców aplikacji.

2. Skoncentruj się na doświadczeniu programisty (DevEx) dzięki projektowaniu zorientowanemu na użytkownika (UCD)

Zwróć uwagę na to, w jaki sposób programiści wykorzystują platformę jako produkt — programiści mogą tak bardzo docenić to wspaniałe doświadczenie, że rozpowszechniają je w całej swojej organizacji.

3. Wykorzystaj zwinne tworzenie oprogramowania z XP (programowanie ekstremalne)

Korzystaj z praktyk XP, aby tworzyć wysokiej jakości, dobrze przetestowany kod platformy, który ewoluuje wraz z wymaganiami programistów.

4. Dodaj inżynierię niezawodności witryny (SRE)

SRE traktuje operacje jako problem inżynierski, używając oprogramowania do zarządzania wydajnością systemu i czasem pracy. Traktowanie platformy jako produktu maksymalizuje wartość platformy poprzez minimalizację czasu dostawy, ryzyka i strat.

Wszystkie sposoby, w jakie zespół inżynierów platformy przynosi korzyści Twojej firmie

Skuteczny zespół inżynierów platformy może wnieść znaczący wkład w Twoją organizację, ponieważ dąży do tworzenia oprogramowania na dużą skalę, w tym:

Ulepszanie DevEx

Kiedy dołączają nowi programiści, po jakim czasie stają się produktywni? Rozpoczęcie pisania kodu zajmuje programistom znacznie więcej czasu, gdy muszą samodzielnie nauczyć się mnóstwa nowych narzędzi. Deweloperzy, którzy mają szybki, samoobsługowy dostęp do zatwierdzonych szablonów, wzorców wielokrotnego użytku, określonych narzędzi i usług, które okazały się pomocne, szybciej przystępują do pracy. Tworząc "złote ścieżki”, które obsługują usprawnione przepływy pracy programistycznej, zespół inżynierów platformy może przyspieszyć produktywność, poprawić bezpieczeństwo i zmniejszyć tarcia, które są tak powszechne wśród stosów technicznych programistów korporacyjnych.

Wzmocnienie pozycji bezpieczeństwa

Zespół ds. platformy pomaga zapewnić płynność operacji drugiego dnia — gdy aplikacja trafia do produkcji — poprzez ciągłe analizowanie i instalowanie poprawek na platformie programistycznej, w tym wbudowywanie zabezpieczeń w każdą aplikację za pomocą bezpieczny łańcuch dostaw oprogramowania. Dzięki automatyzacji zasad bezpieczeństwa i zapewnieniu możliwości, takich jak wstępnie zatwierdzone szablony aplikacji oraz skanowanie kodu pod kątem CVE i bezpieczeństwa API, Twoja organizacja może radykalnie poprawić poziom bezpieczeństwa samej aplikacji, jednocześnie skracając czas potrzebny na wdrożenie bezpieczniejszego kodu.

Łagodzenie kryzysu umiejętności

Zamiast inwestować w zespoły jednorożców programistów aplikacji z doświadczeniem w Kubernetes, wielu chmurach publicznych i każdym innym narzędziu w stosie technologicznym, możesz zatrudnić zwykłych śmiertelników lub przeszkolić istniejący personel. Platforma aplikacji natywnych dla chmury eliminuje złożoność Kubernetes i wdrożeń w wielu chmurach oraz pomaga nowym programistom szybko dostarczać wartość dzięki szablonom aplikacji i złotym ścieżkom.

Zespół platformy umożliwia programistom skupienie się na pisaniu innowacyjnych aplikacji, eliminując jednocześnie frustrację związaną z konfigurowaniem i integrowaniem odmiennych elementów tradycyjnego stosu technologii deweloperskich. Co jest kluczem do zwiększenia produktywności programistów? Zapytaj zespół inżynierów platformy.

Czytaj ten raport Gartnera podkreślając potrzebę i wartość inżynierii platform.

Źródło: https://www.forbes.com/sites/vmware/2023/03/06/build-a-platform-engineering-team-to-support-your-organizations-prize-talent—your-developers/