1. Trochę historii
Kiedy w latach 90. rewolucja internetowa dopiero się zaczynała, nikt nie wiedział, jak poprawnie tworzyć usługi internetowe. Wszystkie ich funkcje od razu trafiały do użytkowników, co mocno odróżniało to podejście od klasycznego wytwarzania oprogramowania.
Największa wyszukiwarka tamtych czasów, firma Yahoo, postanowiła pójść nową drogą i zaczerpnąć podejście z Hollywood – nawet ich menedżerów nazywano producentami :) Nic dziwnego, że nic z tego nie wyszło 🤷♂️
Od czasów rewolucji internetowej przetestowano dziesiątki różnych sposobów wytwarzania oprogramowania i dziś sytuacja się ustabilizowała. Istnieją standardowe role ze standardowymi obowiązkami, standardowe procesy i standardowe narzędzia.
W trakcie nauki poznasz wszystko, co musisz wiedzieć, aby pracować w nowoczesnych firmach IT, z nowoczesnymi narzędziami wytwórczymi. 🎓
2. Zespół produktowy
Typowy zespół wytwórczy składa się z:
- Osób, które decydują, jakie funkcje i możliwości ma mieć produkt
- Product Owner
- Business Analyst
- Osób, które decydują, jak produkt będzie wyglądał
- UI Designer
- UX Designer
- Deweloperów, którzy to wszystko realizują
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Osób odpowiedzialnych za jakość działania produktu
- QA Automation
- DevOps
Product Owner odgrywa kluczową rolę w wytwarzaniu oprogramowania, zarządzając produktem i dbając o to, by zespół deweloperski koncentrował się na realizacji najważniejszych zadań. Określa wizję produktu, tworzy i priorytetyzuje listę zadań (backlog), co pomaga zapewnić, że każdy etap prac jak najlepiej odpowiada celom biznesowym i wymaganiom użytkowników.
UX Designer zajmuje się projektowaniem użytecznego i efektywnego interfejsu produktu, co obejmuje badanie potrzeb użytkowników, tworzenie prototypów i testowanie interfejsów. Ta praca ma na celu poprawę doświadczenia użytkownika z produktem, aby był on możliwie najbardziej zrozumiały i wygodny w użyciu.
DevOps-specjaliści zajmują się optymalizacją procesów wytwarzania oprogramowania i jego operacyjnego utrzymania, aby przyspieszyć i uprościć wydawanie aktualizacji produktu. Ich praca obejmuje automatyzację testowania, wdrażania i monitorowania systemów, a także konfigurację infrastruktury oraz zapewnienie ciągłej integracji i dostarczania (CI/CD).
3. Zespół deweloperski
Samą implementację realizują programiści. Można ich z grubsza podzielić na 5 kategorii:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Database Administrator
Role i ich zakres mogą się zmieniać w zależności od wielkości zespołu i specyfiki produktu, ale zwykle wygląda to tak:
- 🏗️ Software Architect: odpowiada za projektowanie złożonej architektury systemów oprogramowania. Architect projektuje infrastrukturę techniczną, określa strukturę i metody współdziałania różnych komponentów produktu, zapewniając ich skalowalność, wydajność i bezpieczeństwo.
- ⚙️ Backend Developer: specjalizuje się w tworzeniu warstwy serwerowej aplikacji. Do zadań Backend Developera należy implementacja logiki, integracja baz danych i systemów zarządzania danymi, obsługa żądań użytkowników oraz utrzymanie współpracy z częścią frontendową.
- 🖥️ Frontend Developer: tworzy interfejs użytkownika aplikacji webowych. Rola ta wymaga znajomości HTML, CSS i JavaScript, a także frameworków i bibliotek do budowy interaktywnych i responsywnych interfejsów zapewniających dobre doświadczenie użytkownika z produktem.
- 📱 Mobile Developer: zajmuje się tworzeniem aplikacji na urządzenia mobilne. Mobile Developer tworzy aplikacje na różne systemy operacyjne (np. iOS i Android), z uwzględnieniem specyfiki platform, wydajności urządzeń i doświadczenia użytkownika.
- 🗄️ DBA (Database Administrator): odpowiada za zarządzanie bazami danych, zapewniając ich dostępność, bezpieczeństwo i optymalizację. DBA wykonuje zadania związane z konfiguracją, monitorowaniem i utrzymaniem baz danych, a także tworzeniem strategii tworzenia kopii zapasowych i odtwarzania danych.
GO TO FULL VERSION