Tworzenie zespołu
Na poziomie organizacyjnym inżynieria platformy to ewolucja od kultury reaktywnej. W reaktywnej kulturze samotni deweloperzy tworzą narzędzia w silosach. Po opuszczeniu tego jednego dewelopera wiedza o tym, jak to narzędzie działa, również pozostawia, co może prowadzić do przerwania procesów i przestojów.
W bardziej dojrzałej kulturze narzędzia są aktywnie tworzone i obsługiwane przez zespół inżynierów platformy. Istnieje autonomia zarządzana dla deweloperów i deweloperów, którzy mogą szybko rozpocząć pracę nad nowymi projektami.
Aby zespoły inżynierów platformy odniosły sukces, ich organizacje muszą mieć aktywne kultury dzięki wykupowi kadry kierowniczej i deweloperom z odpowiednimi umiejętnościami.
Aktywna kultura i zakup kadry kierowniczej są zgodne z możliwościami inwestycyjnymi w modelu możliwości inżynierii platformy. Na najwyższych szczeblach kierownictwo firmy promuje autonomię zespołu i odpowiedzialność, jednocześnie zachęcając innowacje i wdrażając środki ładu.
Organizacje z dojrzałością inżynieryjną platformy mają silne przywództwo. Inżynieria platform w firmie to działanie równoważące, które wymaga ciągłej ponownej oceny. Organizacje muszą wspierać zespół inżynierów platformy w celu zrozumienia bieżącego użycia zasobów i zamapowania ścieżki do przodu.
We wczesnych etapach wdrażania inżynierii platformy zespoły produktów mają swój własny unikatowy zestaw narzędzi, operacji i procesów wdrażania. W dojrzałej organizacji inżynieryjnej platformy scentralizowana inżynieria platformy jest postrzegana jako najlepszy sposób pracy zarówno przez kierownictwo, jak i deweloperów. Dojrzałe organizacje uznają, że problemy z zespołem produktów są problemami organizacyjnymi.
.. Kiedy goniliśmy różne ścieżki, koszt chmury, koszt infrastruktury, koszty inżynieryjne, różne aspekty, okazało się problemem organizacyjnym i problemem wszystkich 20 000 deweloperów lub 30 000 pracowników problemu organizacji. – Starszy lider inżynieryjny w firmie zajmującej się oprogramowaniem korporacyjnym
Kultura organizacyjna musi obsługiwać stałą ścieżkę odnajdywania w inżynierii platformy. Kierownictwo powinno skupić się na wspieraniu wspierania zespołu inżynierów platformy w celu wprowadzania innowacji.
Celem organizacji powinno być bardziej zoptymalizowanie kultury, w której kierownictwo:
- Umożliwianie zespołom efektywnego rozwiązywania problemów brzegowych i wspieranie innowacji.
- Promowanie autonomii i odpowiedzialności w zespołach, aby zachęcić do innowacji i eksperymentów.
- Zapewnienie ciągłego istotności i skuteczności w obliczu zmieniających się potrzeb biznesowych i wymagań użytkowników.
Z biegiem czasu organizacje przechodzą od tymczasowego do optymalizacji poziomów wspierania zmian kulturowych za pomocą inżynierii platformy. Na każdym poziomie rola kierownictwa w napędzaniu zmian kulturowych niezbędnych do przyjęcia wizji inżynierii platformy ewoluuje.
Tymczasowy | Operacyjne | Skalowalny | Optymalizacja |
---|---|---|---|
Wspieranie kultury podejmowania decyzji i adaptacji opartych na danych. | Promowanie kultury współpracy, ciągłego uczenia się i ulepszania. | Promowanie kultury empatii i wzrostu | Zachęcanie zespołów do innowacji i zwiększanie możliwości zespołów w celu kierowania zmianami i postępami |
Motywacje organizacyjne również ewoluują na każdym poziomie wspierania zmian kulturowych inżynierii platformy.
Tymczasowy | Operacyjne | Skalowalny | Optymalizacja |
---|---|---|---|
|
|
|
|
Inżynierowie platformy są klejem między programowaniem a operacjami. Jeśli chodzi o określoną strukturę organizacji, model Topologii zespołu jest dobrym podejściem do myślenia o tym, co należy zrobić. Na przykład możesz zdecydować się na rozwój zespołu platformy, z oddzielnymi specjalistami, którzy są bardziej skoncentrowani na aspektach platformy dla deweloperów.
Aby zakończyć się pomyślnie, zidentyfikuj:
- Sponsorzy zespołu (zazwyczaj kadry kierowniczej), którzy pomagają w określaniu priorytetów celów wysokiego poziomu i bronieniu korzystania z platformy w całej organizacji.
- Osoby biorące udział w operacjach, zabezpieczeniach, zgodności i architekturze pomagają zapewnić, że platforma może spełnić wymagania i wskazówki.
- Ktoś, kto pełni rolę menedżera produktu (niezależnie od rzeczywistego tytułu), aby zrozumieć i pomóc w określaniu priorytetów potrzeb ze wszystkich składników.
Inżynierowie platformy muszą mieć sposób myślenia o produkcie, a także zrozumieć operacje. To, czy zaczęli jako deweloperzy, czy w zespole operacyjnym, jest mniej ważne niż zestaw umiejętności. Zespół tworzący wewnętrzną platformę deweloperów może zdobyć siłę, wprowadzając różnych członków zespołu z różnymi doświadczeniami: programowanie, operacje IT, administratorzy K8s, inżynierowie niezawodności lokacji (SRE) i eksperci infrastruktury jako kodu (IaC).
Możesz również wzmocnić wiedzę i umiejętności swojego zespołu na potrzeby opracowywania narzędzi, wprowadzając dobrze odpowiednich deweloperów z istniejących zespołów aplikacji w organizacji. Ci deweloperzy są w dobrym miejscu, aby reprezentować głos klienta w miarę myślenia o inwestycjach.
Znalezienie inżynierów platformy może stanowić wyzwanie.
Bardzo trudno jest zatrudnić naprawdę dobrą infrastrukturę i inżynierów platformy. Wiele osób, które zatrudniamy dzisiaj, jest bardzo pasjonatem aplikacji, które są bezpośrednio skierowane do klientów, prawda? Ale nie mamy dużej publiczności ani kandydatów w całej branży technologicznej, które są pasjonatami inżynierii infrastruktury i to zawsze wyzwanie... Dla infrastruktury tego rodzaju wiedza jest rzadka. - Wiceprezes ds. inżynierii w średniej wielkości firmie sprzedażowej
Inżynierowie platformy powinni mieć możliwość:
- Tworzenie i skalowanie wewnętrznych produktów deweloperów z naciskiem na wydajność, niezawodność i bezpieczeństwo
- Współtworzenie architektury i projektowania produktów inżynieryjnych platformy
- Pomyślna praca z orkiestracją kontenerów (na przykład: Kubernetes), ciągłą integracją/ciągłym wdrażaniem (przykłady: GitHub Actions, Azure Pipelines) oraz narzędziami do monitorowania i rejestrowania (przykłady: Prometheus, Grafana, Elasticsearch)
- Tworzenie szablonów za pomocą infrastruktury jako kodu (IaC) i skojarzonych narzędzi (na przykład: Terraform, Azure Resource Manager)
- Pisanie kodu w co najmniej jednym językach skryptów (przykłady: Python, PowerShell, Bash)
Utworzenie wspaniałego zespołu inżynieryjnego platformy wymaga połączenia różnych umiejętności technicznych i podejścia skoncentrowanego na produkcie. Pomimo wyzwań związanych z zatrudnianiem, budowanie zespołu z różnymi doświadczeniami prowadzi do lepszych platform wewnętrznych, które zwiększają wydajność, niezawodność i bezpieczeństwo. To całościowe podejście nie tylko odpowiada bezpośrednim potrzebom technicznym organizacji, ale także wspiera kulturę innowacji i ciągłego ulepszania.