Słownik pojęć programisty: Czy znajomość terminologii IT jest potrzebna do zlecenia usługi?

Słownik pojęć programisty: Czy znajomość terminologii IT jest potrzebna do zlecenia usługi?

25 sierpnia 2023

Branża IT - z ang. Information Technology, czyli szeroko pojęta branża informatyczno-komputerowa, zarządzająca informacją w sieci - przechodzi obecnie największy wzrost wszechczasów. Prawie każda firma ma swoją stronę internetową, media społecznościowe czy jakikolwiek inny ślad działalności w Internecie. Do obsługi tego typu miejsc niezbędni są pracownicy z umiejętnościami techniczno-komputerowymi.

Przedsiębiorcy bardzo często próbują sami zadziałać przy użyciu różnych ogólnodostępnych źródeł, ale niejednokrotnie okazuje się, że złożoność procesu ich przerasta. Do tego, w IT mnóstwo słów (jak nawet sama nazwa branży) ma anglojęzyczne pochodzenie i jest niezrozumiałych dla kogoś, kto nie zna języka. Inne, nawet polskobrzmiące są po prostu nowe i niejasne. Nie jest to oczywiście sytuacja 0-1, ponieważ niektórzy szybko się uczą i świetnie sobie radzą bez większego doświadczenia w branży.

Wielu jednak decyduje się na wynajęcie zewnętrznej firmy/freelancera. Na jakie kwestie warto zwrócić uwagę przy wyborze? Czy trzeba się doszkolić, żeby być w stanie tłumaczyć działania zleceniobiorcy? Wszystkie te kwestie omówiono poniżej w tym krótkim słowniku IT. Artykuł ten będzie też dobrą wskazówką dla kogoś, kto staje przed wyborem zatrudnienia firmy z branży informatycznej np. software house.

Czy znajomość terminologii IT jest potrzebna by zlecić usługę?

Czy wzywając elektryka do awarii prądu trzeba wiedzieć cokolwiek poza tym, że prądu nie ma? Oczywiście przydatne są informacje kiedy nastąpiła awaria, czy coś na nią wpłynęło, czy był błysk w gniazdku itd. Ale zasadniczo właśnie dlatego wzywa się specjalistę, żeby rozwiązał problem, którego sami nie umiemy rozwiązać.

Podobnie sytuacja ma się, kiedy zlecamy usługę IT. Warto umieć określić na czym nam dokładnie zależy, w tym przypadku zarówno od strony funkcjonalności, jak i planowania, ale drogę do osiągnięcia tego celu najlepiej zna profesjonalista. Oczywiście, może on zaproponować różne rozwiązania, i tutaj przyda się pewna wiedza, żeby wybrać najlepszą z dostępnych opcji. Dobry specjalista przedstawi również potencjalne skutki wyboru sposobu osiągnięcia określonego przez klienta celu.

Role w projekcie IT

Warto wiedzieć z jakimi osobami możemy mieć jako klient kontakt podczas zlecania usług IT. W projekcie można wyodrębnić dwie grupy pracowników - zespół administracyjny i techniczny. Zespół administracyjny to ten, który jako pierwszy kontaktuje się z klientem, rozdziela zadania i koordynuje proces tworzenia oraz weryfikacji. Wśród członków tego zespołu wyróżniamy:

  • Product owner - osoba odpowiedzialna za utworzenie produktu, uwzględnienie w nim wszystkich sugestii klienta oraz kontakt z pracownikami.
  • Project manager - nadzoruje zespół techniczny, zleca zadania do konkretnych działów i osób, dba o to, żeby obowiązki były wykonane na najwyższym poziomie, dodatkowo motywuje i wspiera zespół.
  • Scrum master - po przydzieleniu zadań i przekazaniu wytycznych klienta założone metody działania i założony proces prowadzący do produktu końcowego sprawdzany jest przez scrum mastera, tak by był zrozumiały dla całego zespołu i łatwy do wdrożenia.
  • Head of delivery - osoba pracująca na tym stanowisku odpowiada za sprawną i skuteczną realizację projektu. Dba o komunikację w zespole, motywowanie pracowników, wspieranie w trudnych sytuacjach.

Role bezpośrednio związane z techniczną realizacją usługi

  • Architekt systemu - to on jest nicią łączącą zespół administracyjny z działem technicznym. Koordynuje działania programistów oraz pozostałych twórców. Dba o to, żeby produkt spełniał ostateczne wytyczne klienta.
  • Programiści - bez nich zespół by nie istniał. Odpowiadają za główną realizację zlecenia. Chociaż określenie programiści jest dość ogólne, w zespole każdy odpowiada za coś innego - jedni dbają o development i wizualny wygląd strony/aplikacji, drudzy natomiast, żeby wszystkie łącza działały poprawnie.
  • Testerzy - niezbędni do działania są również testerzy, którzy jak sama nazwa wskazuje testują stworzone przez developerów produkty.
  • UI/UX Designer - prościej mówiąc, grafik. On projektuje wszystkie obrazy, przejścia, logo i inne typowo graficzne treści. Dzięki jego pracy, interface staje się atrakcyjny i intuicyjny dla użytkowników końcowych.

Uniwersalne terminy, z którymi warto się zapoznać przed zamówieniem usługi u wykonawcy

Chociaż nie trzeba wiedzieć wszystkiego, są pewne terminy, z którymi warto zapoznać się zaczynając zagłębiać się w świat IT czy też zlecając usługę. Oto niektóre z nich:

  • Algorytm - jest niczym przepis na upieczenie ciasta, zawiera kroki i instrukcje, aby osiągnąć pożądany rezultat. Algorytm składa się z sekwencji czynności, które prowadzą do osiągnięcia określonego celu. Podczas gdy przepis mówi nam, jakie składniki i techniki są potrzebne, algorytm definiuje konkretne operacje i decyzje, które należy podjąć w celu przetworzenia danych i uzyskania pożądanego wyniku
  • Języki programowania - nie chodzi tu o polski czy angielski. IT ma swoje języki i każdy programista zna ich jeden lub kilka. Zależnie od celu jaki chcemy osiągnąć istotny będzie dobór języka. Zazwyczaj nie leży to po stronie klienta - architekt systemu zleca zadania developerom, wiedząc jaki język jest niezbędny do wykonania zadania.
  • Front-end - działania wykonywane od strony wizualnej. Jest to np. widoczna ikonka koszyka przy słowie "koszyk", czy tworzenie responsywności, animacji i interakcji, aby zapewnić atrakcyjne i funkcjonalne doświadczenia użytkownikowi. Do tych działań najlepiej sprawdzą się języki: HTML, CSS, JavaScript, TypeScript.
  • Back-end - działania wykonywane od strony technicznej, serwerowej, czyli te, których nie widzi klient końcowy. Jest to np. to, że po kliknięciu w ikonkę koszyka na stronie przenosi produkt do koszyka z zakupami, które do niego dodaliśmy. Do tych działań wykorzystuje się języki: Python, PHP, C#, Java.
  • Kod źródłowy (source code) - tak samo jak treść zapisana w różnych językach, np. francuskim czy chińskim będzie wyglądała inaczej, podobnie kod źródłowy czyli to, co znajduje się za kurtyną strony www, jej system działania będzie różnił się zależnie od tego w jakim języku programowania został napisany. To właśnie kod definiuje, jak strona działa i przetwarza informacje, a interfejsy umożliwiają interakcję z użytkownikiem poprzez przeglądarkę internetową. Często kod źródłowy jest podzielony na moduły, które przetwarzają określone zadania.

Technologie IT lub oprogramowania, które każdy powinien znać

Zamawiając usługę tworzenia strony internetowej lub aplikacji można spotkać się z takimi terminami jak:

Symfony - jest to narzędzie służące do uproszczenia procesu i skrócenia czasu trwania realizacji projektu (tzw. framework). Używany jest z językiem PHP do tworzenia złożonych stron i aplikacji o wysokiej wydajności. Korzystając z Symfony, kolejnym przydatnym narzędziem będzie API platform. Dzięki użyciu tego frameworka można na podstawie określonych celów automatycznie utworzyć pewne operacje służące do osiągnięcia założeń.

Z kolei zlecając stworzenie aplikacji webowej lub mobilnej wykonawca może wspomnieć m.in. o:

Next.js to jeden z frameworków JavaScript bardzo przydatny przy tworzeniu aplikacji, zarówno dla ios, jak i androida. Ta platforma działa na zasadzie open source czyli udostępnionego gotowego kodu źródłowego w formie edytowalnej. Razem ze wspomnianą platformą często korzysta się z biblioteki języka programowania JavaScript zwanej React.

Języki programowania wykorzystywane w IT

Języki programowania wykorzystywane w IT
  • HTML - jest to język używany głównie do tworzenia i organizacji stron www. HTML opisuje strukturę stron. Bardzo często równocześnie z HTML korzysta się z CSS, który odpowiada za formę prezentacji opisu stworzonego w HTML.
  • JavaScript - to narzędzie bardzo popularne dla backendowców czyli tych, którzy dbają o ścieżkę prowadzącą do jakiegoś działania, np. żeby po otwarciu na stronie wyświetlało się powiadomienie o plikach cookies, albo, żeby w grze podczas ładowania przesuwał się pasek.
  • PHP - służy głównie do tworzenia w czasie rzeczywistym, czyli w oparciu o aktualne dane zawarte online. Będzie to język bardzo przydatny przy realizacji stron i aplikacji, do których działania niezbędne są aktualne dane, np. kantor.
  • C++ - wykorzystywany w różnorodnych aplikacjach, od gier po oprogramowanie systemowe. Zapewnia dużą kontrolę nad pamięcią i zasobami, idealny dla projektów wymagających wydajności i zrozumienia detali programu.
  • C# - To język programowania rozwijany przez Microsoft, często stosowany do budowania aplikacji na platformę Windows oraz gier w środowisku Visual Studio. Jest szczególnie przydatny do projektów biznesowych oraz aplikacji desktopowych.
  • Python - wiele osób twierdzi, że to jedna z najprostszych technologii, polecana w IT dla początkujących programistów, która prostotą przypomina język angielski. Jest przydatny developerom przy tworzeniu oprogramowania w produkowaniu gier czy uczeniu maszynowym.

Narzędzia używane w software house

Jak widać, zadań i ról w zespole jest bardzo dużo, bez porozumienia się pomiędzy działami nie uda się osiągnąć zadowalającego produktu. Pracownicy IT bardzo często pracują zdalnie, stąd do komunikacji często używają aplikacji typu Microsoft Teams czy Zoom, które przydatne są też w kontakcie z klientami.

Narzędzia niezbędne w IT do zarządzania kodem to takie, które pozwolą na regularne komentowanie, wprowadzanie zmian i wychwytywanie błędów. Do najczęściej używanych należą Bitbucket, GitHub i GitLab.

Wiele branż pracuje w taki sposób, że prowadzi ewidencję najczęściej popełnianych błędów i przy sprawdzaniu zadań upewniają się, że żaden z nich nie został popełniony. W dziedzinie IT programy komputerowe robią to automatycznie, zapisują i zapamiętują historyczne błędy oraz… sposoby ich rozwiązania. Takie narzędzia to np. ActiveCollab, Trello, UserBack i JIRA. Z tych narzędzi mogą korzystać zarówno developerzy, jak i testerzy. Tym drugim bardzo przydatne mogą się okazać również programy do zautomatyzowania testów takie jak: Selenium czy Cypress.

Wiele z tych narzędzi jest ze sobą kompatybilnych. Nie trzeba korzystać ze wszystkich, wystarczy dobrze połączony zestaw i przy użyciu 3/4 ze wspomnianych narzędzi zespół jest w stanie skutecznie kierować projektem programistycznym.

Podsumowanie

Nie ma wątpliwości, że nie każdy musi być biegle zaznajomiony z branżą IT. Warto wiedzieć cokolwiek o niej, szczególnie jeśli jest się przedsiębiorcą. Taka osoba prędzej czy później będzie korzystała z usługi IT, gdzie użyta zostanie podstawowa terminologia. Zdobywając chociażby niewielką wiedzę w zakresie usług czy technologii wykorzystywanych w programowaniu, będzie w stanie dokonać mądrego wyboru zleceniobiorcy.

Szymon Kapturkiewicz

autorem artykułu jest:

Szymon Kapturkiewicz

Jestem współtwórcą InterSynergy Software House, którego obszarem działań są technologie webowe i mobilne. W InterSynergy zajmuję się analityką biznesową, prowadzeniem warsztatów, w tym również kontaktami z Klientami. Każdą wolną chwilę poświęcam na rozwój w obszarach ekonomii i zarządzania projektami. Wspieram Klientów od strony zaplecza technicznego i doradztwie w zakresie rozwiązań sprzyjających zwiększaniu sprzedaży.

Powiązane wpisy