5.1 Trochę historii
Kiedy w latach 90. Rewolucja Internetowa dopiero się zaczynała, nikt nie wiedział, jak właściwie tworzyć usługi internetowe. Wszystkie funkcje były od razu dostępne użytkownikom, co mocno odróżniało to podejście od klasycznego rozwoju oprogramowania.
Największa wyszukiwarka tamtego czasu, firma Yahoo, postanowiła obrać nową ścieżkę i przyjąć podejście z Hollywood: ich menedżerowie byli nawet nazywani Producentami :) Nic dziwnego, że im się nie udało. 🤦♂️
Yahoo — największy przegrany jeśli chodzi o zakup innych firm. Kiedyś kilkukrotnie proponowano im zakup Google i Facebooka. A na ich schyłku Microsoft chciał ich przejąć za 40 miliardów, ale ponownie odmówili. Parę lat później zostali kupieni za 3 miliardy. Chociaż w latach 90. na swoim szczycie byli warci 200 miliardów, a gdyby kupili Google, dziś byliby warci kilka bilionów. Nie bądź jak Yahoo.
Od czasu Rewolucji Internetowej przetestowano dziesiątki różnych sposobów rozwoju oprogramowania, i obecnie sytuacja się ustabilizowała. Istnieją standardowe role ze standardowymi obowiązkami, standardowe procesy i standardowe oprogramowanie.
W trakcie nauki poznasz wszystko, co musisz wiedzieć, aby pracować w nowoczesnych firmach IT, z nowoczesnymi narzędziami rozwoju.
5.2 Zespół produktowy
Typowy zespół developerski składa się z:
- Osób, które decydują, jakie funkcje i cechy powinien mieć produkt
- Product Owner
- Business Analytic
- Programistów, którzy to wszystko realizują
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Osób, które odpowiadają za jakość działania produktu
- QA Automation
- DevOps
Product Owner w rozwoju oprogramowania odgrywa kluczową rolę. Zarządza produktem i upewnia się, że zespół developerski skupia się na realizacji najważniejszych zadań. Definiuje wizję produktu, tworzy i priorytetyzuje listę zadań (backlog). To pomaga zapewnić, że każdy etap rozwoju maksymalnie spełnia cele biznesowe i wymagania użytkowników.
UX Designer zajmuje się tworzeniem wygodnego i efektywnego interfejsu produktu, co obejmuje badanie potrzeb użytkowników, tworzenie prototypów i testowanie interfejsów. Ta praca ma na celu poprawienie interakcji użytkownika z produktem, aby uczynić go maksymalnie zrozumiałym i wygodnym.
Specjaliści DevOps zajmują się optymalizacją procesów rozwoju oprogramowania i jego operacyjnego zarządzania, aby przyspieszyć i uprościć wydawanie aktualizacji produktu. Ich praca obejmuje automatyzację testowania, wdrażania i monitorowania systemów, a także konfigurację infrastruktury i zapewnienie ciągłej integracji i dostarczania (CI/CD).
5.3 Zespół developerski
Bezpośrednio rozwój prowadzą programiści. Można ich zgrubnie podzielić na 5 kategorii:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Role i ich zakres mogą się zmieniać w zależności od wielkości zespołu i specyfiki produktu, ale sytuacja wygląda mniej więcej tak:
Software Architect: odpowiedzialny za projektowanie złożonej architektury systemów oprogramowania. Architect opracowuje infrastrukturę techniczną, określa strukturę i metody interakcji różnych komponentów produktu programowego, zapewniając ich skalowalność, wydajność i bezpieczeństwo.
Backend Developer: specjalizuje się w tworzeniu części serwerowej aplikacji. Zadania Backend Developer obejmują realizację logiki, integrację baz danych i systemów zarządzania danymi, przetwarzanie zapytań użytkowników oraz utrzymanie interakcji z częścią frontendową.
Frontend Developer: tworzy interfejs użytkownika aplikacji internetowych. Ta rola wymaga znajomości HTML, CSS i JavaScript oraz frameworków i bibliotek do tworzenia interaktywnych i responsywnych interfejsów, które zapewniają dobrą interakcję użytkownika z produktem.
Mobile Developer: zajmuje się tworzeniem aplikacji dla urządzeń mobilnych. Mobile Developer tworzy aplikacje dla różnych systemów operacyjnych (np. iOS i Android), uwzględniając specyfikę platformy, wydajność urządzeń i doświadczenie użytkownika.
DBA (Database Administrator): odpowiada za zarządzanie bazami danych, zapewniając ich dostępność, bezpieczeństwo i optymalizację. DBA realizuje zadania związane z konfiguracją, monitorowaniem i obsługą baz danych, a także opracowywaniem strategii dla tworzenia kopii zapasowych i przywracania danych.
GO TO FULL VERSION