Testowanie manualne to sztuka znajdowania błędów

Bycie testerem i testowanie może kojarzyć się jedynie z poszukiwaniem błędów w aplikacji, natomiast jest to zdecydowanie więcej. Testerzy przede wszystkim potwierdzają, że oprogramowanie spełnia swoje funkcje tak, jak zostało zaprojektowane.

Oczywiście szukanie nieścisłości i niepoprawnego zachowania aplikacji również należy do obowiązków. Aby sprawnie wykonywać swoje zadania testerzy często muszą poświęcić czas na solidne przygotowanie się, poprzez zrozumienie, jak powinna działać aplikacja oraz wymyślenie i często spisanie pomysłów na testy, którym jest poddawane oprogramowanie.

Testowanie manualne i automatyczne

W Internecie można natknąć się na dwa pojęcia testowanie manualne i testowanie automatyczne. Do pierwszej czynności nie jest konieczna znajomość języków programowania i pisania skryptów, które będą wykonywać pewne czynności, które w innym wypadku należałoby wykonać samemu. Na przykład testując manualnie możliwość logowania się na stronę, otworzymy przeglądarkę internetową, wejdziemy na konkretną stronę, wybierzemy opcję logowania oraz podamy dane do logowania, a na samym końcu wybierzemy guzik, który pozwoli nam się zalogować.

W przypadku automatycznego testowania napisalibyśmy kawałek kodu, który wyżej opisane czynności wykonałby za nas. Możliwość posiadania automatu, który wykona za nas pracę brzmi bardzo kusząco, natomiast by móc sprawnie z takiej możliwości skorzystać należy najpierw poznać podstawy.

Jak zacząć?

Gdzie zacząć? Jak poszukiwać potrzebnych informacji? Internet obecnie dostarcza nam wręcz morza danych i często można się pogubić żeglując po nim. Dlatego jeśli chcesz rozpocząć swoją przygodę warto rozważyć uczestnictwo w kursie zdalnym „Podstawy testowania w praktyce” w naszej szkole programowania, gdzie spotkasz doświadczonych trenerów i zanurzysz się w atmosferze nauki oraz symulacji prawdziwej pracy z projektami.

Nasi trenerzy chętnie przekazują wiedzę, popierając ją przykładami z życia zawodowego, a podczas kursu i jakiś czas po nim są dostępni by odpowiedzieć na nurtujące Cię pytania, a w razie potrzeby pokierować w odpowiednim kierunku.

Czy kurs Cię przygotuje

Podczas naszego kursu przybliżymy Tobie teorie testowania opierając się na wiedzy z zakresu ISTQB, która będzie bardzo pomocna podczas zdawania egzaminu ISTQB, jest to najbardziej rozpoznawalny certyfikat w świecie testerskim. Teoria zawsze jest potrzebna natomiast, aby lepiej ją zrozumieć i nabyć umiejętności testowania, również będziesz mieć możliwość wykonywania zadań praktycznych.

Nasi trenerzy dbają o to, by wyposażyć każdego uczestnika w wiedzę o narzędziach i sposobie ich wykorzystania tak, aby praca testera była efektywniejsza i często łatwiejsza. Narzędzia stosowane podczas pracy to nie tylko te, które będą wykonywać testy za nas. Jest szereg różnych narzędzi, które pomogą nam wymyślać lepsze pomysły na testy, pozwolą nam przygotować dane do testowania, usprawnią nam raportowanie znalezisk oraz wiele więcej.  

Sprawdź nasze inny kursy programowania i testowania:

Wywiad z absolwentem testowania

Wszystko zależy od nas i naszego zaangażowania!

Mamy dla Was kolejną historię pokazującą, że praca i determinacja są kluczem do sukcesu. Warto pozostać w zgodzie ze sobą i mieć świadomość, że wszystko zależy od nas! Chcemy Wam opowiedzieć o drodze Tomasza Fronc i o jego pierwszych krokach w IT, a konkretnie na ścieżce testowania (a Tomek idzie bardzo pewnie i mocno!).

Co robiłeś zawodowo przed rozpoczęciem kursu w CODE:ME?

Mam za sobą 17 lat czynnej pracy w zawodzie Architekta. Zaczynałem od stanowiska asystenta projektanta. Kiedy zdobyłem doświadczenie w opracowywaniu projektów, zacząłem samodzielnie prowadzić projekty wielobranżowe obiektów budowlanych wielko- i małogabarytowych o różnych funkcjach.

Dlaczego zdecydowałeś się na naukę testowania?

Testowanie zacząłem rozważać tuż po kursie PHP, który ukończyłem w 2018 roku. Kolega po kursie Java dostał pracę w roli Testera i zainteresował mnie tematem. Zacząłem sam się uczyć i pogłębiać wiedzę na ten temat. Pierwsze zetknięcie z Sylabusem, pierwsze samodzielne testy na podstawie materiałów dostępnych online. Brakowało mi jednak w tym wszystkim przewodnika. Kogoś kto by wskazał kierunek. Życie tak się potoczyło, że dostałem ciekawe zlecenie z mojej ówczesnej branży i testing poszedł trochę na bok. Wróciłem do tematu w 2022 roku, gdy już definitywnie podjąłem decyzję o zmianie branży i o tym, że tą ścieżką będzie testowanie.

Czy rozważałeś naukę programowania lub innego kierunku rozwoju w IT?

Tak, rozważałem inne kierunki. Oprócz kursu z podstaw testowania, ukończyłem również, wspomniany wcześniej, kurs PHP i podstawy JavaScript. Kurs ten z perspektywy czasu był bardzo przydatny, dając mi podstawy oraz świadomość jak działają aplikacje, które obecnie będę miał szansę testować. IT interesuję się od dawna. Już w szkole uczyłem się programować w Turbo Pascal oraz Logo. Oprócz tego wśród rodziny, znajomych i we wszystkich firmach, w których pracowałem udzielałem się też jako Support. Branża zawsze była gdzieś obok i w końcu wskoczyła na pierwszy plan. 

Co było dla Ciebie największym wyzwaniem w trakcie przebranżowienia?

W moim otoczeniu jest sporo osób w różnym wieku, które podjęło się przebranżowienia z pozytywnym skutkiem, więc podstawowa myśl: „Skoro tyle lat się tym interesuje, to dlaczego nie ja? Dlaczego nie teraz?” Największym wyzwaniem okazało się wybranie momentu, w którym przerwę dotychczasowe życie zawodowe i dokonam rewolucji. Gdy ma się za sobą 17 lat pracy taka decyzja nie jest łatwa i w pewnym sensie jest właśnie rewolucją. Ma wpływ nie tylko na życie zawodowe, ale także prywatne. Trzeba coś poświęcić, wyjść ze swojej strefy komfortu i zacisnąć pasa, bo gdy jesteś na pewnym etapie i przyzwyczaiłeś się do swoich standardów życia nie jest to łatwe. Aczkolwiek jeśli masz ten cel i czujesz, że chcesz go zrealizować, masz za sobą najbliższych i dobrych ludzi wokół to jesteś w stanie to zrobić. Nie wiem czy każdy tak może, czy potrafi, czy chce, ja w każdym razie tak zrobiłem i osiągnąłem założony na ten moment cel.

Jak oceniasz sam kurs oraz trenera, który prowadził zajęcia?

Przy wyborze ośrodka szkoleniowego kierowałem się głównie opiniami w moim otoczeniu i w sieci. CodeMe jest Fundacją z mojego regionu, której poczynania i inicjatywy śledzę od dłuższego czasu, więc tym bardziej ten wybór był dla mnie łatwiejszy, aby wspierać lokalne inicjatywy. Kurs (Podstawy testowania w praktyce) prowadzony przez trenera Michała Nowaka był bardzo fajnie skonstruowany przeplatając wiedzę teoretyczną z wiedzą praktyczną. Dużym plusem były zadania domowe rozwijające zagadnienia z kolejnych spotkań, które mocno poszerzały i sprawdzały nabytą wiedzę oraz umiejętności. Wszystko to było podparte ogromem przykładów z życia bazujących na doświadczenia Michała. Wprowadził nas w realia obecnego rynku IT i były to opowieści prawdziwe, bez upiększania czy obiecywania po kursie rzeczy, których nie był w stanie nam zapewnić. Podkreślał na każdym kroku, że wszystko zależy od nas i naszego zaangażowania. Bardzo ważny i cenny był też feedback na każdym kroku zarówno od trenera, jak i całego zespołu CODE:ME. Dający poczucie, że jesteś we właściwym miejscu i wspinasz się coraz wyżej. 

Co dał Ci kurs w CODE:ME? Co było najbardziej wartościowe/najbardziej doceniasz?

Kurs dał mi solidne podstawy i upewnił mnie w tym, iż jest to dla mnie właściwy kierunek rozwoju. Szczególnie przypadły mi do gustu sobotnie Hackatony, które były symulacją dnia pracy testera. Dla mnie mogłoby być więcej takich sobót w programie. Poznaliśmy też podstawowe narzędzia takie jak AzureDevOps, Selenium czy Postman mogące być przydatne w przyszłej pracy. Jedno z tych narzędzi wykorzystałem opracowując zadanie rekrutacyjne. Zdecydowanie kurs w CODE:ME polecam i mówię to z pełnym przekonaniem. Kurs jest wart swojej ceny, jest wart poświęconego czasu i bardzo dobrze wprowadza w pracę testera oprogramowania.

Czym się aktualnie zajmujesz i w jakim czasie po kursie otrzymałeś pracę?

Kurs w CODE:ME ukończyłem wraz z końcem lutego. Po otrzymaniu certyfikatu, dopracowałem CV i zaczął się żmudny proces przeglądania ogłoszeń i rozsyłania CV. Właściwie od tego zaczynałem każdy dzień. Oczywiście stale powtarzałem i porządkowałem wiedzę z kursu, oraz rozwijałem nabyte umiejętności. Uczestniczyłem też w eventach dla juniorów, osób przebranżawiających się, spotkaniach z HR, czy spotkaniach ściśle związanych z technologią, która mogłaby się przydać w przyszłości. Cały proces od momentu ukończenia kursu do pierwszego dnia w nowej pracy to około 1,5 miesiąca, co oceniam, jako bardzo dobry wynik.

W obecnej pracy zajmuję się testowaniem aspektów wizualnych i funkcjonalnych aplikacji desktopowych oraz mobilnych ze wskazaniem na klienta docelowego, przede wszystkim dużo się przy tym ucząc.

Jak wyglądał proces rekrutacji na Twoje stanowisko?

Zaczęło się od wiadomości na LinkedIn, potem był interview telefoniczny i spotkanie online. Na samym końcu dostałem zadanie rekrutacyjne do zrobienia przez weekend. Moje opracowanie zostało wybrane spośród innych kandydatów i tak dostałem propozycję umowy na okres próbny. 

Co byś doradził naszym przyszłym absolwentom?

Przede wszystkim bądźcie zdeterminowani i odważni. Nie zwracajcie za bardzo uwagi na niezbyt entuzjastyczne reakcje otoczenia na wasze decyzje, bo wiem, że gdy ma się więcej lat jest to obciążające i wzbudzające mnóstwo wątpliwości. Bądźcie sfokusowani na swój cel. To jest Wasze życie i tylko Wy możecie coś z nim zrobić. Jeśli podjęliście takie decyzje to się ich trzymajcie. Często to dużo wyrzeczeń, szczególnie gdy już pracujecie w jakimś zawodzie i macie określony status materialny, rodzinę etc. Moim zdaniem warto podjąć to ryzyko i postawić wszystko na jedną kartę.

Przebranżawiając się, bądź aplikując już na stanowiska juniorskie, bywajcie na eventach. Czy to online czy stacjonarnie. Jeśli online to bądźcie na nich widoczni, włączcie kamery, bądźcie aktywni, dajcie się zauważyć, pokażcie że to co chcecie robić Was pasjonuje. Nie bądźcie anonimowi, to w połączeniu z Waszą pracą i determinacją może zaprocentować.

Napiszcie rozważnie swoje CV, które jest Waszą pierwszą wizytówką. Jeśli pracowaliście gdzieś wcześniej w innej branży, krótko lub przez długie lata, to zastanówcie się jaką z nabytych wówczas umiejętności możecie przenieść na grunt IT. Co może być Waszym atutem na tle licznej konkurencji do danego stanowiska. U mnie takimi cechami, które zamieściłem w CV są umiejętności komunikacyjne, kierowanie zespołem specjalistów oraz weryfikowanie dokumentacji projektowej co nie jest tak dalekie od testowania. Te umiejętności mogą nie mieć przełożenia na tę chwilę, ale myśląc o rozwoju będą przydatne na dalszych etapach, gdy już przestaniemy być juniorami i wejdziemy na wyższy poziom wtajemniczenia zawodowego 🙂

CV wysyłajcie jak najwięcej, korzystajcie z portali branżowych, jak i popularnych aplikacji dla poszukujących pracy. Nie zrażajcie się brakiem feedbacku, co jest niestety częste, aczkolwiek przy tej ilości nadchodzących aplikacji też w pewnym stopniu zrozumiałe. Potrzeba trochę szczęścia i dlaczego to nie ma być Wasze szczęście?!

Jakie masz plany na przyszłość?

Na pewno nie spieszyć się, aby nie wpaść w entuzjastyczny chaos 😉 Spokojnie wtajemniczać się w kolejne rzeczy, które na mnie czekają. Dużo się uczyć od innych, wdrażać się w nowy zawód i szukać możliwości rozwoju na przyszłość poprzez poznawanie różnych specjalizacji. Moim celem jest, aby praca była też moim hobby, a hobby było pracą. Może kiedyś da się ją zawęzić do przedmiotów, które mnie najbardziej interesują takie jak np. technologie kosmiczne czy technologie audio. Wszystko przede mną. Zobaczymy w którym kierunku mnie zawieje, wszak jestem znad morza, a to zobowiązuje 🙂

Wykorzystajcie historię Tomka, jako inspirację i dodajcie sobie odwagi!

Sprawdź nasze kursy testowania:

Wywiad z absolwentką kursu Python

Wszystko zależy od nas i naszego zaangażowania!

Dziś chcemy Wam opowiedzieć o Magdzie Zaraś – naszej utalentowanej absolwentce, która zdobywa IT, jako Junior Python Developer! Jak jej się to udało? Magda to kolejny przykład osoby, której zapał do nauki i wyznaczenie sobie celów stały się kluczowymi czynnikami sukcesu!

Co robiłaś zawodowo przed rozpoczęciem kursu w CODE:ME?

Pracowałam w branży 3D (projektowanie CAD, druk 3D i skanowanie 3D) przez 5 lat.

Dlaczego zdecydowałaś się na naukę Pythona?

Miałam za sobą wcześniejsze warsztaty ze sterowania mikrokontrolerów w Pythonie w ramach akademii projektowania i fabrykacji Maker Woman w Fablab Powered by Orange. W tamtym czasie zdecydowałam się pójść zawodowo w stronę projektowania CAD i druku 3D, których nauczyłam się na akademii. Projektowanie CAD pod produkcję dało mi solidne doświadczenie w realizacji projektów szytych na miarę klienta. Z biegiem czasu dostrzegłam, że rozwiązywanie problemów i budowa funkcjonalności daje mi większą satysfakcję niż tworzenie wyglądu produktu. Dlatego zdecydowałam się pójść w stronę backend programowania, jako kolejny krok w moim zawodowym rozwoju. Zaczęłam od nauki C#, i wróciłam do Pythona, w którym spodobało mi się szerokie spektrum jego zastosowania w branży i łatwość samodzielnej nauki.

Czy rozważałaś naukę programowania lub innego kierunku rozwoju w IT?

Tak, na początku rozważałam różne kierunki. Zaczęłam od kursu z testowania manualnego i C#. Uznałam, że nauka programowania sprawia mi znacznie większą przyjemność niż testowanie. C#, był bez znajomości innego języka programowania, trudniejszy do samodzielnej nauki niż Python. Praktyczna nauka i przetestowanie na sobie, czy chce się spędzać czas na nauce i rozwiązywaniu problemów w danej technologii, to najlepsza metoda zawężenia swoich poszukiwań.

Co było dla Ciebie największym wyzwaniem w trakcie przebranżowienia?

Utrzymanie motywacji i zapału do nauki i rekrutowania, po wielu początkowych odmowach, co jest częścią każdego procesu szukania pracy, szczególnie przy zmianie branży.
Normalne są również etapy, gdy przerabiany materiał sprawia więcej problemów i trzeba poświęcić dodatkowy czas i energię, by go zrozumieć i przyswoić.

Jak oceniasz sam kurs oraz trenera/trenerów, którzy prowadzili zajęcia?

Kurs był profesjonalnie przygotowany i przeprowadzony, widać że Code:me i prowadzący Alek (Aleksander) Gruszczyński mają wieloletnie doświadczenie i zjedli na tym zęby. Świadczą o tym też świetne opinie w internecie, które zachęciły mnie do kursu właśnie w Code:me. Alek świetnie panował nad omawianym materiałem, pytaniami grupy i czasem zajęć. Na każdych zajęciach było kilka zadań praktycznych do zrobienia w grupie, po zajęciach czas na dodatkowe pytania i 3 sobotnie hackathony, na których pracowaliśmy nad własnymi projektami zaliczeniowymi. Widać, że Alek naprawdę lubi to co robi i zaraża swoją pasją do Pythona, programowania i ciekawością w rozwiązywaniu problemów.
Formuła kursu online sprawdziła się lepiej, niż się spodziewałam, bo umożliwiła pogodzenie kursu z grafikiem, jak i udział w kursie osobom z całej Polski. To z kolei sprawiło, że grupa była różnorodna pod względem doświadczenia, a więc i pomysłów w kodowaniu.

Co dał Ci kurs w CODE:ME? Co było najbardziej wartościowe/najbardziej doceniasz?

Kurs w CODE:ME dał mi solidne przygotowanie do pracy jako Junior Python Developer. Najbardziej doceniam naukę przez praktykę. Przerabiany na zajęciach kod, czy zagadnienia, były też prezentowane wizualnie w przejrzysty sposób tak, że na bazie nich w trakcie trwania zajęć robiłam wizualno-opisowe notatki i korzystałam z nich na długo po zajęciach. Doceniam też świetną atmosferę na zajęciach i kontakt z prowadzącym i organizatorami w trakcie kursu. Teraz czuję się nie tylko absolwentem Waszego kursu, ale członkiem społeczności Code:me i chętnie biorę udział w Waszych wydarzeniach.

Czym się aktualnie zajmujesz i w jakim czasie po kursie otrzymałaś pracę?

Pracuję jako Junior Python Developer, zajmuję się pisaniem oprogramowania. Pracę znalazłam pod koniec trwania kursu Code:me, pół roku po rozpoczęciu nauki Pythona. Zaczęłam aplikować o pracę miesiąc po zaczęciu nauki, żeby uniknąć pułapki “czekam z aplikowaniem, aż będę gotowa/y” i żeby od początku zbierać wiedzę nt. procesu rekrutacji i zadań rekrutacyjnych. W trakcie kursu dostałam się jednocześnie do programu mentoringowego Dare IT na ścieżkę Backend Development, gdzie szlifowałam swoje umiejętności i przez udział w mentoringu wzmocniłam swoją widoczność na LinkedIn.

Jak wyglądał proces rekrutacji na Twoje stanowisko?

Po kontakcie przez LinkedIna była wstępna rozmowa telefoniczna i rozmowa rekrutacyjna na miejscu. Po kilku tygodniach zostałam wybrana spośród innych kandydatów.

Co byś doradziła naszym przyszłym absolwentkom i absolwentom?

Nie czekajcie z aplikowaniem na oferty pracy, aż będziecie czuć się gotowi. Aplikujcie, jeśli nie spełniacie wszystkich wymagań. Samo doświadczenie z aplikowania na oferty, udział w rozmowach rekrutacyjnych i testach technicznych jest bezcenne, niezależnie od wyniku rekrutacji. W skrócie: fail early, fail often.

Jakie masz plany na przyszłość?

Będę doskonalić umiejętności programowania i zarządzania oprogramowaniem w pracy i pozapracowych projektach hobbystycznych, poprzez samokształcenie i udział w kursach. Ważny dla mnie jest też rozwój – umiejętności komunikacji z programistami i zespołami nieprogramistycznymi. Aktywnie uczestniczę w społeczności programistycznej, spotkaniach branżowych i konferencjach, aby wymieniać się wiedzą i nawiązywać kontakty z innymi programistami. Chcę ciągle rozwijać się w Pythonie i uczyć się kolejnego języka, gdy pojawi się w mojej pracy korzyść z jego wykorzystania.

Wykorzystajcie historię Magdy, jako inspirację i dodajcie sobie odwagi!

Sprawdź nasze kursy programowania:

Zarobki frontend developera 2023

Czym jest front-end?

Frontend to część strony internetowej czy aplikacji, która jest widoczna dla użytkowników (mówimy o tej części: interfejs użytkownika) i umożliwia korzystanie z aplikacji. Jest to obszar, który najbardziej jest wam znany, w którym tworzone są elementy wizualne i interaktywne, takie jak układ strony, przyciski, pola tekstowe, obrazy, animacje itp. Frontend aplikacji odpowiada za prezentację treści i interakcję użytkownika z nią. Jest to, więc dobry i zrozumiały sposób startu w branży IT, który warto również rozważyć ze względu na zapotrzebowanie rynkowe i zarobki frontend developerów. 

Dzisiaj, gdy większość usług przenosi się do Internetu, coraz więcej firm, niezależnie od branży, potrzebuje profesjonalnych stron internetowych lub aplikacji. Umiejętność tworzenia atrakcyjnych wizualnie i funkcjonalnych interfejsów użytkownika jest bardzo ceniona na rynku pracy. Front-end Developerzy zatrudnienie znajdą nie tylko w branży IT, ale wszędzie tam, gdzie usługi czy produkty są sprzedawane lub dostarczane online.

Zarobki frontend developerów

Pytanie, brzmi: Jak wyglądają zarobki na stanowisku frontend developer? 

Womanize IT – zaproszenie do udziału

W naszej fundacji CODE:ME, aktywnie wspieramy inicjatywy mające na celu poprawę sytuacji kobiet w świecie nowych technologii. Na przestrzeni lat, wielokrotnie udowadnialiśmy, że nie brakuje inspirujących przykładów kobiet, które wyłamują się z tych ograniczeń i przyczyniają się do rewolucji cyfrowej.

„Success stories”: Inspirujące historie kobiet, które odniosły sukces w branży IT, są dowodem na to, że wszystko jest możliwe. Success stories zawierają realia szukania pracy, wyzwania, z którymi się zmierzyły, i drogę, którą pokonały, aby wybrać swoją drogę zawodową.

Spotkanie sieciujące: To wydarzenie, które pozwoli nawiązać kontakty z firmami z sektora IT. To idealna okazja, aby poznać przyszłych pracodawców, zrozumieć ich oczekiwania i dowiedzieć się, jakie umiejętności są poszukiwane na rynku pracy. Podczas tego spotkania uczestniczki będą miały również możliwość skorzystania z testu predyspozycji zawodowych do branży IT, który ułatwi podjęcie decyzji dotyczących ścieżki kariery.

Data Scientist – magik od analizy danych

W którym momencie zaczyna się data science, a kończy analiza danych.

Czyli Analityk Danych vs Data Scientist?

Analityk Danych jest Data Scientistem, ale Data Scientist jest więcej niż Analitykiem Danych.

Bardzo duża część pracy z danymi, to ich analiza i na jej podstawie podejmowane są decyzje biznesowe albo procesowe. Sama analiza danych i raportowanie, to cenne umiejętności wewnątrz każdej organizacji, co ważniejsze, często są one krokiem wyjściowym w kreowaniu nowych usług i produktów. Równie często praca Data Scientist kończy się na pracy analityka danych.

Jednakże, analiza danych to krok pośredni w bardzo skomplikowanym procesie. Na jednym jego krańcu są badacze, w tym matematycy, informatycy, specjaliści dziedzinowi – tacy jak ekonomiści, językoznawcy, neurobiolodzy czy politolodzy – którzy tworzą pewne algorytmy, modele jak i hipotezy na temat procesów zachodzących wokół nas.

Na szczeblu wyżej są osoby, które wdrażają abstrakcyjne konstrukty w postaci algorytmów wykorzystywanych przez komputery. Duża grupa badaczy zajmuje się optymalizacją tych algorytmów. To jest poziom akademicki, ale od niego zaczyna się „Data Science” i więcej w nim odkrywczości i innowacji, niż na następnych poziomach.

Wyżej znajdują się zespoły inżynierów, które pozyskują, transmitują, przetwarzają i przechowują dane. Ta część procesu to często tzw.: Data Mining i posiada wiele nietrywialnych wyzwań.

Na kolejnym poziomie mamy analityków danych w przedsiębiorstwach, czasami są to również badacze danych. Ich rolą jest wydobywanie wartości z danych zebranych przez inżynierów, za pomocą modeli opracowanych w środowisku akademickim. Ten poziom jest bardzo mocno sprzężony z działem rozwoju produktu albo usług, decyzje biznesowe są na tym etapie równie ważne, jak decyzje techniczne i często potrzeba bardzo dobrego Product Managera, by wyprowadzić analizę do poziomu produktu.

W przypadku bardziej złożonych systemów, pojawia się kolejny szczebel inżynieryjny, od którego zależy być albo nie być modeli uczenia maszynowego. Jest to przejście: z laboratorium na abstrakcję aplikacji albo systemu, a później na samą aplikację albo system. Inżynierowie danych mają tutaj dwa główne zadania: przepisanie i zoptymalizowanie pod kątem wykonawczym modeli opracowanych przez analityków, a następnie sprzężenie różnych składowych stanowiących model na produkcji.

Wszystkie poziomy przenikają się i praca na poziomie wdrożenia produkcyjnego nie wyklucza opracowywania nowych modeli albo optymalizacji już istniejących. To właściwie dość częsty scenariusz, bo z każdym krokiem lepiej poznajemy modele, jak i ich możliwości i ograniczenia.

Jak opisałbyś różnice między Data Scientist vs Machine Learning Engineer?

Kolejny raz mamy do czynienia z dość rozmytym zestawieniem, bo osoba na stanowisku Machine Learning Engineer powinna rozumieć podstawy Data Science – jej rolą jest przepisywanie algorytmów i modeli laboratoryjnych do kodu produkcyjnego, budowanie systemów do ciągłego trenowania, ewaluacji i serwowania modeli.

Machine Learning Engineer musi na pewno być lepszym programistą i tkwi na nim bardzo duża odpowiedzialność. W przypadku benchmarkowych algorytmów uczenia maszynowego, ta rola wypiera praktycznie klasycznego „badacza danych”, bo chmurowe systemy znacząco ułatwiają zestawianie wielu modeli nawet przez osoby z podstawową wiedzą na temat ich działania. Rola ta w pewien sposób wypycha fazę badawczą z powrotem na uczelnie. O ile analiza danych nie dotyczy specyficznych raportów, wtedy ta rola praktycznie nie jest potrzebna.

I na koniec, jaka jest rola Data Engineer?

Współczesny hype i zachłyśnięcie się możliwościami sieci neuronowych nie miałoby miejsca, gdyby nie olbrzymie ilości danych treningowych. Niestety, pozyskiwanie i zarządzanie danymi nie jest proste i nie jest tanie. Do takiej pracy potrzebny jest inżynier danych, który dobrze rozumie strukturę danych, bazy danych i to jak dostarczać dane dla analityków do eksploracji oraz dla modeli do treningu i ewaluacji.

Inżynier danych współpracuje ściśle z analitykami (dostarcza im dane w postaci, w jakiej ich potrzebują, w jak najprostszy dla nich sposób), często czyści dane, analizuje koszty ich przechowywania i przetwarzania. Jest to bardzo odpowiedzialna rola, bo dane bywają „wrażliwe” i trzeba być również świadomym punktów, w których te dane mogą zostać ukradzione.

Sprawdź, jak możesz nauczyć się Analizy danych, programowania w języku Python oraz poznać SQL:

Kurs Data Science. Podstawy pracy z danymi.

Python od podstaw.

SQL od podstaw.

Sprawdź nasze kursy programowania:

React, najczęściej używany framework front-endowy na świecie

Kiedy mówimy o React wraz z jego oficjalnym ekosystemem (głównie create-react-app, Webpack, Babel, Jest, Test Utils, Cypress, Recoil) oraz nieoficjalnym (na przykład React Router), mówimy wtedy o frameworku React.

React został stworzony przez Jordana Walke, inżyniera z Facebooka, w 2011 roku i jeszcze tego samego roku został włączony do fb w wyniku aktualizacji, a następnie na Instagramie w 2012 roku.

Umożliwia tworzenie bardzo dużych aplikacji, które mogą ładować dane bez konieczności odświeżania strony.

Według ankiety Stackoverflow przeprowadzonej w 2022 roku, jest to framework webowy, którego programiści najchętniej chcą się nauczyć.

Zalety Reacta

Wydajność – React używa wirtualnego DOM do osiągnięcia znacznie wyższej wydajności niż natywny JavaScript.

Zamiast bezpośrednio modyfikować DOM, który jest drzewem elementów HTML i jest kosztowny pod względem wydajności, React oblicza za pomocą wirtualnego DOM wszystkie optymalne zmiany do wprowadzenia w DOM przed ich wykonaniem.

Ta strategia pozwala na bardzo duże zyski wydajności.

Użycie JSX i filozofia biblioteki

W React zamiast używać HTML, używamy JSX. Nie jest to obowiązkowe, ale bardzo zalecane.

JSX pozwala na pisanie kodu HTML w kodzie JavaScript.

Ten kod zostanie następnie transpilowany na JavaScript.

Zobacz wszystkie zalety użycia tego ulepszonego JavaScriptu, jednocześnie ucząc się go na naszym kursie:

Filozofia Reacta polega na tym, żeby nie rozdzielać struktury HTML, stylu CSS i logiki JavaScript, ale podzielić aplikację na komponenty, które są kompletne i zbudowane wokół konkretnej funkcjonalności. To podejście pozwala na tworzenie aplikacji, które są łatwiejsze do utrzymania, ponieważ są lepiej zorganizowane. Pozwala również na wielokrotne użycie komponentów w różnych miejscach twojej aplikacji.

Użycie create-react-app

Zespół Reacta  FB zawsze utrzymuje aktualny projekt bazowy zoptymalizowany dla Reacta z wieloma gotowymi konfiguracjami.Umożliwia to rozpoczęcie pracy nad funkcjonalną aplikacją React w kilka chwil, co jest niezwykle cenne zarówno dla początkujących jak i doświadczonych developerów.

Oczywiście omówimy to i będziemy z niego szeroko korzystać w trakcie kursu! Kurs od podstaw Front-end Developer [React]

Ogromna społeczność

Społeczność programistów Reacta jest największa spośród wszystkich frameworków front-endowych, Łatwo znajdziesz odpowiedzi na Stackoverflow, jeśli utkniesz czy w społeczności na discordzie. Na kursie prowadzący- mentor również jest po to, by odpowiedzieć na wszystkie Twoje pytania.

Ogromny ekosystem

React ma ogromny ekosystem, istnieje rzeczywiście kilka tysięcy bibliotek, które są zbudowane specjalnie do użycia z Reactem.Dla wszystkiego, co planujesz zrobić, możesz mieć pewność: będzie biblioteka z ekosystemu Reacta, która ci w tym pomoże!

Mobilność z React Native

Dzięki React Native możesz łatwo przenieść swoją aplikację Reactową na urządzenia mobilne.

React Native pozwala na rozwijanie komponentów podobnie jak w React dla hybrydowej aplikacji mobilnej (dostępnej na iOS i Android).

Aplikacje SPA ( aka jednostronicowe)

React to framework umożliwiający budowanie aplikacji jednostronicowych (SPA).

Na pewno znasz SPA nawet jeśli o tym nie wiesz: Gmail, Trello, Dropbox to tylko niektóre z życia codziennego. SPA to aplikacja, która działa w przeglądarce bez konieczności odświeżania strony przez użytkownika.

Zasada polega na symulowaniu aplikacji offline: brak odświeżania stron, szybkość, brak dodatkowego czasu oczekiwania związanego z siecią itd.

Główne cechy SPA to:

• renderowanie jest wykonywane po stronie klienta (kiedy element się zmienia, strona jest modyfikowana dzięki skryptom aplikacji załadowanej po stronie klienta),

• do działania ładuje zasadniczo tylko raz aplikację (HTML, CSS i skrypty),

• tylko dane są przesyłane po API, jeśli to konieczne, między serwerem a aplikacją klienta (najczęściej w formacie JSON),

• rozwój mobilny jest uproszczony, ponieważ kod backendu może być używany zarówno dla aplikacji internetowej, jak i natywnej (iOS, Android),

• jest szczególnie odpowiednia do przechowywania danych lokalnie i wysyłania zapytań do serwera tylko wtedy, gdy jest to konieczne

Mamy nadzieję, że ten wpis pomógł Ci zrozumieć podstawy i zalety korzystania z Reacta. Jeśli chcesz dowiedzieć się więcej, zapraszamy do udziału w naszym kursie Front-end Developer [React] – kurs programowania od podstaw. To praktyczny sposób na rozwinięcie swoich umiejętności.

A do Z języka HTML dla początkującego frontend developera

HTML to jeden z podstawowych języków w rozwoju stron internetowych, mający ogromne znaczenie dla każdego, kto stawia pierwsze kroki w świecie frontend.

Wynika to z kilku faktów:

  • stanowi stanowi podstawę struktury stron internetowych
  • jest niezwykle bogaty, chociaż w podstawach wydaje się prosty
  • jest punktem startu prawie każdego początkującego programisty frontend

Spotykamy HTML codziennie jako użytkownicy Internetu, w czasie nauki i w swojej pracy jako webdeveloperzy oraz programiści frontend. Po drodze spotykamy rzeczy oczywiste, a o których użytecznym aspekcie nie wiemy lub często zapominamy, dlatego dzisiaj przyjrzymy się językowi HTML w formacie od A do Z.

A – Atrybuty

Kluczowe dla każdego elementu. Używaj class, id, src i href, aby nadać znaczenie i funkcjonalność dla swojego kodu.

Atrybuty w HTML dostarczają dodatkowych informacji o elemencie i pozwalają na jego konfigurację lub modyfikację. Są one zawsze określone w tagu początkowym elementu i zazwyczaj są przedstawiane w formie pary nazwa/wartość.

B – Bootstrap

Czyli popularna biblioteka CSS, która ułatwia tworzenie responsywnych stron internetowych.

Bootstrap oferuje gotowe komponenty i klasy, które przyspieszają proces projektowania. Pamiętaj, aby dostosować domyślne style do swojego brandingu.

C – Komentarze

Używaj <!– Komentarz –>, aby dodać notatki do kodu, niewidoczne dla użytkowników.

Komentarze nie są niezbędne do dokumentowania kodu, ale pojawiają się w szczególnie w dużych projektach. Pomagają innym deweloperom zrozumieć Twoje intencje.

D – DOCTYPE

Deklaruj typ dokumentu na początku pliku HTML. Deklaracja DOCTYPE informuje przeglądarkę, jak interpretować kod. Zawsze używaj nowoczesnej deklaracji <!DOCTYPE html>.

E – Encje

Specjalne znaki, takie jak &amp; czy &lt;, które pozwalają na wyświetlanie znaków zarezerwowanych w HTML. Encje są używane, gdy chcemy wyświetlić znaki, które mają specjalne znaczenie w HTML. Używaj ich, aby uniknąć błędów interpretacji kodu. Encja &#9829; to przykładowo serce ♥

F – Formularze: 

Twórz interaktywne formy z różnymi polami wprowadzania i walidacją, by dbać o doświadczenie użytkownika.

Dobre formularze są intuicyjne i dostępne. Używaj etykiet, podpowiedzi i komunikatów o błędach, aby ułatwić użytkownikom ich wypełnienie.

G – Grid

Nowoczesny system układu (layout) CSS, który ułatwia tworzenie złożonych projektów stron. 

CSS Grid pozwala na tworzenie zaawansowanych szablonów z elastycznym dostosowywaniem do różnych rozmiarów ekranu. Eksperymentuj z różnymi szablonami, aby znaleźć najlepsze rozwiązanie dla swojego projektu. Znajomość CSS Grid jest ważną umiejętnością w przyborniku każdego front-end developera!

H – Hiperłącza

Czy też znane wszystkim linki. Używaj tagu <a> do łączenia z innymi stronami lub sekcjami na tej samej stronie.

Hiperłącza są esencją Internetu. Internet, w swojej podstawowej formie, jest siecią połączonych dokumentów i zasobów. Upewnij się, że są czytelne, korzystają z atrybutów, mają opis tekstowy i prowadzą do odpowiednich miejsc.

I – IFrames

Wygodnie osadzają zawartość z innych źródeł, takich jak mapy czy filmy.

“Ramki” są przydatne, ale mogą wpłynąć na wydajność strony. Używaj ich oszczędnie i zawsze z odpowiednimi atrybutami bezpieczeństwa np. stosuj polityki bezpieczeństwa treści (CSP) w celu precyzyjnego określenia dozwolonych źródeł dla iframe.

J – JavaScript

Dodaj interaktywność do swojej strony, osadzając skrypty JS.

JavaScript jest głównym językiem webdeveloperów. Prawdziwie potężnym narzędziem, ale jak każde narzędzie w niepowołanych rękach może wyrządzić szkody. Pamiętaj o optymalizacji i testowaniu, aby zapewnić płynne działanie na wszystkich urządzeniach. Podstaw języka JavaScript możesz nauczyć się na kursie Front-end Developer [React] – zapisy trwają!

K – Keyboard Accessibility

Dostępność klawiatury: Upewnij się, że twoja strona jest dostępna dla wszystkich, w tym dla osób korzystających tylko z klawiatury. Dostępność jest kluczowa dla inkluzywności. Testuj swoją stronę z użyciem klawiatury i używaj semantycznego HTML, aby ułatwić nawigację także przy użyciu narzędzi wspierających osoby z niepełnosprawnościami.

L – Listy

Organizuj treść za pomocą list numerowanych, nienumerowanych lub opisowych. Listy pomagają w strukturyzacji informacji. Są niezbędne w ułatwianiu przyswajania treści przez naszych czytelników. Używaj odpowiednich tagów w zależności od rodzaju zawartości.

M – Meta Tagi

Kluczowe dla SEO i udostępniania w mediach społecznościowych. Meta tagi informują wyszukiwarki i platformy społecznościowe o zawartości Twojej strony. Regularnie aktualizuj je, aby były zgodne z treścią.

N – Nawigacja

Twórz intuicyjne menu, które ułatwiają użytkownikom poruszanie się po stronie. 

Dobra nawigacja jest kluczem do zadowolenia użytkowników. Upewnij się, że jest ona konsekwentna, czytelna i dostosowana do urządzeń mobilnych.

O – Optymalizacja

Zmniejsz rozmiar i złożoność kodu dla szybszego ładowania. 

Wydajność strony wpływa na doświadczenie użytkownika i ranking SEO. Regularnie analizuj i optymalizuj swój kod. Niech narzędzia takie jak Google PageSpeed Insights będą zawsze twoim przewodnikiem i sprzymierzeńcem.

P – Placeholdery

Dodaj wskazówki do pól formularza, używając atrybutu placeholder.

Placeholdery pomagają użytkownikom zrozumieć, jakie informacje są wymagane. Jednak nie zastępują one etykiet i nie powinny być używane jako jedyny środek komunikacji.

Q – Quotations czyli cytaty

Wyróżnij cytaty za pomocą <blockquote> lub <q>. 

Cytowanie źródeł dodaje wiarygodności Twojej treści. W świecie pełnym cyfrowej treści warto wracać do źródeł. Używaj odpowiednich tagów, aby oddać znaczenie i kontekst cytatu.

R – Responsywny design

Projektuj strony, które dostosowują się do każdego rozmiaru ekranu.

W dzisiejszych czasach dostępność na urządzeniach mobilnych jest kluczem. Używaj media queries i elastycznych układów (CSS Grid, Flexbox), aby zapewnić, że Twoja strona wygląda i działa poprawnie na wszystkich urządzeniach, od smartfonów po duże monitory.

S – Semantyczny HTML

Używaj odpowiednich tagów, takich jak <header>, <main>, <footer> czy <article>, aby nadać znaczenie kodu.

Semantyczne tagi pomagają przeglądarkom, wyszukiwarkom i technologiom asystującym zrozumieć strukturę i znaczenie Twojej strony. Dzięki temu Twoja strona jest bardziej dostępna i lepiej indeksowana przez wyszukiwarki.

T – Tabele

Prezentuj dane w czytelny sposób za pomocą wierszy i kolumn.

Chociaż tabele były kiedyś nadużywane do projektowania layoutów, dzisiaj powinny być używane głównie do prezentacji danych. Upewnij się, że Twoje tabele są dostępne i mają odpowiednie nagłówki oraz etykiety.

U – Adresy URL

Zrozum różnicę między URL-ami względnymi, a bezwzględnymi i stosuj odpowiednie praktyki linkowania.

Czyste i zrozumiałe adresy URL nie tylko pomagają użytkownikom, ale także poprawiają SEO. Unikaj niepotrzebnych parametrów i używaj słów kluczowych w ścieżkach, aby były bardziej opisowe.

V – Viewport

Ustaw meta tag viewport, aby kontrolować, jak strona jest wyświetlana na urządzeniach mobilnych. Dzięki temu tagowi możesz zapewnić, że Twoja strona skaluje się poprawnie na różnych urządzeniach, zapewniając lepsze doświadczenie użytkownikowi.

W – Web fonts

Czcionki internetowe: Osadź niestandardowe czcionki, aby wyróżnić swoją stronę. Korzystając z narzędzi takich jak Google Fonts czy Adobe Fonts, możesz wzbogacić design swojej strony, ale pamiętaj o optymalizacji wydajności i dostępności.

X – XML

Poznaj XML, aby znać technologie, które leżały w fundamencie aplikacji internetowych.

Chociaż JSON stał się bardziej popularny w wielu zastosowaniach, XML wciąż jest ważny w niektórych kontekstach, takich jak RSS i inne usługi sieciowe.

Y – Osadzanie YouTube

Wstaw filmy z YouTube bezpośrednio na swoją stronę.

Filmy mogą znacząco zwiększyć zaangażowanie użytkowników, ale pamiętaj o optymalizacji wydajności i dostępności podczas osadzania multimediów.

Z – Z-index

Kontroluj kolejność nakładania się elementów za pomocą właściwości CSS z-index.

Czy znasz z-index , pozwala na precyzyjne ustawienie, który element jest wyświetlany na wierzchu w przypadku nakładania się elementów. Używaj go z rozwagą, aby uniknąć nieoczekiwanych problemów z układem elementów na Twojej stronie.

Oto więc A-Z języka HTML – mam nadzieję, że znaleźliście coś przydatnego na co zwrócicie uwagę przy okazji swojego kolejnego projektu. 

Chcesz rozwijać się jako frontend, ale brakuje Ci przewodnika, który zadba, by aspekty dobrych praktyk uwzględnić?

Darmowy kurs Java podstawy programowania

Język Java to wszechstronny i popularny język programowania. Spotykasz go w codziennym życiu na stronach internetowych, aplikacjach mobilnych i nawet w urządzeniach wbudowanych (embedded). Uniwersalność, a do tego duże zapotrzebowanie na programistów na rynku pracy sprawia, że Java jest często wybierana przez osoby początkujące.  Zapraszamy, oto darmowy kurs Java – podstawy.