Menu
Agata Murawska - IT University, Kopenhaga, Dania

Wybrałam ścieżkę akademicką, na IT University w Kopenhadze, który zajmuje się każdym aspektem informatyki: od algorytmiki i logiki, czyli informatyki teoretycznej, poprzez zarządzanie projektami i stronę biznesową, po gry, robotykę czy projekty interdyscyplinarne. Pogranicze informatyki z innymi dziedzinami, zwłaszcza naukami humanistycznymi i społecznymi, jest niezwykle ciekawe: my, informatycy i ludzie z nauk społecznych, zadajemy sobie zupełnie różne pytania na temat tego samego zagadnienia. Tak jest w przypadku doktoratu, nad którym tutaj pracuję, w ramach projektu DemTech. Zajmujemy się udziałem technologii w procesach demokratycznych. Dokładniej: wszystkim, co jest związane z głosowaniem, zwłaszcza w wyborach państwowych. Dotyczy to m.in. zliczania głosów, tworzenia list uprawnionych do głosowania, audytu wyników i przede wszystkim bezpieczeństwa systemów głosowania przez internet. Nasz projekt łączy kryptografię z teorią dowodu. To bardzo satysfakcjonująca praca: nie tylko rozwiązuję ciekawe problemy teoretyczne, ale też ma to zastosowanie przy budowaniu czy modelowaniu systemów głosowań i weryfikacji ich właściwości. „Czy ludzie są w stanie zaufać systemowi głosowania elektronicznego?”­ takich pytań zupełnie nie byłam świadoma rozpoczynając studia.

Początkowo były to studia matematyczne na UW. Postanowiłam jednak uciec i od Warszawy, która mnie przytłaczała, i od matematyki, która w tym wydaniu nie była dla mnie ciekawa: analiza matematyczna czy algebra liniowa z mnóstwem obliczeń to nie są moje ulubione przedmioty. Wrocław okazał się miastem skrojonym na ludzką miarę, a II miejscem, gdzie mogłam zająć się tym, co mnie szczególnie ciekawi ­ informatyką teoretyczną. Interesuje mnie znajdowanie eleganckich rozwiązań skomplikowanych problemów, niekoniecznie ich implementacja. Odpowiada mi nauka mocno abstrakcyjna, bawienie się sednem problemu. To bardziej czyste, szlachetne i, w moim odczuciu, stawia więcej wyzwań niż przy pragmatycznym podejściu. Czuję się bardzo swobodnie w zetknięciu z nowym językiem programowania. Dzięki temu, że rozumiem jak one działają „pod spodem”, nauczenie się nowego języka to kwestia kilku dni czy tygodni. Ta swoboda dużo daje, zwłaszcza kiedy praca polega także na projektowaniu własnych języków.

Opanowałam we Wrocławiu również umiejętność klarownego tłumaczenia rozwiązań: umieć rozwiązać problem, a umieć wytłumaczyć, jak go rozwiązać, to czasem dwie różne rzeczy. Przydaje mi się to teraz, gdy sama uczę studentów w Kopenhadze. Dla mnie dobra uczelnia to trzy aspekty: wysoki poziom nauczania, duża swoboda wyboru przedmiotów i otwarta atmosfera. W II te warunki były spełnione. Nie było dla mnie żadnym problemem rozplanować wszystko tak, żeby móc odbyć dwa kilkumiesięczne staże. I nie patrzeć na analizę numeryczną dłużej niż jeden semestr, po którym wiedziałam już, że to zupełnie nie moja bajka. Nikt też nie przypinał mi łatki z powodu płci, a niestety wciąż funkcjonują stereotypy, że kobiety w naukach ścisłych są słabsze. Na szczęście nigdy nie zdarzyło się to we Wrocławiu. Instytut to także znajomości na całym świecie. Gdziekolwiek pojadę, przez ostatni rok w Montrealu, Nowym Jorku, Bostonie, stale spotykam kogoś z II. Jesteśmy obywatelami świata. Po studiach nadal mamy ze sobą kontakt, nie tylko towarzyski ­ wspieramy się także zawodowo. Poleciłam znajomych z instytutu firmie Google, gdzie byłam na dwóch stażach i skąd nadal dostaję propozycję pracy po doktoracie. To jednak jest plan C. Planem A jest pozostać na uczelni, planem B – praca w małej innowacyjnej firmie, np. nad robotami medycznymi. Do Kopenhagi trafiłam dzięki koledze z mojego wrocławskiego „matecznika”, który w Danii rozpoczął doktorat i zachęcił mnie, żebym dołączyła do międzynarodowego zespołu, w którym są Francuzi, Chińczycy, Skandynawowie. Poznaję ludzi po znakomitych uczelniach, np. po MIT i nie mam kompleksów. Praca wśród tak różnorodnych osobowości niezwykle poszerza horyzonty.

Aleksander Mądry - Massachusetts Institute of Technology, USA

Nie wyobrażam sobie lepszego miejsca pracy i samorozwoju niż MIT, gdzie jestem profesorem. To przede wszystkim zbiór osobowości ­ niezwykle utalentowanych, pełnych entuzjazmu i wszechstronnych. Studenci, którzy tu trafiają, to często najlepsi z najlepszych. O jakiejkolwiek godzinie przyjdzie się na uczelnię, zawsze ktoś nad czymś pracuje, także w nocy. Podczas rozmów na korytarzach ludzie z ekscytacją opowiadają o swoich projektach. Energia tutaj aż kipi i choć wszyscy ciężko pracują, to mają jeszcze chęć i siły na pozanaukowe pasje: organizują uczelniane kino, teatr, prowadzą firmy. To reakcja łańcuchowa: jedni zarażają energią innych. Władze uczelni robią wszystko, żeby ten intelektualny żywioł miał jak najlepsze warunki. Świetnie sprawdza się amerykański model zarządzania nauką, oparty na niezależności i samodzielności. W przeciwieństwie do polskiego systemu, gdzie prawdziwą naukową samodzielność zdobywa się dopiero po habilitacji, a nawet później, tutaj młodzi ludzie zatrudnieni zaraz po doktoracie stawiani są na pozycji lidera, który samodzielnie buduje swój zespół, wytycza kierunki jego badań i zdobywa na nie fundusze. Tak jest również w moim przypadku: nie mam tak naprawdę żadnego szefa. Nade mną jest tylko dziekan, ale on zajmuje się głównie administracją, nigdy nie ingerując w moje plany naukowe.

Badania, które prowadzę samodzielnie oraz z zespołem studentów i postdoców, zajmują około 60 procent mojego czasu; resztę wypełnia nauczanie. Młodzi ludzie, z którymi pracuję, to nie tylko doktoranci. Niektórzy z nich to studenci drugiego czy trzeciego roku studiów pierwszego stopnia; traktowani jak partnerzy. „Wobec problemu naukowego wszyscy jesteśmy równi” – MIT jest głęboko przesiąknięty tym etosem.

Kiedy się tutaj pojawiłem po raz pierwszy, prawie dziesięć lat temu, jako nowo przyjęty doktorant, byłem oszołomiony i trochę przytłoczony. Trafiłem do światowego centrum informatyki prosto z Wrocławia. Pytanie goniło pytanie: czy ja tutaj pasuję? Czy jestem na właściwym poziomie? Czy jestem wystarczająco dobry? Jak znaleźć tu własną ścieżkę? Mój promotor nie mówił mi, co mam robić; dał tylko ogólne wskazówki. Tutaj każdy musi sam sobie znaleźć temat badań, który go pasjonuje i podjąć ryzyko. Trzeba wybrać drogę i podążać nią. Nie da się na nikogo zrzucić odpowiedzialności za niepowodzenia.

Takiego podejścia nauczyłem się już we Wrocławiu, na studiach w Instytucie Informatyki. Prof. Krzysztof Loryś i prof. Leszek Pacholski również zaszczepiali takie myślenie swoim studentom: rób to, co cię fascynuje i pozwól tej pasji się prowadzić. To oni wspierali mnie w moim wyjeździe na MIT – bez ich wsparcia nigdy by to nie było możliwe. Teraz widzę, że Instytutowi jest dużo bliżej do MIT niż sądziłem. Po pierwsze, także w Instytucie dystans między studentami a kadrą jest bardzo mały. Pamiętam, że często mogłem zapukać do gabinetu prof. Pacholskiego, nie czekając na oficjalne godziny konsultacji i porozmawiać o nurtujących mnie pytaniach czy poprosić o poradę. Oczywiście czułem respekt, ale też brak barier, a to nie jest takie częste w polskim szkolnictwie. Po drugie, II i MIT mają zbliżony model nauczania: studenci mają dużą swobodę w wyborze przedmiotów, sami kształtują swój program.

Kiedy rozpoczynałem studia, moją główną ambicją było nauczyć się dobrze programować, a potem zatrudnić się w dobrej firmie. Kompletnie nie wyobrażałem sobie siebie jako naukowca. Wszystko się zaczęło zmieniać, gdy jako student drugiego roku (co było możliwe tylko dzięki niesamowicie elastycznemu systemowi wyboru przedmiotów) wybrałem się na zaawansowane zajęcia z logiki prowadzone przez prof. Pacholskiego. Opowiadał o najnowszych wynikach naukowych, na początku niewiele z nich rozumiałem. Pozwoliły mi jednak dostrzec piękno intelektualnych wyzwań, którymi zajmuje się informatyka teoretyczna. Instytut wywrócił więc moje postrzeganie informatyki i przekonanie o ścieżce zawodowej. Dostałem solidne podstawy, choć brakowało mi niektórych aspektów informatyki, np. sztucznej inteligencji. Świetne było to, że nacisk kładziono nie tyle na przyswojenie wiedzy, ile na zrozumienie procesu. Doskonałym przykładem jakości nauczania były zajęcia z języków formalnych prowadzone przez prof. Jerzego Marcinkowskiego, wzorowane na książce Michaela Sipsera, profesora MIT. Gdy po przyjeździe na MIT zapisałem się na zajęcia prowadzone przez prof. Sipsera, zorientowałem się, że nie muszę uczęszczać na jego, skądinąd doskonałe, wykłady ­ cały materiał znałem już dobrze z Wrocławia. Po doktoracie pojechałem do EPFL do Lozanny, gdzie zostałem profesorem. W zeszłym roku wróciłem, tym razem jako profesor, na MIT. Jestem szczęśliwy, że jestem na jednej z najlepszych uczelni świata i że mogę oddawać się swojej pasji, algorytmice, w otoczeniu ludzi, którzy ją dzielą. Praca naukowa, szczególnie w dziedzinach teoretycznych, ma niepowtarzalny charakter. Próbuję różnych podejść, krok po kroku. Jestem tylko ja i moje pytanie. Bywa, że pracuję nad jednym zagadnieniem przez miesiąc, dwa, pól roku, po nocach, bez żadnego namacalnego postępu aż nagle krystalizuje się nowa intuicja czy obserwacja, która okazuje się kolejnym fragmentem całej układanki. Przez większość czasu jednak nie wie się nic – ten stan „permanentnego kryzysu” to nieodłączna część mojej pracy. Podobnie jak przekonanie, że zagadnienia, nad którymi pracuję, to nie tylko skomplikowane łamigłówki, ale głębsze pytania dotyczące natury świata.

Krzysztof Kozielczyk - program managerem w Microsoft, SQL Server Database

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Jestem Program Managerem w Microsoft SQL Server, w zespole odpowiedzialnym
za oprogramowanie danych (język T-SQL, programowanie .NET w SQL Server).

Pozycja Program Managera jest bardzo ciekawa i specyficzna dla Microsoftu.
Moje obowiązki to komunikacja i organizacja wewnątrz zespołu produkcyjnego oraz kontakt ze światem zewnętrznym, czyli innymi zespołami, marketingiem, sprzedażą, klientami, itp.

Odpowiadam "od początku do końca" za funkcjonalność przydzielonego komponentu. Z reguły moja praca przebiega według następującego schematu:

1. Kontakt z klientami i użytkownikami by zebrać ich wymagania i opinie.
2. Filtrowanie oraz nadawanie priorytetów uzyskanym informacją, propozycje zmian, przekonanie do nich współpracowników.
3. Zarządzanie projektami, które zostaną zatwierdzone. Ogólna architektura implementowanych rozwiązań. Koordynacja z zespołami zewnętrznymi. Ogólne zadbanie, żeby modyfikacje były spójne, sensowne i zgodne z potrzebami użytkowników.
4. Edukacja użytkowników na temat nowej funkcjonalności poprzez prezentacje na konferencjach, udział w grupach dyskusyjnych, wizyty u klienta, itp.

Jak widać jest to połączenie funkcji analityka biznesowego, kierownika projektu oraz "propagatora" (vel. *evangelist*).

Czy jestem zadowolony? Bardzo!

Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Zadziwiająco dużo.

Po pierwsze Algorytmy i Struktury Danych - chleb powszedni każdego, kto zajmuje się produkcją oprogramowania, a szczególnie baz danych, gdzie wydajność jest parametrem kluczowym, a nacisk na optymalizację kodu bardzo wysoki.

Następnie Bazy Danych - nie można rozmawiać o programowaniu dostępu do danych bez znajomości języka SQL oraz algebry relacyjnej.

Kolejne są wszelkie języki programowania, szczególnie te "nietypowe", jak ML czy Prolog. Ich znajomość pozwala mi spojrzeć na rozwój naszych języków w o wiele szerszym świetle.

Dalej kryptografia i bezpieczeństwo, fundamentalny element każdego produktu Microsoft i chyba ogólnie każdego produktu naszych czasów.

Wreszcie każdego dnia używam ogólnej umiejętności abstrakcyjnego myślenia, którą rozwijałem przez pięć lat obcowania z każdym chyba możliwym aspektem
informatyki teoretycznej.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Przede wszystkim rzeczy, które były łatwo dostępne, tylko nie przyszło mi do głowy, że mogą być ważne. Kardynalnym przykładem są języki obce. Każdego dnia żałuję, że nie poświęciłem więcej czasu na naukę angielskiego (kiedy jeszcze ten czas miałem).

Jesteś inteligentnym facetem i pewnie poradziłbyś sobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Po pierwsze chciałbym zauważyć, że wiara w zależność pomiędzy inteligencją a radzeniem sobie w życiu jest mocno przesadzona... szczególnie po kilku latach spędzonych w USA stawiałbym raczej na wiarę we własne siły oraz zdolność "sprzedania" swoich umiejętności.

Ale wracając do pytania...

Z rzeczy wyniesionych z Instytutu najbardziej cenię sobie szeroki zakres teorii jaką poznałem. Mam na myśli te wszystkie przedmioty, które zdają się nie mieć żadnego praktycznego zastosowania. Przyznaję, na początku kariery najbardziej przydała mi się umiejętność programowania i znajomość narzędzi.
Ale wiedza teoretyczna zaczęła nabierać znaczenia wraz ze wzrostem rozmachu zadań, jakimi się zajmowałem. Szczególnie po rozpoczęciu pracy w Microsofcie zaczęła ona procentować każdego dnia!

I tu mamy koleją zaletę teorii - naprawdę dobrzy pracodawcy zatrudniają z myślą o długofalowej współpracy, więc są o wiele bardziej zainteresowani potencjałem pracownika niż jego znajomością aktualnie modnych narzędzi.
Próbują zatem przetestować kandydata pod kątem umiejętności rozwiązywania abstrakcyjnych problemów (np. wywiad do Microsoftu przypomina wielogodzinny egzamin z Algorytmów połączony z testem na inteligencję). To umiejętność rozwiązywania abstrakcyjnych problemów otwiera drzwi do zespołów pracujących nad naprawdę ciekawymi projektami i pozwala na pokierowanie karierą w interesującym kierunku. No a nic tak nie rozwija tej umiejętności, jak kilka semestrów sprowadzania różnorodnych (zdawałoby się) problemów do 3SAT.

Gdzie widzisz siebie za 5 lat?

Obecnie fascynuje mnie biznesowa strona software'u. Czym charakteryzują się udane produkty? Co decyduje o ich rynkowym powodzeniu lub porażce? Jak się okazuje odpowiedź na powyższe pytania jest prawdziwą nauką ścisłą, z którą chciałbym się bliżej zapoznać. Dlatego na przestrzeni najbliższych kilku lat będę kierować moją karierę w stronę pozycji, na której odpowiadałbym nie tylko za techniczny, ale również biznesowy i użytkowy aspekt oprogramowania.

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Niespecjalnie. Co prawda zawsze interesowało mnie zarządzanie projektami, ale nigdy nie podejrzewałem, że będę także odpowiedzialny za komunikację z klientami, prezentację na konferencjach, itp.

Petrykowski Jakub - pracownik YouTube

Jak zaczęła się Twoja droga zawodowa w branży IT?

Podczas liceum robiłem amatorsko strony WWW. Na początku studiów, po kursie PHP, zabrałem się za komercyjne projekty dla małych firm. Na czwartym roku napisałem aplikację webową do obsługi zamówień dla wrocławskiej firmy naprawiającej maszyny przemysłowe. Poza zarządem, technologiem i sekretarką nikt tam nie używał komputerów; prowadzenie projektów odbywało się na papierze. Pracowało tam mnóstwo osób w średnim wieku. System który zaprojektowałem i napisałem bardzo dobrze się sprawdził. Działa już ponad pięć lat bez usterek; 50-letnie panie pamiętające głęboki PRL bez problemu przerzuciły się na komputer. Jestem bardzo zadowolony z tego projektu.

To było moje pierwsze poważne zlecenie. W międzyczasie zacząłem blisko trzyletnią karierę skoncentrowaną na web usability; jako pracownik wrocławskiej agencji interaktywnej prowadziłem projekty dla wielu największym serwisów w polskim Internecie. Później próbowałem własnego startupu, pisałem aplikację pod Windows.

Gdzie teraz pracujesz?

Jestem Product Managerem w Google. Obecnie pracuję nad YouTube Insight. Jest to pakiet analityczny podobny do Google Analytics, przeznaczony dla ludzi wrzucających wideo na YouTube. Dzięki niemu właściciele filmów wiedzą, ile osób ogląda ich filmy, w jakim wieku i w jakich krajach są ci ludzie, jak znaleźli wideo czy też które części filmu są dla nich najciekawsze.

Na czym dokładnie polega Twoja praca jako Product Manager?

Do moich zadań należą komunikacja, zbieranie priorytetów i koordynacja.

Komunikacja. Pracuję z zespołem sześciu programistów i z projektantem interakcji, który projektuje jak to wszystko wygląda i działa od strony użytkowej. Dbam o to, żeby ludzie w moim i w powiązanych zespołach mieli niezbędne informacje odpowiednio wcześnie. Samo stwierdzenie, co jest ważne i kto właściwie powinien o tym wiedzieć, jest dużą częścią pracy.

Zbieranie priorytetów. Programiści tworzą kod. Zazwyczaj będą robili to, co uznają za słuszne. Mają dużą swobodę, ale potrzebują wskazówek, co jest najważniejsze -- w tym specjalizuje się ja. Zbieram wymagania i wspólnie z programistami decyduję, co robimy.

Dużą częścią pracy jest pomaganie w trade-offach. Musimy na co dzień podejmować decyzje np. żeby na razie nie naprawiać konkretnego buga, bo tylko kilka procent użytkowników ma z nim problem, albo który z trzech „świetnych” pomysłów na razie odstawić, bo nie ma dość czasu, aby robić wszystko. Programiści są najcenniejszą materią w firmie. Trzeba oszczędzać ich czas i energię na kluczowe sprawy.

Google ma taką politykę, żeby wszystko robił software -- im więcej ludzi obsługuje klientów, tym gorzej. Jeśli chcesz mieć coś, co będzie używane przez 100 milionów ludzi, to nie możesz oczekiwać, że co dziesiątą osobę będzie obsługiwać ktoś w call center.

Koordynacja. Moją rolą jest doprowadzenie do decyzji, które pozwolą dostarczyć użytkownikom kolejną wersję produktu. Zbudowanie czegoś wymaga współpracy z zespołami pracującymi nad pozostałymi produktami, a także z prawnikami, marketingiem i sprzedawcami. Ja nie koduję, za to mam spory udział w tym, co będziemy robić, jakie potrzeby użytkowników zaspokoimy i w jaki sposób osiągniemy dany efekt.

Im więcej zaufania do moich decyzji u kolegów, tym większy wpływ mam na produkt. Im większą siatkę znajomości zbuduję w firmie, tym łatwiej projekt posunie się do przodu.

Czy na Twojej drodze zawodowej było dużo programowania?

Podjąłem świadomie decyzję, że nie chcę być programistą. Właściwie to nigdy nie pracowałem w zespole programistycznym, nie uczyłem się od lepszych programistów. Może kiedyś nadejdzie na to pora. W naszym instytucie spotkałem wielu dobrych studentów, którzy programowali znacznie więcej niż ja; niektórzy pracowali co najmniej na pół etatu jako programiści już na początku studiów. Mi na tym szczególnie nie zależało i zawsze znajdowałem ciekawsze zagadnienia.

Ale jeśli chcesz dostać się do Google, to chyba musisz mieć duże umiejętności programistyczne?

Jako programista? Tak. Jako product manager? Tylko podstawy. Jeśli chodzi o programistów, to krytyczne są algorytmy, struktury danych, abstrakcyjne myślenie. Trzeba mieć oczywiście doświadczenie w kodowaniu, ale dobrym koderem możesz stać się równie dobrze dopiero po wejściu do firmy. Jeśli dobrze rozumiesz algorytmy, złożoność obliczeniową i pokażesz w ćwiczeniach koderskich, że potrafisz w jakimkolwiek języku te rzeczy zakodować, to firma Cię natychmiast bierze. Prawdopodobnie nie jesteś w stanie szybko nadrobić braku umiejętności teoretycznych lub ogólnych umiejętności analitycznych, ale możesz nadrobić braki w technikach koderskich i najnowszych narzędziach stosowanych przez programistów.

Podczas naszej wcześniejszej rozmowy opowiadałeś mi jak działa wyszukiwarka
gdzie się tego dowiedziałeś?

Koleżanka ze studiów, Ania Molęda, wyjechała na Erasmusa do Saarbruecken i pisała tam pracę magisterską o rankowaniu wyników w wyszukiwarce. Dużo się od niej nauczyłem. Podczas rozmów kwalifikacyjnych ktoś pytał mnie o na przykład o odwrócony indeks, ale gdybym tego nie wiedział, nic by się nie stało. Nikt przy zdrowych zmysłach nie będzie wymagać od Ciebie znajomości architektury niejawnych systemów.

Co pracodawcy sądzą o absolwentach naszego kierunku?

Pracowałem tylko w dwóch firmach w Polsce zatrudniających wielu absolwentów informatyki. W jednej z nich usłyszałem od prezesa, z nutą wyższości, „u nas pracują tylko ludzie z Politechniki”. W drugiej nie było nikogo po uniwerku, ale nie słyszałem kąśliwych uwag. Sam mam mnóstwo znajomych po obu uczelniach. Słyszałem różne opinie z obu stron, zarówno te wyważone, jak i te absurdalnie skrzywione. Ludzie po UWr są ewidentnie lepsi pod względem teoretycznym, znają więcej koncepcji w porównaniu do absolwentów większości wydziałów technicznych – to oczywista konsekwencja różnic w programach tych studiów. Ale nie znaczy to, że są automatycznie lepszymi programistami czy pracownikami! Na pewno mają duży potencjał, ale równie ważne są: ciągła samoedukacja, praktyka w zespole, ludzie od których można się uczyć, pasja. Mając to wszystko, nawet doktor medycyny może być topowym programistą i laureatem Top Codera. Pracowałem z jednym takim chłopakiem i byłem pod wrażeniem jego możliwości, mimo że nie był na formalnych studiach informatycznych. Programowanie było jego hobby – Google i wielu innych rozgarniętych pracodawców szuka właśnie takich pracowników: samodzielnych i zaangażowanych.

Jak oceniasz wpływ naszego instytutu na swoją karierę zawodową?

Po pierwsze są firmy, które patrzą na papierek. W moim przypadku jeden raz było to istotne i nie dostałbym dobrej pracy, gdyby nasz wydział nie był uważany za uczelnię najwyższej klasy. Ale to jest coraz mniej ważne w biznesie. Moim zdaniem z biegiem czasu w IT i w innych dziedzinach będzie to coraz mniej istotne; liczą się umiejętności i osiągnięcia, które ich dowodzą.

Po drugie, studiując na uniwerku trafiłem na seminarium dotyczące user experience. Opis przedmiotu był niejasny, ale z ciekawości przyszedłem na trzecie zajęcia i zostałem oczarowany. Dzięki temu kursowi poznałem praktycznie nieznaną w Polsce dziedzinę, zacząłem się uczyć i próbować różnych technik UX. Przede wszystkim dowiedziałem się wielu rzeczy wcześniej niż inni ludzie pracujący w moim zawodzie w kraju, dołożyłem mnóstwo wysiłku i pierwszej praktyki od siebie, trafiłem na firmę, która szukała kogoś mającego pojęcie o web usability, i odniosłem sukces. Jeśli chcesz wiedzieć, czemu podkreślam to, że dowiedziałem się o tej dziedzinie wcześniej niż inni, to polecam książkę „Outliers” Malcolma Gladwella.

Uniwersytet poszerzył mi horyzonty. Poznałem mnóstwo różnych koncepcji, technik rozwiązywania różnych problemów - tych abstrakcyjnych, matematycznych, i tych trochę mniej abstrakcyjnych, inżynierskich; poznałem wiele różnych systemów, nazw, podejść; usłyszałem różne ciekawe rzeczy od wykładowców czy od innych studentów.

Być wykształconym w jakiejś dziedzinie to dla mnie znaczy tyle, że jesteś w stanie prowadzić rozmowę na jakikolwiek temat z nią związany. Ja na przykład nie znam się w ogóle na administrowaniu bazami danych, ale jeśli porozmawiałbym z administratorem baz danych, to szybko zrozumiałbym, o czym on mówi i jakie problemy rozwiązuje, bo byłem na kursie Bazy Danych i Bazy Danych 2. To były dobre kursy, choć wielu ludzi popukałoby się w czoło, traktując je jako teoretyczne farmazony. Bardzo często w pracy ważniejsze jest szybkie zrozumienie, co jest barierą i jaki charakter ma dany problem, niż konkretna umiejętność rozwiązania tego problemu. Kluczowa jest umiejętność jasnego ujęcia zagadnienia i zakomunikowania go innym. Łatwiej znaleźć specjalistę niż podjąć decyzję o tym, który problem należy zaatakować w pierwszej kolejności.

Kolejny dobry przedmiot to Efektywne Tworzenie Oprogramowania. Nie programowałem dużo, więc to był pierwszy raz, gdy ktoś zobrazował mi nieprzewidywalność procesu tworzenia oprogramowania i jak to jest, gdy wymagania ciągle się zmieniają.

Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Na przykład kursy takie, jak ETO czy interakcja człowiek-komputer, choć też wzmocnione przez moje własne wieloletnie studia i praktykę webmasterską.

Bez zrozumienia podstaw AiSD byłoby mi trudno rozmawiać z programistami, np. o losowym przeszukiwania różnych przestrzeni czy podstawach teorii grafów. Nie jest istotna znajomość detali drzew czerwono-czarnych albo superszybkiego algorytmu haszowania, ale sama koncepcja haszowania? Spotykam się z nią co najmniej raz na tydzień. Gdybym nie wiedział, co to jest indeks w bazie danych, albo jak mniej więcej działają systemy rozproszone, spowalniałbym pracę. Kursy na studiach dały mi te podstawy.

Przydał mi się też kurs pedagogiczny.

W jaki sposób coś takiego Ci się przydaje?

Jak mówiłem, komunikacja jest dużą częścią mojej pracy. Regularnie zbieram wymagania i tłumaczę innym, jak coś działa - czyli zadaję dużo pytań i opowiadam kolegom o tym, czego się dowiedziałem. Nowoczesne firmy i pracownicy opierają się niemal w 100% na ciągłej wymianie wiedzy. Większa część mojej pracy to prowadzenie spotkań, rozmawianie z ludźmi, czy pisanie dokumentów, które będą czytane przez... innych ludzi.

Częścią kursu pedagogicznego są wykłady i ćwiczenia z psychologii, pedagogiki i dydaktyki. W skrócie, uczenie innych ludzi wymaga zrozumienia, tego co Ci ludzie rozumieją, a czego jeszcze nie; słuchania tego, co Ci chcą przekazać oraz ustrukturyzowania swojej wiedzy tak, żeby Twój przekaz dotarł do odbiorcy. To jest ważne także wtedy, gdy mówiąc w obcym języku chcesz kogoś do czegoś przekonać – poziom trudności jest znacznie wyższy niż w przypadku języka ojczystego. Kurs pedagogiczny temu właśnie służy. Wbrew pozorom nie chodzi w nim tylko o to, aby umieć prowadzić lekcje w liceum!

Czego Ci brakuje w wykształceniu, które uzyskałeś u nas?

Brakuje kilku obszarów, które są ważne dla dorosłych pracujących ludzi. Tematy takie jak startupy, biznesplan, marketing, reklama czy zarządzanie. Warto wiedzieć takie rzeczy zanim wejdzie się na rynek pracy na pełny etat i ugrzęźnie tam na wiele lat, kupując mieszkanie na kredyt i żeniąc się czy wychodząc za mąż, a co za tym idzie najczęściej osiedlając w jednym miejscu na bardzo długo. Nawet programista powinien wiedzieć takie rzeczy odpowiednio wcześnie. Później to się składa z umiejętnościami zawodowymi i bardzo szybko zaczynasz rozumieć jak działa biznes. Jedną z wielkich korzyści mojej obecnej pracy jest możliwość podejrzenia różnych obszarów biznesu. Widzę jak wygląda zarządzanie, reklama, negocjacje; jak są podejmowane decyzje o projektach w których pracuje w sumie kilkaset osób.

Gdzie widzisz siebie za 5 lat?

Zimą w ciepłych krajach, latem - obojętnie. Nie wiem, co będę robił za pięć lat. Moje zainteresowania szybko ewoluują. Nigdy nie myślałem o pracy w szczegółach na pięć lat do przodu, to dla mnie strasznie kosmiczna perspektywa. 5 lat temu byłem studentem w Niemczech i dopiero zauważałem, że interesuje mnie znacznie więcej niż tylko tworzenie stron internetowych. 2015? Może neurobiologia, pisanie, architektura albo industrial design?

Wywiad przeprowadzono w lutym 2010.

Tomasz Zieliński - pracownik Microsoftu

1. Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Do niedawna pracowałem przy programowaniu komputerów pokładowych pojazdów komunikacji publicznej. Do moich zadań należało utrzymanie i rozwój oprogramowania embedded bazującego na systemie Windows CE i architekturze ARM. Zajmowałem się m.in. komponentem lokacji, czyli
modułem programowym który na podstawie danych zewnętrznych wyznacza bieżącą pozycję pojazdu. Informacja ta może być użyta np. do zdalnego włączenia zielonego światła dla autobusów albo zmiany strefy w kasownikach biletów. Jako ciekawostkę podam, że podstawowym źródłem
informacji jest tam nie GPS lecz dokładnie skalibrowany odometr, licznik obrotów koła. Rozwijałem też wbudowany w system skryptowy język programowania i tworzyłem narzędzia pomocne w pracy nad różnymi komponentami. Miałem swój udział w programowaniu elektronicznych tablic informacyjnych instalowanych na przystankach. Praca ta dostarczała wielu wyzwań, niektóre problemy (np. występujące tylko na jednej, określonej trasie u klienta po drugiej stronie globu) nie
dawały się odtworzyć w laboratorium. Utrudnieniem były też limity sprzętowe komputerów pokładowych, ograniczona objętość logów i zawodna transmisja danych przez radio analogowe.

Od listopada 2010 pracuję dla Microsoftu przy rozwoju wyszukiwarki Bing, zajmuję się ulepszaniem zaplecza tzw. indeksu superświeżego. Odpowiada on za to, aby w wynikach wyszukiwania promować informacje o wydarzeniach bieżących, np. w roku 2012 przy wyszukiwaniu frazy "Obama" albo "US elections" na pierwsze miejsca trafią strony poświęcone reelekcji Obamy, choć witryny komentujące wybory z roku 2008 mogą być zindeksowane dokładniej i mieć wyższą pozycję w
wewnętrznym rankingu. Dzięki infrastrukturze Binga mam okazję poznać od strony praktycznej metody programowania rozproszonego - obliczenia, które na zwykłym pececie trwałyby rok, klaster dziesięciu tysięcy maszyn może wykonać w godzinę. Po raz pierwszy znajduję się w sytuacji, gdy nie istnieje zewnętrzny klient zamawiający produkt według jasno określonej specyfikacji. Tu spora część wykonywanych zadań wiąże się z eksperymentami i badaniami, których wynik nie jest z góry określony. Jeśli ktoś wpadnie na innowacyjny pomysł i będzie w stanie go wypromować, może dostać budżet i zasoby na kontynuowanie swoich prac.

Oczywiście jestem zadowolony z tego co robię, projektowanie i programowanie to praca, która daje mi prawdziwą przyjemność. Gdyby tak nie było, zacząłbym się rozglądać za nowym projektem.

2. Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Głównie wiedza i sposób myślenia wyniesione z przedmiotów teoretycznych.

Wiele przedmiotów, z logiką na czele, uczy zwięzłego i precyzyjnego formułowania myśli (wykształca też poczucie humoru nierozumiane przez większość społeczeństwa, ale to stosunkowo niegroźny efekt uboczny). Umiejętność ta przydaje się podczas tworzenia dokumentacji, pomaga też w wychwytywaniu luk, niejednoznaczności i sprzeczności w czytanych materiałach .

Wiedza o algorytmach i strukturach danych jest potrzebna praktycznie każdego dnia. Oczywiście nikt dziś nie implementuje sortowania czy innych typowych algorytmów, w powszechnym użyciu są STL czy Boost, jednak nie zastąpią one znajomości tematu. Jeśli projektujemy usługę w której wielki zbiór wartości będzie przeglądany tysiąc razy na sekundę, może lepiej zamiast kontenera set użyć tablicy haszującej? A może mamy do czynienia głównie z zapisami i oczekiwaną wydajność zapewni lista? Jak niewielki rozmiar stosu na urządzeniach embedded wpływa na możliwości sortowania? Jak projektować struktury danych, które będzie można bezpiecznie modyfikować z różnych wątków? Nie bez powodu takie pytania pojawiają się na rozmowach kwalifikacyjnych - można je potem spotkać w codziennej praktyce.

Także języki formalne i złożoność obliczeniowa to przedmiot, który procentuje w nieoczekiwanych momentach. Dawno temu jeden z kolegów zmarnował pół godziny na wymyślanie wyrażenia regularnego, które miało sprawdzać poprawność nawiasowania - nie popełniłby tego błędu gdyby znał problematykę automatów skończonych i języków bezkontekstowych. Temat gramatyk warto też zgłębić, gdy zachodzi potrzeba zdefiniowania własnego języka wyrażeń oraz napisania (lub wygenerowania) parsera czytającego ten język.

Niektóre zajęcia (np. Bazy danych) były bardzo dobrym przygotowaniem do praktyki, były też i takie które z "prawdziwym życiem" nie miały wiele wspólnego - niestety dotyczy to przedmiotów poświęconych inżynierii oprogramowania. Całkiem możliwe, że tego tematu nie da się nauczyć na sucho, potrzebne są prawdziwe harmonogramy, dedlajny, premie i współodpowiedzialność za wyniki zespołu.

Niestety, osoby planujące karierę programisty nie są w stanie doświadczyć w trakcie studiów problemów, z którymi przyjdzie im się zmagać na codzień. Na moim zeszłorocznym kursie "Programowanie dla programistów" starałem się odtworzyć część warunków - każdy student
napisał w tydzień lub dwa prostą grę, następnie umieścił jej źródła w repozytorium kodu i przez resztę semestru poprawiał... cudze produkty. Lepsi studenci zgrzytali zębami widząc nieporadny kod słabszych, słabsi drapali się po głowach próbując zrozumieć kod lepszych. Wszyscy
solidarnie zmagali się z niekompilowalnymi źródłami, efektem nieumiejętnego korzystania z repozytorium. Nie mogłem zasymulować jedynie wgryzania się w zawczasu istniejący projekt z antycznym, zrytym wdłuż i w poprzek nieczytelnym kodem źródłowym (na przykład z niemieckimi komentarzami i nazwami zmiennych po niderlandzku, za to bez dokumentacji użytkownika) - to już zadanie dla etatowych młodszych programistów.

3. Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Chciałbym poznać techniki penetracyjnego testowania zabezpieczeń, wszechobecne sieci komputerowe sprawiają, że temat nie traci na popularności. Mentor znający to zagadnienie byłby dużą pomocą, niestety podczas moich studiów w ofercie nie pojawił się przedmiot poświęcony bezpieczeństwu systemów komputerowych.

Osobiście żałuję, że nie skorzystałem bardziej z lektoratów języka angielskiego. Brak umiejętności płynnego mówienia po angielsku zamyka dziś drogę do najciekawszych ofert pracy. Wbrew pozorom dotyczy to także polskich firm tworzących oprogramowanie na krajowy rynek - od programisty oczekuje się, że w razie problemu z jakimś narzędziem skontaktuje się z anglojęzycznym supportem i uzyska konkretną pomoc.

Jest też oczywiście kilka przedmiotów, w których nie wziąłem udziału z lenistwa i teraz żałuję.

4. Jesteś inteligentnym facetem i pewnie poradziłbyś sobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Wpływ UWr na moją karierę jest kluczowy, kropka. Studia były bardzo wymagające, sam nigdy nie zdołałbym przyswoić tyle wiedzy, by sukcesem przebrnąć przez wielogodzinną, kilkuczęściową rozmowę kwalifikacyjną w Microsofcie. Tymczasem zaś wystarczyło odkurzyć "Wprowadznie do algorytmów" i spędzić kilka długich wieczorów na lekturze, by podejść do rekrutacji z przyjemną refleksją, że wiedza ciągle jeszcze siedzi w głowie.

Studia na Uniwersytecie dają dobrą perspektywę, spojrzenie na to jak wieloma zagadnieniami zajmuje się współczesna informatyka. Nawet, jeśli specjalizuję się w kilku dziedzinach praktycznych, mam
świadomość istnienia pozostałych tematów, w tym zaawansowanej teorii o której nie mam pojęcia. Dobrze chroni to przed pychą, przecenianiem własnych umiejętności. Absolwenci aplikujący do pierwszej pracy skłonni są oceniać swoją znajomość języka programowania na 9/10. Koledzy których spytałem o to samo, świetni specjaliści z wieloletnim doświadczeniem, ociągając się przypisywali sobie 6/10 i to zastrzegając, że w takich czy innych obszarach nie czują się kompetentni.

5. Gdzie widzisz siebie za 5 lat?

Nie mam pojęcia, dotąd zmieniałem pracę co 3-4 lata i zawsze wiązało się to z całkowitą i nieplanowaną zawczasu zmianą branży i technologii. Kilka lat temu z systemów stricte bazodanowych zwróciłem się ku oprogramowaniu embedded, dziś mam do czyniena z przetwarzaniem petabajtów danych w klastrach liczących dziesiątki tysięcy maszyn.Proszę o powtórzenie pytania za 4.5 roku, wtedy mogę mieć już jakieś plany.

Nie sądzę, aby planowanie pięciu lat do przodu miało jakikolwiek sens. Pasjonuję się technologiami mobilnymi, hobbystycznie programuję komórki z Androidem. Android ma dwa lata i trzy miesiące, iPhone trzyi pół roku. Co pięć lat temu mógł powiedzieć pasjonat smartfonów? Że jego najnowszego Palma Treo wyposażono w premierowy system Windows Mobile 5? Dziś nie ma już firmy Palm zaś Windows Mobile można spotkać co najwyżej w parkometrach i nawigacjach GPS.

6. A czy 5 lat temu przeczuwałeś, że będziesz tu, gdzie jesteś?

Pięć lat temu nikt nie sądził, że w Polsce pojawią się centra badawczo-rozwojowe Microsoftu czy Google, kończąc studia nie mogłem więc planować że trafię właśnie do jednego z nich. Od zawsze natomiast chciałem robić interesujące rzeczy i ta strategia do tej pory mnie nie
zawiodła.

wywiad przeprowadzono 2 stycznia 2011.

Marek Popowicz - szef portalu nasza-klasa.pl

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Zajmuję sie http://nasza-klasa.pl. Praca polega na kierowaniu zespołem 35 osób, wyznaczaniem kierunków rozwoju portalu, prowadzeniu negocjacji oraz rozmów z inwestorami.

Jestem z niej niesamowicie zadowolony.

Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Solidne podstawy informatyki.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Dużych baz danych przy dużym obciążeniu :>

Jesteś inteligentnym facetem i pewnie poradziłbyś sobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Uważam, że Uwr był nieocenioną pomocą w moim przypadku. Całe środowisko akademickie jest niesamowicie motywujące. Przebywanie z tak inteligentnymi ludźmi jest czymś bezcennym.
Dodatkowo osoby poznane na moim kierunku są trzonem zespołu tworzącego naszą klasę.

Gdzie widzisz siebie za 5 lat?

W Polsce :D Z wlasnym funduszem Venture Capital.

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Na pewno czułem, że będę zmierzał w stronę własnego interesu. Niekoniecznie w takim wykonaniu :>

Marcin Brodziak - pracownik Google

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Pracuje w Google nad GMailem. W chwili obecnej jestem jednym z kilku ludzi, którzy zajmują się opieką nad nowymi użytkownikami. Tzn. zajmujemy się dostosowywaniem GMaila do osób, które pierwszy raz z niego korzystają - zarówno do osób, które nigdy nie korzystały z poczty elektronicznej jak i do tych, które korzystały, ale w innym wydaniu. W sumie nad GMailem pracują ludzie z kilkunastu krajów, w kilku miejscach na świecie (Mountain View, Zurich, Londyn, Moskwa, Seattle, ...). Wcześniej zajmowałem się po trochu wieloma różnymi elementami interfejsu (chatem, "undo") i lokalizacją.



Co z materiału poznanego na studiach przydaje Ci sie na co dzień?

Programowanie interfejsu użytkownika nie różni się zbytnio od programowania innych części systemu. Poza tym, że trzeba to lubić przydaje się wiedza o algorytmach, strukturach danych, szacowaniu złożoności obliczeniowej, wzorcach, etc. W przypadku JavaScriptu złożoność obliczeniowa jest szczególnie ciekawa - w starszych przeglądarkach garbage collector działa w czasie O(n^2), gdzie n jest rozmiarem kodu+danych+śmieci, co stawia przed programistami dość nietypowe wyzwania.

Nauczyłem się na studiach sporo rzeczy, które wydawały mi się interesujące, choć zupełnie niepraktyczne (np. pojęcie rozstrzygalności) a potem okazały się całkiem życiowe (np. niektóre
kwestie związane z typami zmiennych w JavaScripcie). Nauczyłem się też sporo rzeczy które wydawały mi się praktyczne, a potem okazało się że jednak w praktyce robi się to zupełnie inaczej - ale to już inna historia.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Niezbyt obficie w programie studiów reprezentowana jest statystyka.
Poza "Programowaniem" w zasadzie nie spotykałem się z kompilatorami i ostatnio musiałem o tym sporo doczytać. Wiedza o tym, jak działa kompilator od środka pozwala lepiej zrozumieć, co się dzieję w języku w którym się programuje.

Jesteś inteligentnym facetem i pewnie poradziłbyś sobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Egzaminy (w szczególności poprawkowe) nauczyły mnie walki ze stresem. ;-)
A poważnie - poznałem sporo ciekawych ludzi - z wieloma utrzymuje
kontakt do dzisiaj. Wiele z rzeczy, które bardzo przydają mi się w pracy poznałem dzięki temu, że akurat byłem w dobrym miejscu w dobrym czasie. Akurat ktoś opowiadał w trakcie przerwy na korytarzu o tym, że X to ciekawa technologia, a potem z tą technologią spotkałem się w pracy. Ktoś zadał zagadkę w przerwie wykładu, z ta zagadką spotkałem się na rozmowie kwalifikacyjnej. Takich drobnostek które miały wpływ na to, co robię było mnóstwo. No i na studiach (w trakcie ogłaszania wyników egzaminu z logiki) poznałem Izę, obecnie moją żonę.

Często spotykam się z opinią, że studia w II uczą niepraktycznych rzeczy i widzę pęd do wybierania przedmiotów typu kurs Javy czy C#.
Moim zdaniem to strata czasu. "Praktycznych" rzeczy można nauczyć się w pracy i nikt w poważnej firmie nie będzie miał pretensji jeśli świeżo upieczony programista nie będzie wiedział jak działa np.
refleksja w Javie. Jeśli jednak nie rozumiesz czym jest graf, spójna składowa, most, algorytm Dijkstry... no to powodzenia w tworzeniu serwisu z mapami lub aplikacji "web2.0" gdzie grafy różnej maści są
podstawowymi strukturami danych.

Gdzie widzisz siebie za 5 lat?

Trudno powiedzieć. Jest szansa, że będę nadal pracował w Google, być może nad GMailem być może w innym projekcie. Ale równie dobrze widzę siebie zajmującego się czymś zupełnie innym, w innej firmie, może nawet nie związanej z informatyką. Z wszystkich pytań w tej ankiecie to wydaje mi sie najtrudniejsze - naprawdę nie wiem, jak na nie odpowiedzieć.

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Nie. Pięć lat temu wiedziałem, że chciałbym robić fajne rzeczy, ale nie do końca miałem jasny tego obraz. Może coś bliżej nauki, może user experience research, może tworzenie aplikacji webowych, może data mining, może sztuczna inteligencja, może analiza zdjęć, może grafika 3d... wszystkim tym zajmowałem się krócej lub dłużej w trakcie studiów. Tak się złożyło, że wiosną '06 wysłałem swoje CV do paru firm w dolinie krzemowej (z marzeniami, ale bez wielkich nadziei), w Google akurat się spodobałem i tak zostało.

Jacek Śliwerski - pracownik Acxiom

acek Śliwerski - pracownik Acxiom (http://www.acxiom.com), absolwent UWr i IMPRS (http://www.imprs-cs.de).

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Jestem odpowiedzialny za całość prac implementacyjnych prowadzonych przez nasz trzyosobowy zespół dla Hyundai Motor America. Zarządzamy bazą danych ich klientów: analizujemy, czyścimy i scalamy dane osobowe milionów Amerykanów pochodzące z wielu różnych źródeł i wspomagamy realizację kampanii marketingowych. Oprócz programowania, debugowania i dokumentowania, zajmuję się wyceną pracochłonności wymagań. Wcześniej, w niemieckim oddziale Comarch, byłem, między innymi, kierownikiem zespołu realizującego projekt badawczy finansowany z grantu unijnego we współpracy z Uniwersytetem Technicznym w Dreźnie.

Co z materiału poznanego na studiach przydaje Ci sie na co dzień?

Trening umysłowy, jaki zafundowano mi na studiach, przydaje się
codziennie, nie tylko w pracy. Uważam, że praktyki nie można się
nauczyć na wykładzie - można ją tylko nabyć na drodze ciężkiej pracy.
Natomiast wiedzę teoretyczną trudno jest przyswoić bez odrobiny przymusu i pomocy osoby, która rozumie zagadnienie. Kierując się tą właśnie zasadą (oraz systemem punktowym, który promował wybór trudnych zajęć), zapisywałem się prawie wyłącznie na przedmioty zaawansowane.

W pracy najbardziej chyba przydają się mordercze doświadczenia z pisania
kompilatorów: najpierw na drugim semestrze studiów, a potem w ramach
zaawansowanego kursu.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Szkoda, że mój rocznik nie był zmuszony do zaliczenia zajęć
nieinformatycznych.

Jesteś inteligentnym facetem i pewnie poradziłbyś sobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Od Uniwersytetu zaczęło się wszystko. Dzięki zajęciom z Systemów
Operacyjnych, w ramach których tworzyłem kompilator dla systemu Argante, dostałem moją pierwszą pracę. Dzięki prof. Charatonikowi wyjechałem na stypendium do Saarbrücken i skończyłem tam studia.

Aby otrzymać stypendium IMPRS, musiałem uzyskać rekomendację dwóch profesorów tamtejszej uczelni. Jeden z nich zaprosił mnie na osobistą rozmowę i spytał o najtrudniejszy przedmiot, jaki musiałem zaliczyć.
Odpowiedziałem, że przedmiotem tym była Złożoność Obliczeniowa.
Profesor poprosił mnie o udowodnienie twierdzenia Turinga i zdziwił się niezmiernie, gdy (po przeprowadzeniu dowodu) poinformowałem go, że tak prostymi zagadnieniami nie zajmowaliśmy się na tym wykładzie. Po przedstawieniu definicji alternującej maszyny Turinga usłyszałem "wystarczy" i otrzymałem rekomendację. W ten sposób wiedza uzyskana na bodajże najbardziej teoretycznych przedmiotach stała się dla mnie przepustką do dyplomu jednej z najbardziej prestiżowych instytucji naukowych na świecie.

Gdzie widzisz siebie za 5 lat?

Byle już nie na Pradze ;)

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Oczywiście. Pięć lat temu wiedziałem już, że to trudne studia i jeśli
je przebrnę, to dalej będzie już z górki.

Michał Moskal - pracownik Microsoft Research

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Przez ostatnie pół roku byłem na stażu w Microsoft Research w Redmond.Zajmowałem się narzędziem do formalnej weryfikacji kodu w języku C. Projekt nazywa się (bardzo oryginalnie) Microsoft Verifying C Compiler (VCC). Jednym (w tej chwili głównym) z celów projektu jest weryfikacja Hypervisora. Hypervisor to platforma wirtualizacji pozwalająca na uruchamianie kilku systemów operacyjnych na jednej maszynie. Tak naprawdę jest to mały system operacyjny. Chcemy udowodnić formalnie, że się nie wiesza (bezpieczeństwo pamięci itd.), że systemy w nim uruchomione nie widzą się nawzajem i że symulowany sprzęt zachowuje się jak rzeczywisty. Może być to o tyle kłopotliwe, że nikt tego jeszcze nigdy nie robił dla prawdziwego systemu operacyjnego. Standardowe podejście do weryfikacji tak skomplikowanych właściwości to zmuszanie doktorantów do przeprowadzania dowodów z użyciem interaktywnych systemów dowodzenia. Niestety doktoranci nie skalują się do 100 000 linii kodu, co jest jednym z powodów dla których stawiamy na narzędzia automatyczne.

Ogólnie projekt wygląda ciekawie, choć trochę samobójczo, ale ja bardzo lubię wyzwania. Dlatego też od stycznia zaczynam pracę w European Microsoft Innovation Center w Aachen, w Niemczech (projekt jest robiony przez Microsoft Research we współpracy z EMIC i Uniwersytetem w Saarbrucken (doktoranci wciąż są potrzebni)) by dalej nad nim pracować.

Z powyższego raczej widać, że jestem z pracy zadowolony.

Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Logika, Programowanie, Algorytmy, Przepisywanie Termów, System Automatycznego Dowodzenia Twierdzeń. Ogólnie wszystkie najbardziej teoretyczne, ,,zupełnie nieprzydatne'' przedmioty ;-)

Ale tak naprawdę to IMHO chodzi bardziej o ogólne obycie w informatyce (i chodzi mi o tą informatykę, która z komputerami ma tyle wspólnego co astronomia z teleskopami, żeby zacytować Dijkstrę) i ćwiczenia intelektualne.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

A skąd mam wiedzieć, skoro się tego nie nauczyłem? ;-)

Aaaa... wiem. Angielskiego. Poważnie. Wymowy.

Jesteś inteligentnym facetem i pewnie poradziłbyś zobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Moje zdanie o rzeczach które są ciekawe mocno ewoluowało i II miał na to na pewno duży wpływ. W podstawówce szczyt techniki to mała gierka w AMOSie (taki Basic na Amigę), potem może programowanie okienek w assemblerze m68k (zupełnie nie pamiętam co ten program robił). Jakoś tak w liceum, pisanie prostych gier 3D w C było cool.

Gdzieś pod koniec liceum wydawało mi się, że jakiś unixowy shell, klient/serwer do szyfrowanego przesyłania plików czy mała wirtualna maszyna to coś niesamowicie zaawansowanego. Jakoś tak między liceum a studiami zajmowanie się instalatorem dystrybucji Linuxa czy rozproszonym systemem budowania pakietów było ciekawe.

Potem ciekawe było napisanie kompilatora, który sam by się kompilował i miałby ficzery w rodzaju polimorfizmu parametrycznego (tutaj już wyraźnie widać wpływ Uniwersytetu: piszę używając takich brzydkich słów...) czy wartości funkcyjnych. Swoją drogą prawdziwie transcendentalne przeżycie: twój kompilator się kompiluje raz i potem to co wyszło kompiluje się drugi raz i wychodzi to samo.

Pod koniec studiów ciekawe było samo projektowanie języka programowania (Nemerle), wymyślanie algorytmu rekonstrukcji typów, formalizowanie go (dwie strony matematycznych krzaczków, których nikt nie rozumie).

Oczywiście i to również się skończyło, w pewnym sensie. Programowanie automatycznego dowodzenia twierdzeń (pierwszy rok mojego doktoratu) to coś co wciąż wydaje mi się ciekawe, ale tak naprawdę to czym się teraz zajmuje, tj. używanie tych systemów jest chyba ciekawsze.

Bez Uniwersytetu zostałbym gdzieś na tych instalatorach.

Swoją drogą, jeśli zadzwoni do Ciebie kiedyś rekruterka z małej firmy z krzemowej doliny, po której widać, że ma potencjał (jak VMware parę lat temu) i chce, żebyś dla nich robił właśnie jakieś takie instalatory, to wtedy jest ten moment kiedy decydujesz czy chcesz robić coś ciekawego czy chcesz być bogaty. Gdy mówiłem owej rekruterce, że nie jestem zainteresowany, nie wiedziałem, że za kilka lat VMware wejdzie na giełdę i akcje po pierwszym dniu skoczą o 150%, ale chyba miałem takie przeczucia. Mimo wszystko jestem bardzo zadowolony z nie-bycia opalonym milionerem w Palo Alto i za to z robienia czegoś ciekawego, za trochę mniej pieniędzy (pewnie dlatego, że to ,,trochę mniej'' to wciąż sporo).

Tak, uniwerek skrzywia ludzi. Bardzo go za to lubię.

Gdzie widzisz siebie za 5 lat?

Ha, dobre pytanie. Nie mam pojęcia. Myślę, że Gdzieś Indziej, niezależnie od aktualnego miejsca pobytu. Gdy jestem gdzieś dłużej niż dwa miesiące, i widzę przelatujący samolot, chcę być w środku.

Nie wiem, może jakiś startup, bio-informatyka, jakiś inny ,,The Next Big Thing''.

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Ja? W Microsofcie?! Nie ma mowy. Ale jakoś tak wyszło, że to TO miejsce na świecie, jeśli chodzi o weryfikację. Poza tym, w przeciwieństwie do kolegów z Google, mogę mówić czym się zajmuję.

Kamil Skalski - pracownik Google

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Moja praca polega na opracowywaniu i implementacji ulepszeń dotyczących wydajności i jakości jednego z większych systemów używanych wewnątrz Google. Na co dzień używam i tworzę narzędzia przetwarzające ogromne ilości danych, co stanowi spore wyzwanie.
Jestem zadowolony, bo problemy, które rozwiązuję, choć są trudne,
pozwalają mi być kreatywnym i mają ogromny impakt na użytkowników. I pracuję ze wspaniałymi ludźmi.

Co z materiału poznanego na studiach przydaje Ci sie na co dzień?

Są to przede wszystkim zagadnienia związane z językami i technikami programowania, o których głęboką wiedzę zdobyłem na studiach (zarówno na przedmiotach, jak i podczas udziału w projektach prowadzonych przez innych studentów).
W firmie, gdzie wszystko opiera się o użycie tysięcy maszyn, wiedza na temat technik i algorytmów rozproszonych zdecydowanie pomaga poczuć się bardziej swojsko.
Często też korzystam z wiedzy na temat konkretnych algorytmów i struktur danych, gdyż są one powszechnie stosowane w kodzie, nad którym pracuję.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Idąc na studia chciałem nauczyć się więcej o sztucznej inteligencji i
programowaniu gier. Wydaje mi się, że pod tym względem oferta dydaktyczna w okresie moich studiów nie była dobra, choć być może nie wybierałem odpowiednich przedmiotów.
Myślę też, że przydałyby mi się lepsze podstawy z algorytmicznej strony sieci komputerowych - zasada działania TCP, problemy związane z routowaniem, itp. (Sieci komputerowe za mojej kadencji to był śmiech).

Jesteś inteligentnym facetem i pewnie poradziłbyś zobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Myślę, że przede wszystkim studia poszerzyły moje horyzonty i ogólne spojrzenie na informatykę i rozwiązywanie problemów technicznych.
Poznałem teorie, pomysły i problemy, o których nie miałem pojęcia i myślę, że w "innym życiu" nigdy bym nie spotkał, a co za tym idzie miałbym mniej narzędzi do rozwiązywania tych moich. Bardzo istotne też jest przebywanie w towarzystwie ludzi, którzy mają lepsze (lub po prostu inne) pomysły niż ja oraz więcej zapału do realizacji ciekawych przedsięwzięć. A tacy zawsze się na dobrych studiach znajdą.

Gdzie widzisz siebie za 5 lat?

Coż... Google jest świetnym miejscem do pracy, więc raczej tam. Nie
wykluczam jednak, że zajmę się oprogramowaniem np. statków kosmicznych, albo realizacją jakiegoś świetnego pomysłu na nową firmę.

A czy 5 lat temu przeczuwałeś, że będziesz tu gdzie jesteś?

Wiedziałem, że będę pracował nad czymś ciekawym i spodziewałem się, że będzie to w Polsce. Nie sądziłem, że będę w tak dużej i popularnej firmie.

Szymon Stoma - pracownik INRIA, Paris-Rocquencourt.

Na czym polega Twoja praca i czy jesteś z niej zadowolony?

Zajmuję się szeroko pojętym modelowaniem procesów biologicznych jak również tworzeniem narzędzi informatycznych wspomagających tego typu pracę. Zaczynałem od różnych procesów związanych z morfogenezą (sposobem powstawania "kształtu" organizmów), pracowałem w obrębie Biologii Systemów (traktowanie sieci genetycznych jako dobrze zdefiniowanych układów i aplikowanie metod znanych z klasycznej analizy systemów w celu poznania ich właściwości). Obecnie realizuję własny projekt: stworzenie metodologii i narzędzi ułatwiających symulacje przestrzenne obiektów mikrobiologicznych przy wykorzystaniu mikroskopii (np. konfokalnej). Interesują mnie również automatyczne systemy weryfikacji sieci genetycznych i ich modeli (na razie nie istnieją ;] ). Pracuję na uniwersytecie (Humbold University Berlin), mam jednak nadal sporo wspólnego z INRIA (miejsce w którym pisałem doktorat, Francja) i Uniwersytetem w Heidelbergu.

Co z materiału poznanego na studiach przydaje Ci się na co dzień?

Myślę, że najbardziej korzystam z ogólnych wiadomości o informatyce teoretycznej. Dzięki temu nie muszę się wstydzić rozmawiając z innymi ludźmi, że nie wiem co to jest problem NP-zupełny, na czym polega hashowanie, etc. Wbrew pozorom, zrozumienie istoty podstawowych zagadnień pozwala na partnerską dyskusję, która przekłada się na komfort pracy i zaufanie innych członków zespołu. Całej reszty bardzo szczegółowych rzeczy zazwyczaj można się nauczyć mając ku temu odpowiednią motywację. Za szczególnie dobrze realizowane przedmioty uważam: JFiZO, Programowanie, Programowanie Logiczne.

Czego żałujesz, że się nie nauczyłeś na naszych studiach?

Matematyki. W moim odczuciu była ona albo za łatwa (e.g. Analiza matematyczna, Algebra) albo kosmicznie trudna, prowadzona bez żadnego wstępu (Kombinatoryka, Modelowanie procesów biologicznych). Cechuje ją elitarność tzn. najlepsi sobie poradzą (bo poradziliby sobie i tak, nawet bez takiego przedmiotu) a najgorsi jakoś się przeczołgają. Inaczej jest na e.g. Programowaniu, na którym wymagania są bardzo duże, ale przy solidnej pracy dzięki dostarczanym materiałom i systematycznemu wykładowi, można sobie poradzić. To na tyle moich szczególnych braków.
W bardziej ogólnym przypadku uważam, że brakuje nam w miarę aktualnego programu i specjalności z dziedzin które się rozwijają. Np. obecnie programowanie równoległe, rozproszone (wiem, że są takie przedmioty, ale są one zbyt oddalone od obecnego stanu rzeczy), programowanie kart graficznych, bioinformatyka, etc. Proszę mnie źle nie zrozumieć. Dla przykładu programowanie kart graficznych: uważam że nie chodzi o to, żeby koniecznie uczyć CUDA (chociaż powinna być taka możliwość), ale programowanie kart graficznych ma bardzo istotne konsekwencje teoretyczne np. dla algorytmów (z powodu specyfiki dostępu do pamięci). O tego typu problemach można zrobić bardzo ciekawy przedmiot, który będzie aktualny nawet wtedy gdy CUDA przejdzie już do historii...
Poza tym, żałuję że nikt mi wcześniej nie zburzył obrazu informatyki jako nauki albo teoretycznej albo polegającej na programowaniu aplikacji dla biznesu. Wynika to trochę z faktu, że w Polsce mało jest firm mających R&D z prawdziwego zdarzenia. Wydaje mi się, że student powinien być ciągle informowany, że jeżeli pójdzie w jakąś ciekawa stronę (będzie w tym konsekwentny oraz będzie miał odrobinę szczęścia) to... spotka go sukces! Nawet jak nie będzie się znał na bazach danych, programowaniu WWW, czy innych potencjalnie "kluczowych" technologiach a np. profesjonalnie zajmie się programowaniem shaderów, algorytmami genetycznymi, maszynami wirtualnymi czy czymkolwiek innym. Wydaje mi się, że jako studenci jesteśmy zbyt spięci i zatroskani rzeczywistością. To odróżnia nas od miejsc takich jak MIT, Dolina Krzemowa, etc. Jeżeli udałoby się nam zmienić to podejście, ośmielić młodych ludzi, zmotywować ich do kretywności i usunąć lęki, moim zdaniem obserwowalibyśmy wysyp udanych projektów w stylu Nemerle czy NK.

Jesteś inteligentnym facetem i pewnie poradziłbyś zobie w życiu niezależnie od tego jaką uczelnie byś skończył, ale jak oceniasz wpływ Uniwersytetu na Twoją karierę?

Spory. Po pierwsze II jest "uczciwe". W niczym nie przypomina sławnych i negatywnych przypadków patologii polskich uczelni. Kadra szanuje studentów, traktuje ich jak partnerów (co jest 100% standardem na zachodzie, ale niekoniecznie w Polsce...). Dało mi to wiarę w szeroko pojętą uczciwość (a w zasadzie mi tej wiary nie odebrało ;) ). Poza tym wysokie wymagania i poziom niektórych przedmiotów daje mi sporo pewności siebie w kontaktach z innymi naukowcami (często z kultowych uczelni typu MIT, Cambridge, Yale, etc.) - po prostu wiem, że uczono mnie rzeczy na poziomie tych uniwersytetów i nie powinna mnie spotkać przykra niespodzianka w postaci przykrej kompromitacji czy kompletnego nienadążania.
Po drugie: ludzie. Przez 5 lat studiów miałem możliwość poznać wielu zdolnych, mądrych ludzi, często dużo inteligentniejszych ode mnie. Nie muszę mówić, że sytuacja ta jest bardzo stymulująca, uczy pokory i wspiera "autorozwój".
W tym miejscu mam następną uwagę: moim zdaniem na II brakuje integracji. Tzn. nie bez powodu najlepsze uczelnie stawiają na sport, kampus, mieszkanie w kappa-delta-gamma domku, bycie członkiem elitarnego klubu (i inne śmieszne z pozoru aktywności). To buduje relacje miedzy ludzkie, co dla informatyków jest moim zdaniem szczególnie ważne, gdyż sami radzimy sobie przeciętnie (tak, jesteśmy specyficznym środowiskiem... ;) ). Te relacje są właśnie kluczowe do powstawania ciekawych projektów, startupów, kiełkowania nowych pomysłów (proszę zobaczyć od czego zaczęły się wspomniane już wcześniej projekty Nemerle czy NK). Wydaje mi się, że II powinien dostarczać więcej możliwości "team buildingu", w szczególności dla tego że nie występuje tu koncept "roku", bądź nawet "grupy" w obrębie której się studiuje. Wydaje mi się, że powinno się promować pracę w grupach, zarówno przy projektach jak i w przypadku przedmiotów teoretycznych, promować bardziej zadaniowy system rozliczania studentów. Dodatkowo brakuje grup roboczych, agregujących ludzi o podobnych zainteresowaniach i stymulujących do pracy (e.g. techniki internetowe, kryptografia, gry komputerowe, etc.).

Gdzie widzisz siebie za 5 lat?

Gdzieś na styku uniwersytetu i przemysłu. Obecnie jestem w trakcie finalizowania startupu technologicznego. Nie będzie to typowy model startupu: rzuć wszystko co robisz, pracuj 20hx7x365 przez 5 lat i przejmij kontrole nad światem ;) Będę się starał nadal pracować na uczelni, jednak chciałbym komercjalizować część dobrych pomysłów szczególnie jeśli chodzi o oprogramowanie bioinformatyczne. Jego tworzenie na uczelni jest koszmarem, nie ma ku temu odpowiednich środków (finansowych i ludzkich), etc. Chcąc uniknąć frustracji z tym związanych, zdecydowałem się spróbować wykorzystać to co najlepsze w komercyjnej działalności (planowanie, zarządzanie, profesjonalne podejście do projektu) do wspierania moich naukowych zainteresowań. Jeżeli projekt mi się uda będzie to najwolniejszy i najdziwniejszy startup o jakim słyszałem ;)

A czy 5 lat temu przeczuwałeś, że będziesz tu, gdzie jesteś?
Nie, oczywiście że nie. Mogę tylko powiedzieć, że staram się żeby do miejsca do którego zmierzam (bo proces ten trwa nieustannie i nie wiadomo dokąd tak na prawdę prowadzi), podążać za pasją, śmiałością i zadowoleniem z codziennego życia. Myślę, że dzięki temu jestem przygotowany na negatywne i pozytywne niespodzianki, które bez wątpienia czekają mnie w przyszłości ;p

Wywiad przeprowadzono
w styczniu 2011