Kursy IT na Pluralsight. Dlaczego warto?


Bardzo sobie cenię kursy na Pluralsight. Mam wrażenie, że każdy kurs, który przeszedłem na tej platformie, w dużym stopniu podniósł moje zdolności. Wiem, dostęp do tej platformy nie jest tani, ale w mojej ocenie warty swojej ceny. To nie jest reklama, ale forma entuzjazmu jaki mam do tej formy samodoskonalenia. O to kilka punktów pokazujących ofertę tego serwisu i dlaczego warto skorzystać:
  1. Pluralsight to kursy z Javascript, C#, Java, Angular, Python, MySQL i wielu innych technologii i umiejętności.
  2. Kursy na Pluralsight w większości mają wyższą jakość niż te, które możemy znaleźć na przykład na YouTube. Są wyselekcjonowane, mają wysoką jakość dźwięku i obrazu. Często wgryzają się głęboko w dany problem daleko poza standardowe „Hello World” danej technologii.
  3. Twórcy Pluralsight to często osoby znane ze świata IT i konferencji branżowych, jak:
    1. Scott Hanselman, Microsoft
    2. John Somnez, SimpleProgrammer.com
    3. John Skeet, Google
  4. Pluralsight udostępnia funkcjonalność ścieżek – paths. Na przykład „ścieżka C#”, „ścieżka JavaScript”. Najpierw sprawdza przez testy, jak sobie radzisz w danej technologii, a potem proponuje kursy w danej technologii. Cały czas trackuje postępy w formie wykresów.
  5. Pluralsight to także dostęp do serwisu CodeSchool (od 2014) umożliwiającego naukę kodowania bezpośrednio w przeglądarce, bez instalowania niezbędnych środowisk programistycznych.
    1. CodeSchool dostarcza kursy w atrakcyjnej wizualnie formie. Każdy kurs wyróżnia się specyficzną czołówką, motywem przewodnim np. (Rails for Zombies)
    2.  Po każdym filmie szkoleniowym uczestnik ma okazję zmagać się z serią zadań, które sprawdzają opanowanie materiału
    3. CodeSchool dostarcza bogatą bazę Screencastów, na których autorzy kursów kodują na żywo.
  6.  Kursy Pluralsight to nie tylko kursy:
    1. dla programistów:
      1. Web Development, Mobile Development, JavaScript, C#, Python, Node.js, C++, Ruby on Rails, Java, React
    2. Ale także dla DevOpsów:
      1. IT Certifications, Security, Database Administration, Virtualization, IT Networking, Servers, Microsoft Office, Windows Server, Microsoft Windows OS, Linux, Cloud Computing, Docker
    3. Czy grafików komputerów i twórców interaktywnych:
      1.  Game Design, Game Art, Game Programming, 3D Design, VFX, Graphic Design, Photoshop, Web Design
  7. Kursy Pluralsight możesz oglądać w przeglądarce, na smartfonach, na smart TV z dostępem do Internetu, czy w aplikacji Windows offline bez dostepu do Internetu po wcześniejszym ściągnięciu kursu.
  8.  Jeżeli męczysz się z jakimś problemem za dodatkową dopłatą (około 1$/minutę) Pluralsight dostarcza możliwość zdzwonienia się 1 na 1 z ekspertem z danej dziedziny.
Dla niezdecydowanych lub mniej zasobnych w gotówkę, chętnych do samokształcenia, podaję link do alternatywnych platform:





Gdzie jest majster?

Majster na budowie to człowiek odpowiedzialny za to, że wszyscy pracownicy robią to, co powinni. On jest tym człowiekiem z miarką, który kręci się dookoła i upewnia się, że wszystkie ściany są ustawione odpowiednio. On jest tym człowiekiem, który sprawdza wszystkie rozpórki, spoiny i belki, aby upewnić się, że są zmontowane odpowiednio i nie mają żadnych znaczących uszkodzeń. On jest tym człowiekiem, który liczy wkręty w podłodze, aby upewnić się, że podłoga nie będzie skrzypieć, jeżeli będziesz po niej chodzić. On jest tym człowiekiem -- człowiekiem, który bierze na siebie odpowiedzialność -- człowiekiem, który upewnia się, że wszystko jest robione właściwie.

Poniższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony:
https://8thlight.com/blog/uncle-bob/2014/02/21/WhereIsTheForeman.html
Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta.


Gdzie jest majster naszych projektów budowy oprogramowania? Gdzie jest człowiek, który upewnia się, że wszystkie testy zostały napisane? Gdzie jest człowiek, który upewnia się, że wszystkie wyjątki zostały obsłużone. Gdzie jest człowiek, który upewnia się, że błędy są sprawdzone i obiekty nie są nullami i zmienne są bezpieczne dla wielu wątków. Gdzie jest człowiek, który upewnia się, że programiści wystarczająco programują w parach, wystarczająco rozmawiają ze sobą, wystarczająco planują? Gdzie jest człowiek, który sprawia, że podłogi nie skrzypią?

Bez dobrego majstra budowa pogrążyłaby się w chaosie. Ściany nie schodziłyby się. Drzwi wisiałyby krzywo. Zimna woda wypływałaby z gorącego kurka, a gorąca woda z zimnego. Bez dobrego majstra podłoga i dach przeciekałyby i z kominka dymiłoby do salonu. Bez dobrego majstra budowa skończyłaby się dużo po czasie, daleko poza budżetem i w nędznej jakości. 

Bez majstra podłogi skrzypiałyby.



Co robiłby majster na projekcie budowy oprogramowania? Robiłby to samo, co na budowie.  Upewniałby się, że wszystko zostało zrobione, zrobione dobrze i zrobione na czas. Byłby jedynym z prawami do kommitów. Wszyscy inni wysyłaliby mu pull requesty. On przeglądałby każdy request po kolei i odrzucałby te które nie miałyby odpowiedniego pokrycia testami albo miałyby burdel w kodzie, albo złe nazwy zmiennych, albo funkcje byłyby za długie. On odrzucały te, które w jego mniemaniu nie spełniają poziomu jakości rządanego dla tego projektu. 

Mogę sobie wyobrazić, że wielu programistów odrzuca pomysł, że ktoś inny ma władzę oceny ich kodu i odrzucania ich kommitów. No bo przecież, jak można dostarczyć na czas całą tę funkcjonalność, jeżeli kod ma być jeszcze czysto napisany? Jak możesz dotrzymać harmonogramu, jeżeli musisz jeszcze napisać te wszystkie testy? Mam na myśli to, że jeżeli będzie człowiek, który w rzeczywistości będzie patrzył na kod, nie będzie możliwości postawienie siebie w dobrym świetle, mówiąc, że kod jest skończony, jeżeli w rzeczywistości nie będzie. To byłoby okropne.

Okropne czy nie, tak właśnie robi większość branż. Jeżeli chcesz mieć robotę zrobioną, zrobioną dobrze i zrobioną na czas to potrzebujesz majstra.  I ten majster musi być technicznie wnikliwy, aby móc sprawdzić pracę, wszystkich pracowników. On musi mieć prawo do odrzucania każdej pracy, którą uważa za poniżej standardów. I on także musi mieć władzę, aby móc powiedzieć "Nie" nierealnym żądaniom klientów i menedżerów. 

Gdzie jest majster naszych projektów informatycznych? Gdzie jest człowiek z jedynymi prawami do kommitów? Gdzie jest człowiek, który upewnia się, że wszystkie testy są napisane i wszystkie warstwy abstrakcji są rozdzielone i wszystkie zależności są odwrócone?


Dlaczego nie mamy takiego człowieka? 

Czy można się jeszcze dziwić, że nasze podłogi skrzypią?




Powyższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony:
https://8thlight.com/blog/uncle-bob/2014/02/21/WhereIsTheForeman.html
Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta.