Uwaga! Jesteś / byłeś MVP?

Chciałbyś dodać lub zmienić
dane na swój temat? Użyj
formularza kontaktowego

Wiktor Zychla

Wiktor
Zychla

Jestem absolwentem matematyki Uniwersytetu Śląskiego. Moje obecne zainteresowania obracają się dookoła języków programowania, w ujęciu teoretycznym i praktycznym. W moim przekonaniu .NET jest technologią, którą warto się zainteresować. Publikuję więc artykuły i uczestniczę w życiu grup dyskusyjnych. Napisałem jedną z pierwszych polskich książek o .NET.

Nominacje

2005-07 - 2010-07 (Visual C#)


1. Od kiedy interesujesz się technologią Microsoft .NET i co Cię do niej przekonało?

Programowaniem jako sposobem zarabiania na życie zajmuję się od 1999 roku. Z punktu widzenia projektanta aplikacji rzeczywistość wyglądała wtedy zupełnie inaczej, przede wszystkim dlatego, że nie było jeszcze platformy .NET.
Ponieważ zwykle podchodzę do rzeczywistości dość konserwatywnie, zawsze uważałem, że tam gdzie trzeba było wybrać między narzędziami programistycznymi Microsoftu, a rozwiązaniami firm trzecich, bezpieczniej jest trzymać się tych pierwszych, ponieważ zwykle są bliżej architektury samego systemu operacyjnego. Inna trudność polegała na dużej odległości jaka dzieliła technologie rozwijania aplikacji okienkowych i aplikacji internetowych. W praktyce zwykle należało się specjalizować w jednej z tych linii technologicznych, ponieważ ogarnięcie całości było niemal niemożliwe. Skądinąd również czuło się, że języki programowania i technologie rozwijają się poza Microsoftem jakoś tak jakby szybciej. Gdzieś w okolicach 2001 roku, prawdopodobnie na jakiejś konferencji technologicznej, usłyszałem po raz pierwszy, że Microsoft pracuje nad zupełnie nową jakością w zakresie technologii wytwarzania oprogramowania. Z niecierpliwością wypatrywałem każdej możliwej informacji i gdy okazało się, że nowe rozwiązanie z jednej strony będzie oparte o wcześniejsze doświadczenia z językami zarządzanymi, z drugiej – ma oferować mocno ujednoliconą obiektową bibliotekę standardową oraz spójny zestaw narzędzi i technologii do budowy różnego typu aplikacji, byłem niemal pewien, że to właściwy kierunek dla moich przyszłych projektów.
Premiera pierwszej wersji Visual Studio .NET i środowiska uruchomieniowego zbiegła się ze strategiczną decyzją o wyborze technologii dla projektu, który właśnie miał się rozpocząć. Przyznam, że o ile dziś, biorąc pod uwagę ugruntowanie technologii, taką decyzję podjąć byłoby dużo łatwiej, o tyle wtedy mimo wszystko decyzja była obarczona pewnym ryzykiem. W sieci platforma .NET była naonczas praktycznie nieobecna i poza oficjalną dokumentacją Microsoftu nie było ani portali społecznościowych, ani blogów, ani grup dyskusyjnych, ani nawet specjalistów, do których można było zwrócić się o pomoc. Byliśmy więc zdani w dużym stopniu na siebie i na własną dociekliwość, co z resztą wyszło nam na zdrowie, ponieważ zmuszało do pochylenia się nad niuansami, nad którymi dziś być może przechodziłbym do porządku dziennego.
Z perspektywy wielu kolejnych projektów, które również powstawały w oparciu o technologię .NET mogę powiedzieć, że wybór był jak najbardziej trafny. Z czasem ten pogląd się we mnie ugruntowuje, szczególnie teraz, kiedy ostatnia wersja platformy po raz pierwszy tak wyraźnie odskoczyła od konkurencji. Ponieważ bardzo mocno interesuję się fundamentami teoretycznymi, które prowadzą do takich a nie innych rozwiązań, z wielkim zainteresowaniem przyglądam się na przykład niuansom środowiska uruchomieniowego i języka pośredniego, czy nowym konstrukcjom składniowym na poziomie języków wysokiego poziomu.
I jako osoba dość dobrze zorientowana, za każdym razem oceniam to co widzę bardzo, bardzo wysoko.

2. Jak zostałeś MVP?

To dobre pytanie. Mogę się tylko domyślać, że po prostu moja aktywność społecznościowa została zauważona i oceniona jako wyróżniająca się na tyle, że warta była przyznania tytułu MVP.

3. Czym zajmuje się MVP w Polsce?

Odpowiadając na to pytanie, chciałbym powiedzieć po prostu czym ja się zajmuję i co jak sądzę pozwoliło mi znaleźć się w gronie wyróżnionych. Otóż od niemal pierwszej chwili od której mam styczność z platformą .NET, staram się poznawać ją aktywnie i swoimi doświadczeniami dzielić się ze społecznością. Ponieważ równocześnie z pracą architekta, jestem nauczycielem akademickim, wydaje mi się, że wiem jak trafiać do ludzi, jak z nimi rozmawiać. Staram się nie tylko w miarę regularnie publikować artykuły problemowe na portalach dla developerów, ale również, a może przede wszystkim, aktywnie uczestniczyć w życiu społeczności grup dyskusyjnych. Od jakiegoś czasu prowadzę też własnego bloga, gdzie dzielę się swoimi doświadczeniami w zakresie czy to specyficznych technologii, czy to dobrych praktyk programowania.

4. Co sądzisz o programie MVP w Polsce?

Generalnie na temat programu MVP mam zdanie bardzo pozytywne. Uważam, że wskazanie wybranych osób jako uznanych ekspertów jest takim sygnałem dla całej społeczności, że oto ta osoba jest kompetentna i godna zaufania. Jest mi bardzo miło, gdy przypadkiem zaglądam w miejsca, w których nie udzielam się sam, ale zauważam tam aktywność swoich szanownych Koleżanek i Kolegów MVP.

5. Jak zachęciłbyś innych do tego, aby starać się o MVP?

Podstawowa wartość jaką daje nominacja MVP to poczucie uznania własnej wartości przez niezależne i obiektywne grono oceniające kandydatury. To uznanie wartości to coś więcej niż taki czy inny certyfikat – certyfikat poświadcza bowiem wyłącznie czyjąś kompetencję, natomiast nominacja MVP poświadcza nie tylko kompetencję, ale otwartość, komunikatywność i tę szczyptę pasji, która jest tak ważna w tym czym się zajmujemy.

6. Jakich technologii używasz w pracy?

Niech to nie zabrzmi dziwnie, ale jako architekt w istocie używam prawie wyłącznie technologii microsoftowych. Aplikacje desktopowe rozwijam głównie przy użyciu Windows.Forms, serwerem aplikacji, którego używam jest IIS z ASP.NET. Trochę inaczej jest w przypadku baz danych – o ile zwykle pracuję z Microsoft SQL Server, to nauczyłem się już budować programy tak, żeby dawały sobie radę z dowolnym relacyjnym źródłem danych. Okazuje się bowiem, że często klienci o ile nie mają oporów przed wskazaniem dedykowanego serwera aplikacji, o tyle sami lubią wskazać ten czy inny tamten system baz danych, zwłaszcza wtedy gdy podsystem który dostarczam jest częścią większego, heterogenicznego systemu, zbudowanego w oparciu o wiele różnych technologii i platform sprzętowo-programowych.

7. Którą technologię uważasz za technologię przyszłości i jak widzisz kierunek rozwoju technologii?

To bardzo interesujące pytanie. Zacznę może od tego, że nie uważam technologii za decydującą o przyszłości programowania – znacznie więcej mają tu do powiedzenia metodologie programowania, czy ogólniej, rozwój inżynierii oprogramowania w zakresie wypracowywania wzorców projektowych, aplikacyjnych czy integracyjnych. W przypadku technologii .NET jest to o tyle ciekawe, że choć sama platforma jest mocno obiektowa, to przez długi czas promowała takie trochę „nieobiektowe” podejście do architektury aplikacji. Myślę tu o wzorcu DataSet i implikacjach jakie niesie za sobą architektura aplikacji z jednej strony oparta o język obiektowy, z drugiej – o nieobiektową strukturę danych.
Ponieważ zawsze mocno trzymałem kciuki za metodologie obiektowe, niemal od początku myślałem o rozwijaniu aplikacji w sposób obiektowy, również w warstwie struktur danych czy wzorców dostępu do danych. Myślę tu konkretnie o wzorcu mapowania obiektowo-relacyjnego, który co prawda wnosi dodatkowe odpowiedzialności do aplikacji, ale jak podpowiada inżynieria oprogramowania - w dłuższej perspektywie rozwoju i konserwacji architektury spłaca się z nawiązką. Kwestią czasu było tylko kiedy jakiś dojrzały pomysł zgodny z tym wzorcem zaproponuje Microsoft, ale to co pokazano w ostatniej wersji środowiska, LINQ, czyli pomysł na język zapytań obiektowych, które byłyby wyrażeniami języka programowania, a nie literalnymi reprezentacjami struktur obiektowych, uważam za jeden z najważniejszych przełomów jaki dokonał się w tym temacie od wielu lat. Co prawda kwestią pewnego czasu jest pojawienie się uniwersalnych dostawców danych dla LINQ dla różnych trwałych źródeł danych, ale – jako pomysł – uważam to za krok determinujący nasz sposób myślenia na wiele najbliższych lat.
Dużo również dzieje się w zakresie ram do rozwijania aplikacji internetowych. Z jednej strony istnieje ASP.NET w takim kształcie w jakim go znamy. Skądinąd rozwijają się ramy oparte o wzorzec MVC, w których co prawda sposób konstrukcji aplikacji znacząco różni się od tego, do którego przyzwyczaił nas klasyczny ASP.NET, z drugiej separacja odpowiedzialności warstw aplikacji umożliwia znacznie łatwiejsze i staranniejsze ich testowanie. Już wiemy, że Microsoft zapowiedział własną implementację MVC dla ASP.NET i z jednej strony trzymam kciuki, z drugiej – jestem ciekaw jak duże zainteresowanie wzbudzi, gdy już się pojawi. Jeszcze inny wart zauważenia kierunek rozwoju technologii aplikacji internetowych, to rozliczne mutacje ram opartych o AJAX, czy raczej AJAJ, bo XML został wyparty z warstwy komunikacji przez standard JSON. Tu z jednej strony burzliwie rozwijają się różne biblioteki komponentów, z drugiej strony technologie wspierające komunikację z serwerami aplikacji, z trzeciej jest GWT, który pokazuje że można do problemu podejść całkowicie od innej strony, z czwartej – jest pomysł na tzw. „server-side” AJAX, gdzie przeglądarka renderuje obraz aplikacji, której stan zapamiętany jest trwale na serwerze aplikacji. Zwłaszcza ten ostatni kierunek może w krótkim czasie mocno zmienić nasze myślenie o technologiach aplikacji internetowych, bowiem pozwala na budowanie aplikacji znacznie bezpieczniejszych niż te które znamy. Skoro serwer aplikacji trwale pamięta stan widoku, to żadne ataki typu cross-side scripting czy bardzo, bardzo poważny cross-site request forgery, nie są praktycznie możliwe. Jedynym zagrożeniem dla rozwoju tych technologii jest jedynie skupianie się ich na wydzielonych aspektach architektury aplikacji. Obawiam się, że jeszcze wiele czasu upłynie zanim ktoś nie wymyśli takiej ramy, w której architektura przetwarzania strony byłaby oparta o MVC, sposób budowy logiki warstwy klienckiej przypominałby GWT, a całość pracowałaby w oparciu o paradygmat „server-side AJAX”. Do tego czasu architekci będą zdani na własną intuicję i staranne analizowanie wymagań aplikacji tak, by wybrać którąś z możliwych ram na tyle rozważnie, aby nie żałować swojego wyboru w którymś momencie życia aplikacji.

8. Czy wyobrażasz sobie życie bez komputera?

Tak, jedyne czego sobie nie wyobrażam to życie bez ludzi, którzy mnie otaczają.

9. Co robisz w wolnym czasie?

Wolny czas? Ach, rzeczywiście, jest coś takiego, gdzieś kiedyś coś słyszałem! A mówiąc poważnie – staram się jak najwięcej czasu spędzać z rodziną, żoną i dwiema córeczkami. Patrząc jak szybko rosną naprawdę czuję ulotność tego wszystkiego co nas otacza.

10. Jaką masz ulubioną książkę?

Czytam naprawdę dużo, głównie polską fantastykę. Nie pogardzę dobrą książką obyczajową czy sensacyjną, ale w fantastyce rozczytuję się od wielu lat. Jak wielu przeżyłem okres fascynacji Sapkowskim, bardzo lubię też jego ostatnią trylogię historyczną. Ostatnio sięgam też po książki młodych.
Zdecydowanie, zdecydowanie jednak moim ulubionym autorem jest od dłuższego czasu Jacek Dukaj. Już jego pierwsze książki i opowiadania robiły na mnie dobre wrażenie, z późniejszych przyznam że podobały mi się też „Czarne oceany”.
Ale najpierw wstrząsnęły mną „Inne pieśni”, doskonałe w warstwie językowej tak dalece, że wracam do tej książki regularnie co kilka miesięcy. Potem moją wyobraźnię przewróciła do góry nogami „Perfekcyjna niedoskonałość”, którą uważam za absolutnie najlepszą książkę jaką w życiu miałem przyjemność przeczytać. Polecam ją zwłaszcza pasjonatom technologii, ponieważ to być może tam tak naprawdę kryje się odpowiedź na postawione gdzieś wyżej pytanie o kierunek rozwoju technologii.
Aktualnie jestem w trakcie lektury „Lodu”, ostatniej książki Dukaja. To opasłe, ponad tysiącstronicowe tomisko dopiero napocząłem, ale już widzę że się nie zawiodę. Ciekawe, czy po przeczytaniu całości uznam ją za jeszcze lepszą niż „Perfekcyjną niedoskonałość”?

11. Jakie masz hobby?

Od lat niezmienne pasjonuję się dokonaniami firmy Nintendo na polu cyfrowej rozrywki. Fascynuje mnie ich niezależność, kreatywność i wolność, która pozwala im określać standardy mocno nieszablonowe, redefiniujące wieloletnie przyzwyczajenia konsumentów. W ciągu ostatnich miesięcy pokazali że jako firma skazana na niszowość potrafią najlepiej radzić sobie na szerokim rynku, wychodząc z pomysłami nowatorskimi w warstwie koncepcji, a niekoniecznie technologii. I mimo skazywania ich pomysłów na porażkę, udowodnili że tak naprawdę najlepiej wiedzą czego potrzebuje statystyczny gracz. Sam z braku czasu gram niewiele, z resztą uważam, że jak to z rozrywkami bywa – nie powinny zajmować w życiu zbyt wiele czasu. Niezmiennie jednak lubię wracać do jednej z trzech ulubionych serii – Super Mario, Legend of Zelda i Metroid. Czas płynie, kolejne konsole przychodzą i odchodzą, ale klimat beztroskiej zabawy, który pamiętam sprzed lat, zawsze towarzyszy mi, kiedy po raz kolejny zasiadam do nowej odsłony ulubionej gry.