Studiowanie informatyki

Krzysztof Kempiński
Dec 2 · 13 min read

W ramach podcastu “Porozmawiajmy o IT” miałem okazję porozmawiać z Grzegorzem Kotlarzem o studiowaniu informatyki.

Posłuchaj naszej rozmowy w wersji audio 🎧 👇

Mój dzisiejszy gość do niedawna był studentem informatyki na poznańskiej politechnice, cloud developer i lider regionu w programie Microsoft Student Partners. Organizator i współorganizator licznych konferencji, warsztatów i meet upów związanych z technologiami firmy Microsoft, technologiami webowymi i chmurowymi. Prelegent i uczestnik kół naukowych związanych z programowaniem. Moim dzisiejszym gościem jest Grzegorz Kotlarz. Cześć Grzegorz, bardzo miło mi Cię gościć w podcaście.

Witaj Krzysztofie, dziękuję bardzo za zaproszenie.

Przyjemność po mojej stronie. Z Grzegorzem poznaliśmy się około pół roku temu podczas imprezy odbywającej się w Poznaniu. Była skierowana dla podcasterów i nosiła nazwę Pyrcaster. Grzegorz wtedy dużo opowiadał o programie, w którym brał wówczas udział, mianowicie Microsoft Students Partners i tak wspólnie postanowiliśmy, że fajnie byłoby nagrać razem podcast. O studiowaniu informatyki i o różnych inicjatywach, w które studenci mogą się angażować m.in. Microsoft Students Partners i stąd nasza dzisiejsza rozmowa. Najpierw pytanie wprowadzające. Grzegorz czy słuchasz podcastów? Jeśli tak, to jakich najczęściej?

Oczywiście, że słucham. Przede wszystkim to, że spotkaliśmy się na wydarzeniu dedykowanym podcasterom i wielbicielom podcastów, to sugeruję od razu, że słucham. Byłem przygotowany na to pytanie, dlatego podzieliłem sobie podcasty, które słucham na pewne kategorie. Takie trzy, mianowicie: IT — tutaj DevTalk, DevSession i oczywiście Twój podcast “Porozmawiajmy o IT”. Z takich życiowo-biznesowych to na pewno podcasty Mirka Burnejko, czyli “Projektant życia” oraz “Akademia.pl” oraz Mała Wielka Firma. Z podcastów rozrywkowych, gdzie czasami w pociągu czy jadąc do pracy, czy na uczelnię, nie miałem co robić to “Dwóch Typów podcast” oraz “Rock i Borys”.

Bardzo fajna lista. Powiedz mi, dlaczego zdecydowałeś się studiować informatykę? Zacznijmy może od tego wątku ze studiami informatycznymi. Wiem, że zacząłeś studia na nieco innym, pokrewnym kierunku, wobec tego, co Cię pchnęło w kierunku informatyki?

Tak jak mówisz, zacząłem od automatyki i robotyki, sam do końca nie wiem, dlaczego taki kierunek wybrałem. Po liceum trochę nie wiedziałem, w co by pójść, co robić. Po namowie brata, który stwierdził, że informatyków i programistów na rynku jest dużo, bo każdy może się nauczyć tego samego w domu, programowanie przecież nie jest takie trudne. Robotyków czy automatyków, którzy mają specjalistyczną wiedzę w obszarze sterowania maszyn czy robotyki brakuje i ciężej jest zdobyć taką wiedzę, ucząc się w domowym zaciszu. Wybrałem więc automatykę i niestety byłem z tego niezadowolony, gdyż jednak ciągnęło mnie bardzo do IT, głównie do programowania. Myślę, że głównym motorem było dla mnie programowanie gier. Bardzo lubię grać w gry, w liceum interesowałem się trochę tworzeniem gier. Stwierdziłem, że to jest coś, co chcę robić, pójdę na informatykę i będę robił gry.

Tak jak powiedziałeś, ciągnęło Cię do IT, do programowania. To są umiejętności, których najlepiej uczyć się w praktyce, teoria jest potrzebna, ale nie da się nauczyć programowania tylko z teorii. Studiowanie to po części poznawanie właśnie tej teorii. Spoglądając wstecz, uważasz, że te studia były Ci potrzebne? Nie żałujesz tych 5 lat przeznaczonych na studiowanie informatyki?

Zdecydowanie nie żałuję 5 lat, które spędziłem na uczelni. Jednak nie jest to do końca związane z tym, co działo się na zajęciach. Tak jak mówisz, wiedza potrzebna w codziennej pracy programisty nie jest tą wiedzą, którą zdobywamy do końca na studiach. Wydaje mi się, że chcąc pracować jako programista, nie musisz iść na studia, nie musisz ich kończyć. Wszystkiego można nauczyć się w domu. Jest pełno kursów on-line, można chłonąć tę wiedzę od osób, które dzielą się tym w internecie m.in. z podcastów takich jak Twój. Większości rzeczy nauczysz się w domu, ale też są szkoły programowania, które przekazują dedykowaną wiedzę z zakresu programowania i orientują się, czego potrzebuje rynek. Przekazują tę wiedzę, która jest potrzebna bardziej na rynku pracy niż ta, która jest przekazywana na studiach. Jednakże jest ten prosty powód, dla którego nie żałuję uczęszczania w studiach i życiu studenckim. Koło naukowe i program Microsoft Partners, bo tam najbardziej rozwinąłem swoje umiejętności, które teraz są przydatne w mojej pracy, czy codziennym życiu. Jestem w stanie stwierdzić, że gdybym nie trafił na grupę “.NET” na Politechnice Poznańskiej, czyli koło naukowe, w którym się udzielałem, to żałowałbym tych lat spędzonych na uczelni, pewnie dość mocno.

Za moich czasów, brzmi trochę strasznie, gdyż skończyłem studia już 14 lat temu, studia informatyczne były dość trudne i traktowane jako taki dość elitarny kierunek. Pamiętam kosmiczne ilości ludzi na jedno miejsce, gdy składałem swoje papiery na uczelni. Zastanawiam się, czy przez ten czas to się jakoś zmieniło, bo mamy informatykę na licznych uczelniach niekoniecznie ściśle technicznych. Mamy sporo kierunków pod tytułem informatyka na wielu prywatnych uczelniach. Zastanawiam się, czy wobec tego ta trudność dostania się na studia informatyczne nieco spadła.

Z tego, co pamiętam, w trakcie jak się rekrutowałem to na Politechnice Poznańskiej to na informatykę, był jeden z większych progów w kwestii dostania się na same studia. Z perspektywy rozmów z kolegami czy z rodziną, że studiuję na Politechnice Poznańskiej na wydziale informatyki, wszyscy wyrażali takie stwierdzenia, że to trudne studia, że na pewno mam tam dużo do roboty. Myślę więc, że chociażby ten stereotyp, bądź fakt, że studia informatyczne uznawane za dość elitarne pozostał, jest dalej w modzie. Tak jak mówisz, na wielu uczelniach jest teraz proponowany taki kierunek jak informatyka i myślę, że to dobrze. Tak naprawdę każda z uczelni nieco inaczej podchodzi do tego kierunku. Na studiach, na których ja byłem, czyli typowo inżynieryjnych, technicznych studiach, było bardzo dużo czasu poświęcone na uczenie matematyki, algorytmiki a na przykład na uczelniach prywatnych jest dużo większe nastawienie na informatykę użytkową czy biznesową. Myślę, że dzięki temu każdy może znaleźć coś dla siebie.

Myślę, że to jest tak, że powstały różne gałęzie rozwoju informatyki i tak samo studia też muszą się do tego dostosować. Chciałbym jednak wrócić do tego aspektu związanego z uczeniem się teorii, o którym wspomniałeś. Mówiłeś, że na studiach inżynieryjnych na Politechnice sporo tego typu wiedzy trzeba przyswoić. Chciałbym Cię zapytać, czy według Ciebie na studiach inżynieryjnych nie jest tej teorii trochę za dużo, a zbyt mało praktyki? To w efekcie może dać efekt, że osoba kończąca taki kierunek jest, powiedzmy, łagodnie mówiąc średnio przydatna na rynku pracy. To może dać całkiem dużo wiedzy teoretycznej, ale niestety nie potrafi jej w praktyce zastosować. Jakbyś ocenił taki program nauczania na studiach informatycznych? Zbyt dużo teorii czy może wystarczająco albo tyle ile powinno być?

Ciężko mi się wypowiadać ogólnikowo, mogę się wypowiadać tylko o tym, co ja studiowałem. Z racji, że ja pierwszy stopień studiów ukończyłem na automatyce i robotyce, co prawda na wydziale informatyki, ale program był mocno odbiegający od programu studiów informatycznych, więc tutaj mogę powiedzieć z pełną szczerością, że program automatyki mi się bardzo nie podobał i był bardzo źle ułożony i mocno teoretyczny. Jeżeli jeśli chodzi o informatykę i rozmowy prowadzone z kolegami, którzy równocześnie ze mną studiowali, to wydaje mi się, że owszem teorii jest dużo, ale jednocześnie było dużo wszelkiego rodzaju projektów, które były do zrobienia, które sprawdzały tę teorię, więc można było troszkę załapać z różnych dziedzin informatyki. Co ciężko jest osiągnąć w domu, bo jeśli idziemy na jakiś kurs informatyki, to jest to głównie programowanie. Uczymy się, w jaki sposób pisać kod, niekoniecznie jak pisać go dobrze, ale mógłbym powiedzieć, że niektóre szkoły programowania uczą klepaczy kodów. Po studiach informatycznych, jeżeli wsiąkniemy dużo teorii na temat tego, jak działa komputer, jak działa pamięć operacyjna, w jaki sposób nasze obiekty w językach programowania są przetrzymywane w pamięci, jesteśmy w stanie być bardziej świadomymi programistami, świadomymi informatykami. Sprawa jest też taka, że nie wszyscy po studiach informatycznych idą do programowania, więc na pewno wiedza z zakresu baz danych czy kontrolerów infrastruktury sieci jest też przydatna do bycia świadomym developerem, świadomym programistą, a jednocześnie otwiera drogę do pozostałych obszarów IT.

Jeżeli wsiąkniemy dużo teorii na temat tego, jak działa komputer, jak działa pamięć operacyjna, w jaki sposób nasze obiekty w językach programowania są przetrzymywane w pamięci, jesteśmy w stanie być bardziej świadomymi programistami, świadomymi informatykami.

Pewnie. To jest też cenna uwaga, że podstawy, które nieraz w bezmyślny sposób musimy przyswoić, są niezmienne i o ile IT, informatyka i programowanie zmienia się bardzo szybko, to jednak korzysta z tych podstaw. Dlatego być może jest to jakaś droga do tego, żeby być bardziej świadomym uczestnikiem całej tej przygody.

Czytałem ostatnio “Czystą architekturę” Uncle Boba i właśnie między innymi pisał tam o tym, że podstawy, na których opiera się informatyka, nie zmieniły się od tych lat 70 i to dalej jest to samo tylko developerom czy użytkownikom API, które są pisane w systemie operacyjnym, jest po prostu coraz łatwiej jest z tego korzystać dzięki rozbudowie mocy obliczeniowej i pamięci, którą mamy w komputerach. Nie musimy dbać o te bity i bajty, które mamy, ale jednak to, co tam siedzi pod spodem, jest niezmienne od wielu lat. Myślę, więc, że warto się tego nauczyć, żeby mieć tę świadomość, i tę wiedzę, którą bardzo ciężko zdobyć gdzieś w internecie w taki bardzo ustrukturyzowany sposób, w jaki można ją uzyskać na studiach.

Podstawy, na których opiera się informatyka, nie zmieniły się od lat 70

Bardzo cenne uwagi. To jest też tak, że na początku na 1, 2 czy 3 roku jest tej teorii w przeważającej ilości, bo jednak musimy mieć jakieś podstawy, natomiast później im dalej w las, na dalszych latach studiów, automatycznie jest więcej praktyki, bo jesteśmy w jakiś sposób tę wiedzę wykorzystać. Nie można, więc już na pierwszym roku się zrażać.

Zastanawiam się też nad tym, jak jest na innych uczelniach. Tutaj też może słuchacze poruszą ten temat w komentarzach, ale zastanawiam się nad tym, jaki jest cel uczelni wyższej w nauczaniu informatyki. Z tego, co widziałem, wykładowcom bardzo zależało na tym, żebyśmy zostali na uczelni i prowadzili pewne badania, rozwijali tę naukę, a nie do końca przygotowywali nas pod to żeby pójść gdzieś i robić biznes w IT. Zastanawiam się, jak jest na pozostałych uczelniach, wydziałach i kierunkach związanych z informatyką. Czy tak jak na Politechnice Poznańskiej duża część profesorów chce, żebyśmy zostali i rozwijali spuściznę, którą nam pozostawiają, w postaci przekazywanej wiedzy? Nie wiem jak Ty, odczuwasz po swoich studiach.

Ja mam bardzo podobnie. Myślę, że clou jest w tym, żeby być świadomym swoich oczekiwań, wiedzieć, z czym to się wiąże, zwłaszcza idąc na taką renomowaną uczelnię, musimy być świadomi, że teoria będzie zajmowała dużą część programu i to nie jest ten typ kształcenia, który ma wyprodukować klepaczy kodów. Nie twierdzę, że ich nie potrzeba, bo takich rzemieślników, którzy przychodzą do pracy na 8 godzin, robią to, co do nich należy i wychodzą, będzie potrzeba coraz więcej z racji, że rynek pracy versus potrzeby wygląda tak, jak wygląda. Idąc też na uczelnie i studiując 5 lat, dajmy na to informatykę, trzeba sobie postawić pytanie — “Po co właściwie chcę to robić”.

Oczywiście, chciałbym powiedzieć, że nie neguje wszelkiego rodzaju szkół programowania i osób, które po prostu piszą kod i czują się w tym dobrze i nie mają potrzeby zgłębiać wiedzy informatycznej, która znajduje się gdzieś pod spodem. Szanuję to i znam osoby, które są świetnymi programistami, dlatego chciałbym tylko sprostować.

Powiedziałeś, że praktyka też występowała na studiach, projekty również były przez was wykonywane. Chciałbym Cię zapytać, jakie to były technologie. Bo ja mam takie doświadczenia, że wykonywaliśmy projekty w technologiach, które były już passe na rynku, to znaczy, że nie były już aktualnie wykorzystywane przez biznes języki programowania. Jestem ciekawy czy też doświadczyłeś czegoś podobnego.

Jak najbardziej. Myślę, że użyte przez Ciebie słowo passe, bardzo fajnie podsumowuje przygodę na studiach, a przynajmniej 80%. Powiem tak, na automatyce i robotyce, kiedy mieliśmy wstęp do informatyki na 1 semestrze i on był prowadzony wspólnie dla automatyki i informatyki to głównymi technologiami, których byliśmy uczeni to języki C i C++, ale oczywiście pojawiał się tam Pascal, na którym wiem, że na informatyce jeden z profesorów kładł duży nacisk. Troszeczkę SQL-a, później pojawiał się system czasu rzeczywistego, asemblery, sterowniki PLC, w związku z tym, że to była automatyka. Dużo w tym, co wymieniłem, było kartki i długopisu, aniżeli klawiatury i pisania kodów na komputerze. Tak naprawdę ciekawsze technologie pojawiły się dopiero na studiach magisterskich i tam rzeczywiście troszkę zaczęliśmy dotykać rzeczy, które są aktualnie wykorzystywane. Widzę, że na Politechnice Poznańskiej króluje Java, bo jest to język rzeczywiście wykorzystywany obecnie, nie zawsze w tej najnowszej formie był u nas wykorzystywany, ale było trochę C#. Na 4 roku pojawił się JavaScript, na 5 roku był Python, który wykorzystywaliśmy mocno w Data scientist. Na studiach magisterskich, rzeczywiście to ruszyło, ale studia inżynierskie troszkę mnie zawiodły, jednak jak mówię to była automatyka. Na informatyce, wiem, że są prowadzone dwie grupy na 1 roku studiów ze wstępu do programowania, jedna z nich ma Pascala, ale można spróbować dostać się do tej elitarnej grupy, która zaczyna z Pythonem, ale wiem, że tam jest ograniczona liczba osób, która może do niej pójść. Pascal ciągle króluje.

Ciągle żywy. A czy ta technologia, której wówczas się uczyłeś, czy one jakoś są przydatne, teraz kiedy pracujesz. Czy jakoś wykorzystujesz w swojej pracy to, czego nauczyłeś się na studiach?

Na pewno, języków obiektowych, samego paradygmatu programowania obiektowego, na pewno dużo mi pomogło nauczenie się tego na studiach. Nawet były paradygmaty dość mocno poruszone na przedmiotach. Tutaj dziękuję doktorowi Kołocie, za wstęp do programowania, na automatyce i robotyce. Bardzo pozdrawiam pana doktora. Jeżeli chodzi o to, czego się uczyłem na studiach, na 2 roku zacząłem po godzinach uczyć się ASP.NET i NFC i wtedy było ono tak dość mocno popularne z tego, co pamiętam. Naprawdę koła naukowe dużo prelekcji na ten temat prowadziło, uczyłem się tego w domu i kiedy skończyłem studia, okazało się, że ASP.NET jest już passe. Teraz trzeba się uczyć od nowa do .NET Core, także IT zmienia się bardzo szybko, technologie się aktualizują w zastraszającym tempie i myślę, że ciężko jest utrzymać program studiów, żeby był cały czas gdzieś na bieżąco z tym, co się dzieje na rynku.

Powiedziałeś, że to nie jest problem studiów, że technologie, których studenci uczą się podczas studiów, szybko się dezaktualizują, bo wszystkie technologie w IT się szybko aktualizują, więc bardzo trudno byłoby za nimi nadążyć. Wspomniałeś o tym profesorze, którego konikiem był Pascal i często słyszę takie głosy, że studenci uczą się starych technologii, ponieważ jest to w jakiś sposób domena kadry uczącej, ponieważ nie nadąża ona za nowymi technologiami używanymi przez biznes na nowym rynku. Jestem ciekaw, jak oceniasz poziom kadry naukowej względem tego co się dzieje na rynku, jak nadąża ona za tym jakie trendy panują i co biznes wykorzystuje.

Tutaj myślę, że można by troszeczkę zmienić w kwestii kadry i w aspekcie nastawienia się na biznes, przynajmniej na Politechnice, bo z tego, co słyszałem, na Uniwersytecie im. Adama Mickiewicza w Poznaniu prowadzone są prelekcje przez przedstawicieli różnych firm i profesorowie czy doktorzy mają troszeczkę doświadczenia biznesowego, więc myślę, że to jest fajny kierunek, który tam uczelnia zrobiła. Jeśli chodzi o Politechnikę, to ciężko jest generalizować, jeśli chodzi o całą kadrę, ale jednak część profesorów ma swoje slajdy, które wykładają od x lat. Podejrzewam, że część slajdów, które widziałeś Ty, widzą w tym roku studenci. No nie są skłonni do zmian, bo nie ukrywajmy, jest to dla nich łatwe i przyjemne, mają przygotowany swój zestaw slajdów, znają je na pamięć, nie wymaga to od nich przygotowania, a wiedza tak jak mówiliśmy wcześniej, gdzieś tam u podstaw się nie zdezaktualizowała, więc dalej spełniają swoje KPI, które uczelnia im stawia. Oczywiście starzeją się też tacy profesorowie, którzy starają się podążać za zmianami, śledzą rynek i tutaj zauważyłem, że często ci doktoranci, doktorzy, czasami też profesorowie mają jednak to podłoże biznesowe, ten background, który widzieli na rynku, który próbowali czy to ze swoimi własnymi firmami, czy gdzieś pracowali. To widać i rzeczywiście o wiele lepiej mi się uczyło od takich osób.

Zdecydowanie lepiej się takich słucha.

Jest jeszcze kolejna sprawa w kwestii samego nauczania, szkolnictwa wyższego w Polsce. To jest tak, że jeśli zaczynasz studia doktoranckie i zaczynasz jakieś badanie to do twoich obowiązków, musi również należeć prowadzenie zajęć. To jest pytanie, czy ten wymóg powinien zostać utrzymywany, bo jednak są osoby, które po prostu chcą rozwijać się na uczelni, prowadzić badania i te zajęcia są dla nich, mam wrażenie taką kulą u nogi. Nie chcą się spełniać jako dydaktycy, ale chcą prowadzić swoje badania i zastanawiam się, czy w szkolnictwie wyższym nie powinno to zostać bardziej przemyślane. Co Ty o tym sądzisz?

No tak, wydaje mi się, że nie każdy potrafi uczyć, bo do tego wymagany jest całkiem inny zestaw umiejętności i kompetencji i rzeczywiście być może zmuszanie po części wszystkich, aby w tym uczestniczyli, jest nie do końca efektywne. To jednak szeroki temat.

Ci profesorowie, m.in. profesor od Pascala to są wielcy informatycy, którzy naprawdę dużo w swoich latach świetności w Polsce wprowadzili tej nauki, tylko czy oni nadal powinni mieć wymóg tego nauczania, tutaj jest pytanie.

Szeroki temat. Chciałbym porozmawiać na temat oczekiwań co do studiów i do tego, co po tych studiach będziemy mieli. Chciałbym Cię zapytać, jak w Twojej opinii studia wyglądają pod kątem tego co mogą dać studentowi a czego nie mogą zaoferować i czego możemy się spodziewać, idąc na studia informatyczne a z czym na pewno po takich nie wyjdziemy.

Na pewno spodziewałbym się tam dużej dawki wiedzy z zakresu całej informatyki, bo dużo osób, które idą na studia, mają takie przeświadczenie, że teraz bardzo trendy jest programowanie i ograniczają swoje myślenie, że informatyk pisze programy, ale na studiach dostajemy naprawdę przegląd na wszystkie obszary informatyki. Od samego działania komputera, jak jest on zbudowany, przez systemy danych, jakie są wbudowane aż po programowanie czy uczenie maszynowe. Dlatego studia na pewno mogą dać w kwestii wiedzy ogromny przekrój całej informatyki. Ostrzegam, że ciężko uciec na takich studiach od matematyki, to się bardzo ze sobą pokrywa. Z takich poza wiedzowych rzeczach, których można oczekiwać na studiach to na pewno dostęp do kadry nauczycielskiej czy profesorskiej, dostęp do biblioteki. Naprawdę ta biblioteka Politechniki Poznańskiej jest pełna ciekawych publikacji, nawet tych najnowszych. Bardzo często korzystałem z książek, które się tam znajdują, bo były bardzo dużą dawką wiedzy i wydałbym krocie na te książki, jeśli miałbym je kupować w domu, a tutaj można było je wypożyczyć i rozwijać się po zajęciach. Czego nie należy oczekiwać, idąc na studia to tego, że uzyskanie dyplomu, nie zrobi z osoby eksperta i nie zapewni pracy. To myślę przede wszystkim, trzeba powiedzieć, że samo ukończenie studiów niewiele daje na rynku pracy. Od czasu kiedy na nie uczestniczę, to nie zauważyłem żeby gdzieś podczas rekrutacji ktoś zapytał o to jakie miałem oceny na studiach czy ukończyłem, czy nie ukończyłem. Wiadomo jest to wpisane w CV, ale na rozmowach kwalifikacyjnych w większości rozmawia się o projektach, które się robiło na studiach czy po nich. Na pewno nie dają tego, że nauczymy się i będziemy super wartościową osoba na rynku pracy, jeśli tylko ukończymy studia.

Dokładnie, ja jakiś czas temu słyszałem o badaniach, które pokazują, że osoby z wyższym wykształceniem, nie mówię tylko o programistach, są w stanie zarabiać kilkanaście proc. więcej niż osoby z wykształceniem średnim. Uważam jednak, że to nijak się nie pokrywa. Od wielu lat nie widzę takiej zależności i według mnie takie formalne wykształcenie, pewnie w ogólnym rozumieniu rynku pracy programistów nie przekłada się w jakiś sposób, na to ile będziemy zarabiać bo to jednak umiejętności determinują to w jaki sposób będziemy zarabiać.

Oczywiście, że tak. Zestaw projektów, które trzeba wykonać na studia, żeby zaliczyć przedmioty, na pewno jest też ciekawą opcją na rozbudowę swojego portfolio przy rekrutacji. Teraz ukończyłem studia magisterskie i razem ze znajomymi nie zauważyłem, żeby ktoś nagle dostał podwyżkę do pensji, za to, że zrobił magistra.

Czytaj dalej na: https://porozmawiajmyoit.pl/poit-049-studiowanie-informatyki/

kkempin’s dev blog

Dev and life blog. Thoughts about programming, design patterns, Ruby and life.

Krzysztof Kempiński

Written by

IT expert. Ruby on Rails/iOS/Elixir programmer. Blogger. Podcaster.

kkempin’s dev blog

Dev and life blog. Thoughts about programming, design patterns, Ruby and life.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade