CodeGym /Kursy /JAVA 25 SELF /Tworzenie produktu IT

Tworzenie produktu IT

JAVA 25 SELF
Poziom 6, Lekcja 6
Dostępny

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 🤷‍♂️

To ciekawe. Yahoo to największy przegrany, jeśli chodzi o kupowanie innych firm. W swoim czasie kilkukrotnie proponowano im zakup Google'a i Facebooka. W końcu, u schyłku swojej kariery, Microsoft próbował ich przejąć za 40 miliardów, ale znów odmówili. Kilka lat później zostali kupieni za zaledwie 3 miliardy. W latach 90., u szczytu popularności, Yahoo wyceniano na 200 miliardów dolarów, a gdyby wtedy kupili Google, dziś ich wartość mogłaby sięgać kilku bilionów. Nie bądź jak Yahoo. 🙈

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

IT team

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.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION