Data science – czego ja się tu uczę?

Tak jak już wcześniej wspomniałam uczę się korzystając z programu Microsoft Professional Program Certificate in Data Science

Pierwszy kurs

Pierwszy kurs pt Data Science Orientation zawiera trochę informacji i wprowadzenia na temat tego co się będzie działo w programie oraz jak sobie zaplanować cały kurs by jak najwięcej z niego skorzystać i móc zrobić certyfikat na jego zakończenie. Jest to o tyle ważne, że mamy dokładnie miesiąc na skończenie kursu jeśli już go zaczęliśmy. Jeśli nie zdążymy właściwie nic wielkiego się nie skończy, ale jeśli będziemy chcieli uzyskać certyfikat będziemy musieli przejść wszystkie testy, które pojawiają się na zakończenie poszczególnych modułów oraz test końcowy.

Data Scientists

W tym pierwszym kursie bardzo podobała mi się część w której są wywiady z ludźmi pracującymi jako Data Scientist, gdzie opowiadają trochę o swoje pracy, tym czego od nich wymaga i co w niej lubią. Jedna z osób powiedziała coś takiego, że fascynuje ją iż nigdy nie wie czego dowie się analizując jakieś dane. Jest to zawsze niespodzianka i wielka zagadka. Myślę, że podzielam ten pogląd. Zawsze, gdy patrzę na jakieś analizy, dema i widzę jak różne informacje pojawiają się na koniec jest jest to dla mnie zawsze zaskakujące.

Excel Power

Poznałam również Excela od innej strony. Do tej pory kojarzył mi się z nudnym narzędziem. Tymczasem w trakcie tego pierwszego kursu miałam okazję nauczyć się analizować dane za jego pomocą korzystając z takich funkcji jak:

  • Formatowanie warunkowe (Conditional Formatting), które pozwala na formatowanie komórek odpowiednio do zbioru danych w danej kolumnie. W ten sposób można na przykład pokolorować te komórki, gdzie znajdują się dane z Top 10 lub Top 10%, podobnie – Bottom 10 lub Bottom 10% aby móc jednym spojrzeniem zauważyć które komórki zawierają dane wartości. Można również automatycznie wyróżnić wartość największą lub najmniejszą.
  • Slicer – jest to pewne rozszerzenie filtrów, które możemy mieć na poszczególnych kolumnach. Jednak różni się tym, iż w jednym możemy mieć dane tylko do jednej kolumny z wartościami filtru dla niej właśnie. Dzięki temu możemy filtrować dużo szybciej.
  • Oprócz tego dużo różnych wykresów. W szczególności ważny jest histogram oraz wykres punktowy.
    Histogram pozwala nam na zilustrowanie jak dane w zbiorze się rozkładają. Przykład z mojej nauki:
    HistogramWidać na nim, że danych z zakresu 68 – 86 jest w moim zbiorze równo 2, danych z zakresu 86 – 104 jest 12, 102 – 122 jest 9 itd.
    Histogramy są tutaj o tyle ważne, że pozwalają wykryć nieprawidłowości w danych – jeśli na przykład któregoś „prostokąta” brakuje. Te zakresy oraz ilość prostokątów ustalamy sobie dowolnie zależnie od naszych potrzeb.
    Z kolei wykres punktowy może nam pomóc w poszukiwaniu korelacji między dwoma wartościami. W ćwiczeniach z kursu szukałam korelacji pomiędzy sprzedażą napojów a ilością rozdanych ulotek i tak wyglądał mój wykres:
    Wykres punktowyAkurat ten wykres potwierdza korelację pomiędzy tymi dwoma rzeczami, ponieważ punkty układają się dość blisko siebie a przy tym idą od lewego dolnego punktu do górnego prawego. Mówi się również, że w tym przypadku korelacja jest pozytywna – wzrostowa. Gdyby dane układały się od lewej górnej części do prawej dolnej – byłaby to korelacja negatywna.
  • Ciekawym typem wykresy jest też taki, którego nigdy wcześniej nie widziałam – czyli: wykres pudełkowy (Box and Whisker). Jest to wykres, który wygląda na przykład tak:
    Co tutaj widzimy?
    Ilość sprzedanych napojów cytrynowych mieści się w zakresie od pomiędzy 60 a 80 i między 160 a 180 – bliżej 180. Podobnie w przypadku pomarańczowych – zaczyna się nieco ponad 40 i kończy pomiędzy 120 a 140. Zatem wartości maksymalne i minimalne zaznaczone są poprzez poziome kreski zwane również wąsami.
    A co z prostokątami? Jakbyśmy spojrzeli na to pod kątem 90 stopni to można zauważyć, że zajmują one pewien zakres wartości – lewy bok znajduje się około 100 i wyznaczony jest przez pierwszy kwartyl a prawy bok wyznaczany jest przez trzeci kwartyl. Pierwszy kwartyl to zbiór danych, które położone są poniżej 25%. Natomiast trzeci to dane znajdujące się powyżej 75%. Przykładowe dane na temat sprzedaży jakie miałam do dyspozycji na temat napojów cytrynowych to: 97, 98, 110, 134, 159, 103, 143, 123, 134, 140, 162, 130, 109, 122, 98, 81, 115, 131, 122, 71, 83, 112, 120, 121, 156, 176, 104, 96, 100, 88, 76. Jeśli ktoś chciałby sobie to jakoś bardziej poanalizować, to może się przydać:)
  • Używane są również wykresy słupkowe, liniowe i dużo rzadziej – kołowe.

Statystyka

Pojawiły się też pojęcia ze statystyki – zarówno te, które pamiętam ze studiów jak i takie o których słyszałam pierwszy raz albo o nich zapomniałam;)

  • Średnia – termin, którego chyba nie trzeba wyjaśniać:)
  • Mediana – wartość środkowa poniżej i powyżej której znajduje się dokładnie taka sama liczba danych.
  • Dominanta – wartość najczęściej występująca w danym zbiorze
  • Rozstęp/zakres – różnica między największą i najmniejszą wartością w zbiorze
  • Wariancja – informacja na temat zróżnicowania danych w zbiorze
  • Odchylenie standardowe – informacja na temat jak bardzo dane są różne od średniej w danym zbiorze
  • Błąd standardowy – odchylenie standardowe średnich z prób
  • Kurtoza – informacja na temat tego na ile dane są zbliżone do średniej
  • Współczynnik skośności – pomaga określić czy dane są równo rozłożone po obu stronach średniej czy może któreś dane leżą dalej od średniej
  • T-Test – pozwala nam porównać ze sobą dwa zbiory danych

Uff, trochę tego jest – wszystkie trudniejsze pojęcia podlinkowałam do Wikipedii. Notka urosła długa, więc Python zostanie na następną okazję. Natomiast jeszcze muszę wspomnieć, że oczywiście danych do ćwiczeń z kursu nie musiałam preparować sama – więc nie rozdawałam ulotek, nie sprzedawałam napojów ani nic takiego:) Dane były do ściągnięcia w ramach kursu:) Czy pochodzą z życia? Kto to wie. Ale na potrzeby kursu sprawdziły się całkiem nieźle.

Live Unit Testing w Visual Studio 2017 vs dotCover + ReSharper

W komentarzu do postu na temat Live Unit Testing w nowym Visual Studio pojawiło się pytanie o porównanie go z dotCover. Musiałam zrobić małe rozeznanie, ponieważ przyznam, że dotCover niestety nie miałam okazji nigdy używać na codzień w pracy. Jednak jakiś czas temu się nim bawiłam.

Zatem do rzeczy – owszem dotCover daje nam bardzo podobne możliwości do Live Testing, ale Live naprawdę jest Live – o tym będzie za chwilkę.

Jednak jest płatny i idzie w parze z ReSharperem jako pakiet ReSharper Ultimate. Ceny zaczynają się od 89 euro – wersja roczna dla indywidualnych użytkowników przedłużających licencję po trzecim roku. Kończą gdzieś w okolicach 399 euro. Wszystko też zależy od tego czy to licencja roczna czy płacimy z góry za miesiąc. Więcej informacji znajdziecie tutaj. Tymczasem w Visual Studio dostajemy Live Testing w pakiecie. Niestety jak słusznie w komentarzu zauważył @rbl – opcja ta jest dostępna tylko w wersji Enterpise i z taką też się w żadnej firmie w której pracowałam nie spotkałam – był co najwyżej Professional. Różnica w cenie między Professional a Enterpise jest znaczna – pierwsze to kilka tysięcy dolarów, drugie kilkaset. Pełny cennik tutaj.

DotCover podobnie jak LiveUnitTesting dostarcza nam informacji na temat pokrycia kodu bezpośrednio w edytorze. Tutaj widzimy testy, które przechodzą:

Live Unit Testing - Coverage

Jeśli nie będą przechodziły ikonki z lewej zmienią kolor na czerwony.

Pierwsze co zauważyłam jeśli chodzi o różnice, to dotCover nie obsługuje MSTest. Moje okienko Continous Testing Session z testami w MSTest wyglądało tak:

Dot Cover - MSTest

Czyli troszkę jakby działa, bo widać, że testy przechodzą, ale Coverage niestety nie jest uzupełniony. Kiedy zmieniłam testy na NUnit od razu zrobiło się lepiej:

DotCover - NUnit

Pod prawym klikiem na pasku z procentami mamy przycisk który pozwala nam szybko rzucić okiem na listę testów wchodząc w skład danej części.

Ale skąd się wzięło to okienko Continous Testing Session? Otóż w menu ReSharpera mamy opcję, która go uruchamia.

Live Unit Testing

Kiedy już włączymy, możemy skonfigurować uruchamianie tych testów:

Live Unit Testing

Zatem możemy sprawić, że uruchomią się podczas każdego zapisu lub podczas każdego budowania aplikacji. I tutaj właśnie pojawia się główna różnica – Live Unit Testing wbudowane w VS 2017 naprawdę jest Live, ponieważ by testy się uruchomiły nie musimy niczego zapisywać ani budować. Zmieniamy kod, czekamy chwilkę (mniej niż sekunda) i od razu w konsoli widzimy, że testy się uruchomiły. Co do tego „czekania chwilkę”, to właśnie w pewien sposób może się okazać to dla nas trochę uciążliwe jeśli na przykład tylko zamyśliliśmy się nad kodem a on już nam testy włącza. Znalazłam ustawienie o nazwie „Testcase Timeout”, ale nie jestem pewna za co odpowiada – nie udało mi się tego znaleźć. Natomiast jego zmiana nie miała wpływu na odległość czasu pomiędzy przestaniem pisać a włączeniem testów.

Jeszcze jeśli chodzi o obsługiwanie MSTest, NUnit i XUnit – to Live Unit Testing byłam w stanie sprawdzić jedynie na MSTest, ponieważ o ile Microsoft mówi, że działa z NUnit i XUnit tylko wystarczy doinstalować rozszerzenie, to jednak nie mówi jakie dokładnie i moje próby różnych skończyły się fiaskiem:(

Dużą różnicą są też wykresy pokrycia kodu, które w tej, jak widać na zrzucie ekranu powyżej, zgrabnej formie, daje nam DotCover. Live Unit Testing daje nam tylko informacje w edytorze kodu, gdzie mamy pokrycie a gdzie nie.

I jeszcze odpowiadając na pytanie z komentarza – wersję Enterprise zainstalowałam w wersji RC i z niej właśnie pochodzą zrzuty ekranu zrobione już parę miesięcy temu na potrzeby prezentacji z tego tematu.

Co nowego w Visual Studio – część 4

Witajcie w kolejnej części cyklu na temat nowości w Visual Studio.Poprzednie części cyklu znajdziecie tutaj:
Co nowego w Visual Studio 2017 – część 1
Co nowego w Visual Studio 2017 – część 2
Co nowego w Visual Studio 2017 – część 3

Visual Studio wreszcie miało swoją premierę 7 marca, ale cykl na temat nowości jeszcze trwa. Niektórzy boją się instalować, ponieważ to taka wczesna wersja i może być problem z wieloma rzeczami. W takim razie na początek dzisiaj chciałabym się podzielić z Wami moimi doświadczeniami z VS 2017 a także z VS2015 w wersji RC. Przyznam, że używałam ich jedynie w zastosowaniach domowych w czasie gdy były RC, ale nie napotkałam na żadne nieoczekiwane problemy ze strony środowisk. Co więcej, używając VS w wersji 2015 tworzyłam kod do nagrań z kursem Helionu, który zrobiłam jakiś czas temu. Tak więc sporo kodu na nim powstało. Co do VS 2017 było tej zabawy dużo mniej. Zdaję sobie sprawę, że wiele rzeczy może zależeć od architektury komputera i tego co już mamy na nim zainstalowane.  No ale na Windows w wersji RC to już bym się nie zdecydowała:)

A teraz do rzeczy – dziś powiemy sobie o kolejnej funkcjonalności, która bardzo mi się podoba, mianowicie tzw „Live Unit Testing”. Jest to coś co pozwala nam mieć ciągły podgląd na to czy naszym radosnym kodowaniem nie zepsuliśmy jakiegoś testu oraz na szybkie przejrzenie, gdzie testów nam brakuje.

Najpierw musimy sobie tą opcję włączyć. Nie jest ona niestety dostępna w wersji Community. Znajdziemy ją w menu Test:

Enable Live Unit Testing

Gdy mamy ją włączona w okienku Output zobaczymy coś takiego:

Live Unit Testing Output

A w okienku edytora:

VS2017LiveUnitTesting2

Kreski mówią nam o tym, ze nie mamy żadnych Unit Testów dotyczących tego kawałka kodu. Możemy je szybko dodać klikając prawym klawiszem myszy pod którym mamy opcję, która otworzy nam takie oto okienko:

Add Unit Test

Możemy nawet nic nie zmieniać i kliknąć OK. Wówczas niebieskie kreseczki zmienią w czerwone krzyżyki, ponieważ testy już mamy, ale nie przechodzą:

Live Unit Testing - New Test

Jeśli uzupełnimy metodę poprawnie działającym i przechodzącym testem krzyżyki zmienią się na zielone fajeczki:

Live Unit Testing - Passing Test

W kodzie który testuje ten test również zmienią się na zielone:

Live Unit Testing - Green

Jeśli teraz w którymś momencie zepsujemy test zielone wskaźniki zmienią się z powrotem na czerwone.

Można się nieco przestraszyć tym co się stanie jeśli włączymy Live Unit Testing a mamy bardzo dużą solucję z dużą ilością projektów oraz testów. Otóż możemy włączyć tą funkcjonalność tylko dla poszczególnych projektów zawierających testy – na przykład tych dotyczących kodu nad którym w danym momencie pracujemy.

 

Data science – początek przygody

Kiedy postanowiłam wystartować z tematem data science w konkursie nie bardzo wiedziałam od czego zacząć. Na pewno temat siedział mi w głowie od dawna, ale brakowało czasu, żeby się z tym na szerszą skalę zapoznać. Gdzieś na konferencjach zdarzyło mi się obejrzeć rożne ciekawe prezentacje z tym tematem związane, ale na tym sprawa się kończyła do tej pory. Wiedziałam też, że chciałabym zapoznać się też z Pythonem jeśli chodzi o programowanie kwestii z data science związanych.

Zaczęłam więc najprościej jak się dało czyli od wpisania w Google „data science python” :) I tak trafiłam na całkiem fajną stronę www.edx.org i program Microsoftu, na który składa się szereg kursów związanych z data science: Microsoft Professional Program Certificate in Data Science. Jest wśród nich oczywiście właśnie szukany przeze mnie Python: Introduction to Python for Data Science oraz Programming with Python for Data Science.

Postanowiłam zacząć od początku i przerobić cały ten program aby dowiedzieć się jak najwięcej o całości tematu. Póki co podoba mi się to, że używane są narzędzia Microsoftu takie jak Excel czy BI. Fajne jest też to, że kursy są darmowe chyba, że chcemy uzyskać certyfikat na zakończenie – wówczas musimy zapłacić. Są one podzielone na części po których należy wykonać labolatorium – offline a także test – offline. Na koniec każdego kursu jest egzamin.

Druga strona na jaką trafiłam właśnie na początku poszukiwań to z kolei związana głównie z programowaniem – w R oraz w Pythonie to Datacamp. Tam z kolei mamy krótkie filmiki na temat kolejnych zagadnień języka a po nich kilka interaktywnych ćwiczeń. Bardzo mi się ta forma podoba, ponieważ nie jest nudno. Tutaj również wiele kursów jest darmowych a certyfikacja płatna.

Trzeba było też znaleźć jakiś pomysł do zakodowania by zrealizować go w ramach konkursu. I tutaj również z pomocą przyszło Google, które wręcz zalało mnie pomysłami oraz źródłami danych, które można wykorzystać. To o czym chciałabym tutaj wspomnieć to Kaggle. Tutaj możemy znaleźć całą masę rzeczy przydatnych w przygodzie z data science – zbiory danych do przetwarzania, zawody gdzie możemy podzielić się prognozami jakie udało nam się stworzyć a nawet znaleźć pracę jako Data Scientist:)

Na początek czuję się miło przytłoczona ogromem tematu, ponieważ jest cała masa fajnych źródeł do zdobycia wiedzy a to jest dokładnie to co lubię. Jeśli znacie jakie stronki warte uwagi w tym temacie dajcie znać w komentarzach.

Boiling Frogs 2017 – relacja

Tym razem konferencja odbyła się w Hali Stulecia, ponieważ organizatorzy zdecydowali się podwoić liczbę uczestników. Przyznam, że osobiście wolę trochę bardziej kameralne konferencje – dlatego też rok temu podobało mi się bardziej. Ale tylko jeśli chodzi o organizację. Merytorycznie było tak samo dobrze jak poprzednio. Żałuję, iż Boiling Frogs ma miejsce w zimie, ponieważ lokalizacja latem pozwalałaby na oglądanie pokazów multimedialnej fontanny, która znajduje się właśnie na pergoli przy Hali Stulecia. Zimą jest troszkę mniej atrakcyjnie.

Sale w których odbywały się prelekcje były na dwóch różnych piętrach, więc troszkę było biegania, ponieważ przerwy nadal były 15 minutowe. Organizatorzy przyznali, iż zaprosili za dużo prelegentów przez co przerw nie dało się wydłużyć. W jednej z sal zdecydowanie problemem był brak klimatyzacji, ponieważ z godziny na godzinę było trudniej w niej wysiedzieć a brak tlenu = drzemka:) Nie wiem czy to problem całego obiektu czy tylko tej sali. Była największa z tych w których odbywała się konferencja, w innych tego problemu nie zauważyłam, ale pojawiał się problem z dużo za małą ilością krzeseł. Tak więc troszkę problemów organizacyjnych się pojawiło. Jednak nie odstraszy mnie to od odwiedzenia konferencji za rok:)

A teraz troszkę o prelekcjach:

Pierwsza na którą się wybrałam to Clean architecture: co z tego możesz wziąć dla siebie? Mariusza Sieraczkiewicza.  Opowiedział nam trochę o różnych typach architektur oraz o tytułowej Clean architecture podając przy okazji trochę jej wad i zalet.

Kolejna to  Pair programming — sposób na lepszy kod i mocniejszy zespół Krzyśka Jończyka. Mnie osobiście do pair programmingu namawiać nie trzeba. Bardzo lubię to robić i staram się nawet zdalnie praktykować tą metodę. Większość ludzi bywa niestety niechętna – tym wszystkim polecam tą prezentację. Krzysiek opowiada na przykładach z życia o tym jak dużo pair programming wnosi dobrego dla programistów a także dla biznesu. Mianowicie – programistom pozwala lepiej i szybciej uczyć się od siebie nawzajem a kod zyskuje na jakości, ponieważ błędy wychwytywane są częściej już w trakcie tworzenia oprogramowania. Pair programming przyspiesza też wdrażanie nowych osób w firmie czy też w projekcie – chyba każdy z nas wie, iż najszybciej uczymy się od siebie nawzajem. No i w końcu siedzenie razem nad jakimś zadaniem powoduje, iż nawiązują się w zespole silniejsze więzi, ludzie poznają się nawzajem i tym samym zyskuje na tym cały zespół.

Krzysiek podzielił się również ciekawym podejściem do pair programmingu, którego przyznam, że nigdy wcześniej nie stosowałam w PP, ale na pewno zacznę – mianowicie technika pomodoro. Dla tych, którzy nie wiedzą o co chodzi – jest to technika, której główną zasadą jest by pracować w 25 minutowych interwałach i po każdym z nich robić 5 minut przerwy. Z kolei po 4 interwałach zrobić dłuższą np. 20 minutową przerwę. Do tej pory zdarzało mi się  to stosować to w pracy samodzielnej. Ważne jest jednak to, że nie każde zadanie nadaje się do realizacji w technice PP i tutaj zawsze musimy się wykazać pewną dozą doświadczenia i zdrowego rozsądku.

Następna prezentacja to Developer na detoksie Michała Płachty. Tutaj przyznam, że z opisu spodziewałam się czegoś bardziej o asertywności w podbramkowych sytuacjach, gdy tuż przed wyjściem z pracy nagle zdarza się pożar a my musimy zdecydować czy ratujemy pracę kosztem życia prywatnego czy też delegujemy nasze zadania by jednak życie prywatne nie ucierpiało.

Jednak Michał opowiada o czymś również ciekawym – mianowicie o naszych sposobach postrzegania świata i sposobach podejmowania decyzji. I tak mogliśmy się dowiedzieć, że jeśli przyjdziemy do lekarza a on zamiast przepisać nam lekarstwa bez namysłu, najpierw sięgnie do książki, to my stracimy do niego zaufanie. Z kolei większe zaufanie wzbudza w nas lekarz ubrany w fartuch lekarski niż taki bez – mimo, że nie mamy pojęcia o wiedzy jaką posiada jeden albo drugi. Mamy również tendencję do zakładania, że wiemy jak coś działa tylko dlatego, że używamy tego na co dzień. Tymczasem większość ludzi nie jest w stanie opisać poprawnie niektórzych codziennie używanych mechanizmów. W ten sposób posługując się jak to nazwał Michał „iluzją wiedzy” oraz „iluzją zaufania” tworzymy nasze opinie. Problem w tym, że często przyjmujemy różne opinie za pewnik i nie próbujemy ich kwestionować ani nawet się nad nimi zastanawiać. Dlatego potrzebny nam detoks – abyśmy ponownie zaczęli sobie zadawać pytania. Michał przywołuje w swojej prezentacji całą masę ciekawych badań, dlatego też zachęcam do obejrzenia jej jeśli tylko będziecie mieli okazję. Zapewne już niedługo pojawi się w internecie – informacji szukajcie na stronie Boiling Frogs.

A później były mikroserwisy w wydaniu Jakuba Kubryńskiego (SLA i utrzymanie mikroserwisów)  – tutaj muszę przyznać, że byłam na kilku prezentacjach z tego tematu i bardzo często jest nudno. Tym razem jednak było bardzo życiowo. Kuba radził, przestrzegał, dzielił się naprawdę fajnymi doświadczeniami i przede wszystkim podkreślał, iż mikroserwisy nie są dla każdego. W sumie osobiście mocno się z tym zgadzam, zwłaszcza że nie tylko z mikroserwisami jest tak, że gdy coś nowego się pojawia wszyscy się nagle na to rzucają i chcą stosować gdzie popadnie. Jednak kiedy opada pierwszy entuzjazm a jednocześnie pojawiają się pierwsze problemy, widzimy że nie wszystko powinniśmy na siłę próbować stosować wszędzie. Kuba zaleca rozsądek i radzi jak zdecydować czy mikroserwisy są dla nas czy nie.

Po przerwie obiadowej udałam się na lightning talk do Ani Konopki – Jak nie zmarnować 8h a biurkiem. Ania przedstawiła nam sposoby na rozwinięcie swoich „umiejętności miękkich” w trakcie całego dnia pracy.

Bardzo dobrze bawiłam się na prezentacji Borysa Łąckiego ptBezpieczne programowanie — świat pełen błędów. Można było się dowiedzieć o różnych niebezpieczeństwach jakie czyhają na nas w świecie opanowanym przez inteligentne urządzenia, które tak chętnie instalujemy w naszych inteligentnych domach czy samochodach. Wśród opowiedzianych historii znalazły się m.in. historia o tym jak z inteligentnej opaski da się odczytać ruchy naszej ręki a tym samym piny jakie wpisujemy, o tym że można wyłączyć zdalnie zabezpieczenia na myjni i nasz samochod zostanie zniszczony, o przejmowaniu kontroli nad samochodowym radiem lub przeciążeniu rozruszników serca powodując nagłe osłabienie baterii. Prezentacja bardzo ciekawa i dobrze sobie coś takiego od czasu do czasu obejrzeć, by pamiętać o tym by rozsądnie podchodzić do wszystkich innowacji. Ją również polecam na przyszłość, gdy tylko się pojawi w sieci.

Ostatnia prelekcja o które chciałabym wspomnieć, to „Kariera developera. Zostałem seniorem i co dalej?” Michała Grucy. Jest to temat, który żywo mnie nie interesuje, ponieważ podobnie jak Michał mam wrażenie, że kolejnym krokiem po byciu senior developem od człowieka oczekuje się, że zostanie leadem, managerem itp. Większość firm niestety w tym kierunku pcha developerów co jednak nie zawsze jest dobre. Stanowiska te wymagają specyficznej wiedzy, często powodują ograniczenie obowiązków programistycznych co może prowadzić do tego, że nie każdy developer się tym odnajdzie. Michał przypomina o tym, że są jeszcze inne drogi i że przede wszystkim dużo zależy od firmy w której się znajdujemy. Jeśli jest ona prawdziwie otwarta na nasz rozwój w pożądanym przez nas kierunku jest duża szansa, że uda nam się zamiast rosnąć w górę na leada, na przykład urosnąć „w bok” zdobywając wiedzę w nowej technologii.

Na afterze było jak zawsze troszkę za głośno, ale bardzo miło. Bardzo się cieszę, że udało mi się być na konferencji w tym roku. Dziękuję organizatorom za świetną pracę i do zobaczenia za rok!