Wszystkie wpisy, których autorem jest admin

Praca zdalna – już prawie rok

Mniej więcej od roku praca zdalna stała się rzeczywistością dla wielu osób.
Pojawiła się niepewność i wiele pytań jak się odnaleźć w zaistniałej sytuacji.
Nie mówię tutaj o sytuacji epidemiologicznej, a o zwykłym pytaniu jak pracować?
Wiele firm nie odnotowało znaczącego spadku wydajności, co oznacza że branża IT okazała się całkiem nieźle przystosowana na pracę zdalną. Z jednej strony praca z domu ma swoje zalety, jak brak konieczności dotarcia do biura, co przekłada się na oszczędność czasu, z drugiej strony pojawia się poczucie odosobnienia czy spadek motywacji. Jakie są twoje odczucia? Napisz w komentarzu.

A teraz pora na garść porad, pewnie większość jest już znana, ale zawsze może trafić się coś nowego. Oto kilka wskazówek:

Pilnuj czasu pracy

Pracując z domu bardzo łatwo o zatarcie granicy pomiędzy czasem wolnym, a czasem wolnym spędzonym na pracy. Warto ustalić sobie godzinę rozpoczęcia oraz zakończenia pracy. Taki zabieg pozwoli na zwiększenie samodyscypliny podczas pracy. Gdy z przerwy obiadowej robi się kilka godzin i trzeba siedzieć wieczorem, a nawet w nocy by nadrobić stracony czas, to zwyczajnie jest to niefajne i nasze morale lecą w dół. Z drugiej strony, trzeba pamiętać o przerwach w ciągu dnia, ciągła praca może prowadzić do szybszego wypalenia i obniżenia samopoczucia.

Miej plan

Tyle pracy że nawet nie ma kiedy taczek załadować? Żarty na bok, czasami jesteśmy w sytuacji gdy ilość obowiązków jest totalnie przytłaczająca i co chwilę pojawiają się nowe. Tu z pomocą przychodzi planowanie dnia pracy. W biurze jest łatwiej o mobilizacje, natomiast w domu lista zadań którą zrobimy pozwoli nam realizować zadania w sposób efektywny.

Regularne spotkania w zespole

Ten punkt łączy się trochę z komunikacją, ale dotyka bardziej złożonej kwestii, mianowicie pracy zespołu rozproszonego. Może to trochę górnolotne słowa, ale ważne jest poczucie przynależności. W czasach przed pandemią normalną praktyką były spotkania integracyjne. Teraz takie spotkania trzeba przenieść do świata wirtualnego. Wspólny udział w webinarze, wspólne granie czy zdalny klub dyskusyjny, jak wiele innych form aktywności zdalnej pozwalają choć w małym stopniu zachować spójność zespołu.

Dbaj o komunikacje

Komunikacja jest kluczem do zrozumienia. Dla mnie niesamowitą sprawą jest fakt że w biurze można obrócić się na krześle zadać pytanie i jest duże prawdopodobieństwo że ktoś zna odpowiedź lub przynajmniej da wskazówkę do rozwiązania naszego problemu. W pracy zdalnej nie ma takiej możliwości, dlatego musimy używać komunikatorów lub maili. Nie można się bać odzywać, zwłaszcza przy pracy zdalnej, bo nikt inny nie widzi naszego problemu.

Stanowisko do pracy

Pracując z domu okazjonalnie raczej nie przykładaliśmy uwagi do tego gdzie pracujemy. Krzesło, kanapa, fotel, do tego laptop na kolana i można pracować. Jednak gdy dzień w dzień przyjmujemy taką pozycje, jest to prosta droga do bólu kręgosłupa i ogólnie złego samopoczucia. Trzeba zadbać o swój kącik do pracy, najlepiej zaopatrzyć się w biurko lub stolik i co chyba najważniejsze, wygodne dobre krzesło. Dodatkowo, jeśli uda nam się wyznaczyć miejsce do pracy, pomoże nam to rozgraniczyć czas zawodowy od prywatnego.

9 miejsc do nauki online

W dzisiejszych czasach, dostęp do internetu zapewnia praktycznie nieograniczone możliwości nauki w prawie każdej możliwej dziedzinie. Nauka online pozwala na dostosowanie tempa oraz poziomu do własnych preferencji. W sieci jest wiele serwisów które umożliwiają naukę zdalną, część wiedzy i kursów jest bezpłatna, za inne trzeba zapłacić. Pamiętajcie, że wielu pracodawców, w ramach programu benefitów, zapewnia dostęp do wybranych kursów lub szkoleń. Poniższa lista jest zupełnie subiektywna a jej kolejność jest alfabetyczna.

1. Code wars

Serwis nie zawiera kursów, ale zawiera ćwiczenia praktyczne. Można poprawiać swoje umiejętności kodowania
Plusy: Dużo różnorodnych zadań praktycznych
Minusy: Brak jednolitego kursu, czy programu nauki
Cena: serwis jest darmowy

2. Codecademy

Zbiór kursów dotyczących programowania i innych działów IT. Można wybierać z różnych języków programowania. Kursy dostosowane są do różnych poziomów doświadczenia, od początkujących do zaawansowanych
Plusy: duża baza kursów dotyczących programowania
Minusy:
ograniczenia związane z darmową wersją
Cena: wersja basic jest darmowa, opłata za wersje pro to 19,99$ miesięcznie

3. Coursera

Platforma oferuje szeroki zakres kursów o zróżnicowanej tematyce. Współpraca z różnymi uniwersytetami pozwala dostarczać wiedzę na wysokim, sprawdzonym poziomie.
Plusy: duża biblioteka darmowych kursów
Minusy:
prawie brak materiałów w języku polskim
Cena: część zasobów jest darmowa, koszt kursów specjalistycznych od 39$

4. edX

Platforma oferuje różnorodne kursy, wiele z nich zostało opracowanych przy współpracy z uniwersytetami oraz globalnymi firmami.  
Plusy: Jakość prezentowanych treści
Minusy:
brak materiałów w języku polskim
Cena: dostęp do kursów jest bezpłatny, płatne jest uzyskanie certyfikatu

5. Khan academy

Serwis oferuje sporą dawkę wiedzy z zakresu wiedzy szkolnej i okołoszkolnej. Dobre miejsce do pogłębienia swojej wiedzy z interesujących nas przedmiotów.
Plusy: Bezpłatny dostęp do całego serwisu
Minusy:
brak kursów dla profesjonalistów
Cena: serwis jest darmowy, ale można przekazać darowiznę fundacji

6. Pluralsight

Po wykupieniu subskrypcji użytkownik ma dostęp to pełnej bazy kursów oraz szkoleń.
Plusy: jeden abonament zapewnia dostęp do wszystkich kursów,
Minusy:
brak materiałów w języku polskim
Cena: serwis jest płatny, ale często są promocje dające darmowy dostęp do serwisu

7. Strefakursow

Platforma zawiera różnorodne kursy z wielu dziedzin, od grafiki, przez programowanie, po szkolenia biznesowe i biurowe. Są kursy w języku polskim, co może stanowić dużą zaletę.
Plusy: duży zasób kursów w języku polskim
Minusy:
ceny kursów poza promocjami
Cena: kursy są płatne, od 49zł do kilkuset za kurs

8. Udemy

Serwis umożliwia dostęp do ogromnej liczby kursów i szkoleń. Każde szkolenie jest traktowane jako osobne i dostęp do kursów jest przypisany do konta użytkownika.
Plusy: Duży zasób różnorodnych kursów
Minusy:
ceny kursów poza promocjami
Cena: kursy są płatne, większość kursów kosztuje od kilkudziesięciu do kilkuset złotych

9. Youtube

Każdy zna youtube, ale nie każdy wie że ten serwis wideo jest pełny wszelkiego rodzaju tutoriali, instrukcji i kursów.
Plusy: Możliwość znalezienia prawie dowolnego tematu
Minusy:
Jakość materiałów jest często na kiepskim poziomie
Cena: dostęp jest darmowy, ale jest wiele reklam

Każdy ma swoje własne odczucia i ulubiony serwis do nauki. Ważne, by się rozwijać, zdobywać nową wiedzę i stawać się lepszym. Lista oczywiście nie zawiera wszystkich możliwości, a jaka jeszcze platforma powinna się znaleźć w tym zestawieniu? Napisz w komentarzu 😉

Narzędzia dla testera, czyli czego używa się w testowaniu

Praca testera niejednokrotnie wymaga nie tylko umiejętności szybkiego przyswajania informacji dotyczących projektu, ale również zdolności opanowania nowych narzędzi które wykorzystuje się przy przeprowadzania testów. Narzędzia dla testera nie powinny stanowić wyzwania. Wiele programów zwyczajnie ułatwia i przyśpiesza pracę, są również i takie, bez których nie sposób jest przeprowadzić rzetelnych testów. Poniżej zamieściłem kilka narzędzi które są przydatne w testowaniu. Lista jest całkowicie subiektywna i nie powiązana z żadnym konkretnym projektem czy sposobem testowania.

Podstawowe edytowanie tekstu

Czasami najprostsze metody są najlepsze nawet na skomplikowane problemy.
Jednym z podstawowych narzędzi jest prosty edytor tekstu, notatnik, chociaż zamiast tego wbudowanego w Windowsa warto używać czegoś bardziej rozbudowanego np. Notepad++. Często zamiast odpalać duże programy, szybciej i wygodniej jest podglądnąć pliki i edytować je w prostym i szybkim narzędziu.   

Testowanie API

Postman – jest jedną z najpopularniejszych aplikacji używanych przy testowaniu API. Posiada wiele różnych funkcjonalności od wysyłania requestów po ustawianie mockupów. W sieci znajdziemy wiele przykładów i tutoriali dla Postmana.

Testy niefunkcjonalne

Przeprowadzając testy niefunkcjonalne nie sposób się nie wspomagać odpowiednimi narzędziami. Jednym z popularnych rozwiązań jest JMeter. Oprogramowanie pozwala na przeprowadzanie testów obciążeniowych, wydajnościowych, stres testów.  

Testy bezpieczeństwa

Jeśli istnieje potrzeba przeprowadzenia testów bezpieczeństwa dla aplikacji internetowych, z pewnością warto użyć programu Burp Suite. Możliwości narzędzia są duże, choć w darmowej wersji opcje są okrojone. Pozwala na przechwytywanie komunikacji i modyfikacje zapytań.

Automatyzacja testów

Pracując nad automatyzacją testów warto zwrócić uwagę na dwie opcje. Pierwsza dotyczy systemów webowych działających w przeglądarce, jest to Selenium Webdriver. Jest to narzędzie które współpracuje z prawie każdą przeglądarka i jest kompatybilne z kilkoma językami programowania. Do jego używania konieczna jest chociaż podstawowa umiejętność programowania. Duga opcja jest przeznaczona dla programów desktopowych. Testcomplete pozwala na automatyzacje scenariuszy testowych w oparciu o GUI, daje to możliwość nagrywania testów bez konieczności pisania kodu.  

Emulacje

Niektóre testy wymagają użycia wielu różnych urządzeń, w celu pominięcia problemów sprzętowych (np. dostępność konkretnego modelu telefonu) stosuje się emulatory pozwalające na symulacje konkretnego urządzenia. Nie podaje tutaj konkretnego narzędzia z uwagi na fakt różnorodności rozwiązań jak i systemów do symulacji. Jednakże, warto wspomnieć, że przeglądarki internetowe mają wbudowane emulatory, dzięki którym można sprawdzić responsywność strony np. na Ipadzie lub telefonie Samsung S9.


Niezależnie od tego, jakie testy przyszło nam przeprowadzać, warto się wspomagać odpowiednimi narzędziami. Często bywa też tak, że na rynku nie ma odpowiedniego narzędzia, które jest nam potrzebne, wtedy istnieje możliwość napisania własnego narzędzia, np. do generowania plików testowych.

Najważniejsze Cechy Testera Oprogramowania

Czasami zastanawiamy się czy nadawalibyśmy się na konkretne stanowisko, najłatwiej jest znaleźć odpowiedź szukając charakterystycznych wymagań dotyczących danego zawodu. Jakie cechy charakteryzują testera oprogramowania? Jest ich bardzo wiele. Postaram się wymienić kilka ważnych elementów.  

1. Komunikatywność

W pracy testera komunikacja jest bardzo ważna, ponieważ pozycja w projekcie wymaga współpracy nie tylko z programistami, ale również z analitykami, managerami, czy każdą inną osobą zaangażowaną w projekt. Dlatego ważne jest posiadanie umiejętności miękkich. Równie istotną rzeczą jest znajomość obcego języka, przede wszystkim angielskiego.
Kolejną ważną cechą, jest brak oporów przed mówieniem i konfrontacją. Słynne „u mnie działa” jest doskonałym przykładem, z czym tester musi się mierzyć. Trzeba potrafić wytłumaczyć w czym jest błąd i jak można go powtórzyć.

2. Ciekawość i kreatywność

Jak to działa? Takie pytanie zada każdy tester. Ciekawość jest nieodłącznym elementem pracy testera. Niestandardowe myślenie pozwala wydobyć na światło dzienne przypadki które zostały pominięte, a wydają się być istotne z puntu widzenia działania aplikacji. Ciekawość i kreatywność jest nieoceniona w przypadku testów eksploracyjnych.

3. Cierpliwość i wytrwałość

Nie ma nic gorszego niż długotrwałe powtarzanie prawie takich samych czynności. Często zdarza się, że scenariusze testowe różnią się od siebie nieznacznie, a ich przetestowanie jest zwyczajnie nudne, dlatego dobry tester, powinien być w stanie wykonać testy pomimo ich monotonii.

4. Dokładność

Jest to jedna z najważniejszych cech, ponieważ od dokładności wykonania zadań zależy wszystko. W przypadku oprogramowania, jeśli przeprowadzenie testów oparte byłoby o niedokładne wykonanie scenariuszy, to mogłoby się okazać, że istnieją błędy które zostałyby ujawnione w przypadku dokładnych testów. Czasami opuszczenie pozornie nieistotnych punków może rzutować na całą jakość produktu.

5. Otwarcie na rozwój i naukę

W zawodzie testera prawie codziennie trzeba się uczyć czegoś nowego. Nowa funkcjonalność, nowe środowisko, nowe wymagania, narzędzia. Wszystko co jest potrzebne do wykonywania zadań trzeba sobie przyswoić i nauczyć się wykorzystywać tą wiedzę w praktyce. Czasami są to drobne rzeczy, czasami trzeba poświęcić na szkolenie dużo czasu, ale pewne jest to że nauka jest nieodłączną częścią zawodu testera.

6. Analityczne myślenie

Testując oprogramowanie trzeba stawiać przede wszystkim na pragmatyzm i fakty. Każdy test musi się opierać na przyjętych założeniach i wymaganiach. Dobry tester powinien analizować swoje czynności i być w stanie odtworzyć scenariusze swoich działań.  

7. Zamiłowanie aktorskie

Zdziwieni? Już tłumaczę, chodzi o wczuwanie się w rolę. Testując produkt, tester powinien odegrać różne role, np. użytkownika końcowego, administratora, klienta. Zdolność do zmiany punktu widzenia jest bardzo przydatna i często pozwala na ujawnienie błędów lub sprzeczności założeń albo wymagań.

Powyższa lista jest subiektywnym zbiorem cech jakie charakteryzują dobrego testera. Jest wiele innych cech które są równie ważne, jest też wiele które wydają się ważne, a tak naprawdę są nieistotne. Zostawcie komentarz jeśli uważacie że jakaś cecha powinna się znaleźć na tej liście.