„Api japi” - słownik informatyczny dla początkujących

Użyta w tytule fraza „api japi”, to słowa wypowiedziane przez naszego klienta, podczas gdy rozmawialiśmy na temat API z jego informatykiem. Pełna wersja jego słów to: „..api japi.. mów mi jeszcze bo mam dreszcze..”. Pozdrawiamy Pana Witolda :)

Czasami przysłuchując się rozmowie osób z szeroko pojętej branży IT, można odnieść wrażenie, że znaleźliśmy się w środku dziwnej subkultury (z drugiej strony, gdy ktoś słyszał slang fanów gier MMORPG, to nic go już nie zdziwi). Prawda jest jednak taka, że większość z tych słów ma logiczny sens a wywodzi się z j.angielskiego. Wszystkie te słowa, podobnie jak w przypadku innych branż mają uprościć i przyspieszyć komunikację. Poniżej wyjaśnię znaczenie najczęściej powtarzanych i najciekawszych słów z IT.

<Uwaga dla osób technicznych>
Niektóre słowa są tłumaczone naprawdę w dużym uproszczeniu (przypominał, że jest to artykuł dla laika) nie wzbudzi to żadnego protestu w przypadku osób używających tych słów od lat, może natomiast wzbudzić go w przypadku tych, którzy poznali dane słowa przedwczoraj. Ta informacja ma na celu zabezpieczenie się przed głupimi komentarzami osób z tej drugiej grupy :)
</Uwaga dla osób technicznych>

deploy/update - proces uruchomienia lub aktualizacji aplikacji (Uwaga: poważna firma nigdy nie robi aktualizacji w piątek po 16)

backend - silnik systemu, część projektu której nie widać ale która odpowiada za działanie części biznesowej np. funkcja zapisu danych klienta

frontend/front - warstwa wizualna czyli to co widzi użytkownik np. listy, formularze, animacje, wykresy

developer – inaczej programista

software engineer – w uproszczeniu to również programista; niektóre firmy tak nazywają swoich developerów ponieważ to brzmi „poważniej”; tak naprawdę jednak takie stanowisko jest czymś więcej, są to osoby łączące kompetencje programisty z inżynierem oprogramowania

logi - tekstowe raporty działania aplikacji (kto, co i kiedy zrobił), przydają się podczas konieczności ustalenia np. kto usunął dane klienta

bug – nie wiemy… w naszych realizacjach takie zjawisko nie występuje; natomiast w przypadku rozwiązań innych firm jest to błąd/usterka

ticket - zgłoszenie błędu do wykonawcy aplikacji poprzez system do zgłaszania błędów (system ticketowy), dzięki niemu możemy śledzić status zgłoszenia oraz komunikować się w tej sprawie z zespołem developerskim

500/„pięćsetka” - błąd uniemożliwiający działanie pojedynczej funkcji lub całego systemu

404/„czterystaczwórka” - błąd polegający na próbie wyświetlenia nieistniejącego zasobu

Java, Spring, Hibernate, SQL, PHP, Symfony, Doctrine, HTML, CSS, JS, TS, React, JSON, mikroserwis - popularne języki i technologie wykorzystywane do realizacji aplikacji

FTP - protokół umożliwiający transfer danych np. plików na serwer, dzięki niemu można wrzucić pliki aplikacji na serwer klienta

serwer - w uproszczeniu wydajny komputer na którym działa aplikacja

cloud / chmura – działa jak serwer, jednak poprzez zastosowaniu odpowiednich technologii ma możliwość skalowania zasobów, dzięki temu może przydzielić aplikacji większą moc obliczeniową podczas większego ruchu; jest to bardzo przydatne przy realizacji skalowalnych aplikacji przeznaczonych dla szerokiego grona odbiorców. Zaletą jest również to, że się płaci za rzeczywiste wykorzystywane zasoby

baza danych - cześć na serwerze w której przechowujemy dane np. klientów

domena - tekstowa nazwa którą wpisujemy w pasku przeglądarki celem dostania się do aplikacji

Scrum - metodyka pracy nad projektem polegająca na 2 tygodniowych okresach prac (sprinty) po których następuje oddanie wykonanej części i przejście do kolejnego etapu, wyróżnikiem są codziennie spotkania zespołu tzw. daily (stand-up’y) podczas których programiści opowiadają sobie co zrobili wczoraj, co zrobią dziś oraz jaki mają problem (realnie są to bardzo wartościowe spotkania, ale dla osoby z poza branży patrzącej z boku bardzo śmieszne – proszę sobie wyobrazić 5 dorosłych osób, które stoją w kołeczku i opowiadają co wczoraj robili)

produkcja/prod - wersja aplikacji oddana do użytku dla klienta

dev – wersja developerska na której prowadzone są prace rozwojowe

testy automatyczne - zautomatyzowany proces testowania poprawności działania aplikacji

mobil (ale nie ten z CB-radia) - urządzenie mobilne (smartfon, tablet)

desktop - komputer/laptop

cache - pamięć która zapamiętuje wygląd i działanie aplikacji od strony wizualnej; przeglądarki zapamiętują sobie te elementy aby szybciej działać, w celu oczyszczenia pamięci i zobaczenia nowych zmian należy nacisnąć CTRL+F5; mamy też cache serwerowy ale jego zastosowanie to temat na inny artykuł

aside - wysuwany panel boczny, mogą się w nim wyświetlać np. szczegóły klienta,

popup - okienko, które pojawia się nam na środku ekranu nad dotychczasową treścią np. okno dodawania klienta

Android, iOS - najpopularniejsze systemy operacyjne dla urządzeń mobilnych

aplikacja mobilna - dedykowana aplikacja instalowana i uruchamiana na urządzeniu mobilnym

aplikacja webowa - aplikacja do której dostęp uzyskujemy z poziomu przeglądarki internetowej na komputerze i urządzeniu mobilnym

aplikacja desktopowa - dedykowana aplikacja instalowana i uruchamiana na komputerze

devops - osoba która zajmuje się m.in uruchomieniem i utrzymaniem aplikacji na serwerze

QA - testy jakościowe, jest to również określenie stanowiska osoby wykonującej takie testy

SSL - szyfrowane połączenie które zabezpiecza dane przed wyciekiem

lag - zawieszenie się aplikacji

bezpiecznik - osoba zajmująca się testami bezpieczeństwa aplikacji

admin – administrator serwera/systemu

z palca - wprowadzanie danych ręcznie np. przy migracji ze starego systemu na nowy

project manager - osoba odpowiedzialna za zarządzanie projektem i kontakt z klientem

junior/regular(lub mid)/senior/tech lead – przedrostki poszczególnych stopni zaawansowania stanowisk wg hierarchii; jest to najpopularniejszy podział, w firmach zdarzają się jednak wyjątki i mamy wtedy mnogość stanowisk które w rzeczywistości i tak odpowiadają wymienionym tutaj

code review - analiza kodu przez innych programistów niż autor (zazwyczaj bardziej doświadczonych) ma na celu wyłapanie błędów, potencjalnych problemów i złych praktyk (często jest też okazją do wzajemnych złośliwości - głownie pozytywnych); ciekawostka: twórcy systemu Linux zarządzili w ostatnim czasie wprowadzenie kultury w swoim kodzie, był to efekt wielu wulgaryzmów pojawiających się w komentarzach po sesjach code review

refactor - etap na którym kod jest udoskonalany, poprawiany i przygotowywany do rozbudowy projektu

specyfikacja – dokument opisujący założenia projektu np. wymagane funkcje i sposób ich działania; niestety w polskich realiach jest często traktowana po macoszemu albo nieszanowana przez klientów, w przypadku zagranicznych firm specyfikacja ma moc większą od umowy (dzięki temu nie ma sytuacji gdy klient mówi „aa ja myślałem, że to będzie inaczej...”)

dokumentacja – dokument przygotowywany przez programistów, opisujący techniczną stronę wykonanego projektu

framework – zestaw bibliotek programistycznych, które ułatwiają pracę programistów poprzez rozwiązanie najczęściej pojawiających się problemów czy wyzwań; może być np. framework do komunikacji z bazą danych, który oprócz obsługi samej komunikacji zapewnia również regularnie aktualizowane mechanizmy bezpieczeństwa

request – zapytanie kierowane przez aplikację do serwera w celu wykonania czynności przez backend np. aktualizacji danych klienta

API - interfejs służący do komunikacji systemu z innym systemem np. księgowym

Ciekawych słów w branży IT jest oczywiście o wiele więcej. Tutaj starałem się podać takie, które często pojawiają się w komunikacji z klientem. Często też w firmach pojawia się dodatkowy slang, który upraszcza komunikację wewnątrz ale jest całkowicie niezrozumiały dla zewnętrznego odbiorcy. Ciekawym przykładem jest tutaj polski producent gier CDProject Red, która poprzez wpisy na Twitterze o treści "beep" zapowiedziała swoje najlepsze gry jak Wiedźmin 3 czy Cyberpunk 2077. Co w tym ciekawego? To, że 1 tweet spowodował masowe inwestycje w akcje firmy, które przebiły akcje jakiejkolwiek innej polskiej firmy. Fajne prawda?

Lista jest na bieżąco aktualizowana o nowe słowa pojawiające się w innych naszych artykułach.

W treści powyższego artykułu nie ma ani wciągającej historii ani zwrotów akcji, dlatego mały humor informatyczny, który usłyszałem od jednego z teach-leadów Allegro:


Czym dla programisty jest stan, gdy zwolni się z pracy i zostaje bezrobotnym?
.
.
.
.
Jest to najgorsza godzina w jego życiu :)


Ciekawostka: Powyższy żart tak naprawdę jest autentykiem. Na dowód tego mogę podać historię jednego z głównych programistów Twittera, który po zwolnieniu z pracy był bezrobotny przez… 15 minut. A skoro o rozwoju mowa, to znaleźliśmy się w zestawieniu