11 marca 2010

Praktyki studenckie w IBM - ta edycja będzie nowatorska pod każdym względem - technologicznie i komunikacyjnie

Rozpoczęły się kolejne praktyki studenckie w IBM, które w edycji wiosennej trwają 3 miesiące, od marca do końca maja. Student wybiera temat z puli tematów, które do bazy wprowadzają potencjalni mentorzy (zainteresowani rolą mentora pracownicy IBM) z opisem swoich wymagań odnośnie proponowanego tematu. To trochę tak, jak z pracą licencjacką (nie robiłem, więc nie piszę z własnego doświadczenia, ale domyślam się, że tak jest), czy pracą magisterską (robiłem kilka, jedną ukończyłem, więc wiem :)). Promotorzy szukają studentów, albo odwrotnie i tak samo jest w programie IBM - Educational Student internship Program (w skrócie IBM ESI). Mnie interesują głównie rozwiązania z zastosowań produktów rodziny IBM WebSphere i staram się je wprowadzać w głowy młodych-gniewnych z rozwiązaniami otwartymi (o których mogę później pisać na blogu, jakbym się na nich znał i rozpoznał samodzielnie :)). Obie strony zyskują - IBMer (w tej roli ja) poznawanie nowych obszarów, na które nie miał czasu, a student-praktykant sposób pracy IBMera, wejście w tematy z "górnej półki" i pewnie cała masa innych rzeczy, którymi napycha się CVki. W końcu chodzi o wypromowanie obu - produktu i praktykanta, aby obaj mogli znaleźć się na rynku. Widzę jedynie plusy tego rozwiązania, więc kiedy dowiedziałem się o kolejnej edycji, nie miałem złudzeń i od razu krzyknąłem "Wchodzę!".

Wspominałem niejednokrotnie o tym, że unikam promowania pracodawcy, aby nie być posądzonym o stronniczość, brak dystansu, itp., więc niewiele można o nim tutaj przeczytać. Na razie niech tak zostanie, ale o praktykach nie mogę nie wspomnieć, bo temat jest w pełni jawny (dosłownie i w przenośni). Każdy student uczelni wyższej w Polsce i zagranicą może skontaktować się z prowadzącym program (nazwiska świadomie nie podam, a jedynie na życzenie) i wybrać temat (i jednocześnie prowadzącego).

Szaty mentora przybierałem już kilkanaście razy (przynajmniej 12) i głównie pracowałem z osobami z uczelni warszawskich. Trafiło mi się raz prowadzić 2 studentów z Serbii, ale wyniki były tak kiepskie, że prawie sam się załamałem i bodajże 1-2 osoby spoza Warszawy. Zawsze jednak liczba jednocześnie prowadzonych studentów-praktykantów nie przekraczała 2, każdy z osobnym tematem.

Tym razem jest zdecydowanie inaczej. Nie tylko że jednocześnie prowadzę 3 studentów, każdy pracujący samodzielnie, ale jeszcze wszyscy są zdalni! 3 osoby z Zielonej Góry. Tego jeszcze nie próbowałem, a kiedy napiszę, że zaraz wdrożyłem niecny plan poprowadzenia ich trybem "zwinnym" (nazwa robocza), to nie mam już złudzeń, że będą to najbardziej intrygujące praktyki, jakie do tej pory prowadziłem. A przecież jeszcze nie wspomniałem o tych wybranych tematach - też cudne:
  • Creating user interface for Human Tasks in IBM WebSphere Process Server V7 with Grails
  • Using Kerberos token profile to secure enterprise applications in IBM WebSphere Application Server V7
  • Installation of new versions of a BPEL process, and allowing the migration of running processes to a new version in IBM WebSphere Process Server V7 and JBoss Seam-based client
Mój "zwinnie nowatorski" sposób na praktyki z 3 osobami zdalnie, każdy indywidualnie ze swoim tematem, wygląda następująco:
  • Każdy podopieczny pracuje na Linuksie (RHEL lub SLES - certyfikowane dystrybucje dla produktów WebSphere) na VMware (na wypożyczonych laptopach mają Windows i szkoda byłoby marnować czasu na przeinstalowywanie systemu, a i późniejsze przekazanie pracy jest łatwiejsze - dostaję dokumentację z gotowym obrazem). W ten sposób poznanie produktu od strony administracyjnej jest dokładniejsze, bo praca z linią poleceń na MS Windows to jak stąpanie po kruchym lodzie - można się załamać.
  • Temat dzielony jest na części tak, aby można było skończyć go w ciągu tygodnia/dwóch. Są to tak proste zadania, jak instalacja, pierwsze próby z przykładowymi aplikacjami, ale i bardziej wyrafinowane, jak rozpoznanie działania produktu w danym obszarze, czy połączenie rozwiązania komercyjnego z darmowym, np. WPSa z Grails, Apache Wicket czy JBoss Seam. Tematy łączą przyjemne (Grails, Wicket, Seam) z pożytecznym (WPS) :). Na końcu prac tworzona jest dokumentacja opisująca co i jak autor miał na myśli.
  • Nauka głównie z ogólniedostępnych materiałów - IBM Education Assistant czy Information Center dla danego produktu, np. WAS7 InfoCenter, WPS7 InfoCenter, WID7 InfoCenter.
  • Śledzenie postępów prac przez...bloga, twittera i blipa! W każdy piątek zdzwaniam się z praktykantem (najpóźniej w środę wysyła mi zaproszenie z wybraną godziną między 10-14) i przez najwyżej 1h omawiamy co zostało zrobione i co planujemy. Omawiamy problemy i ich rozwiązania (albo ich brak i wtedy szukamy miejsc, gdzie można je znaleźć). Podsumowanie naszych rozmów trafia na bloga (więc przynajmniej jeden wpis pojawia się tygodniowo) z wpisami na blipa (po polsku) i twittera (po angielsku) o codziennych postępach prac w odpowiednich kanałach. W ten sposób ja wiem, co się dzieje, a praktykanci rozgłaszają swoje nabywane umiejętności (co może przypominać Inversion of Control, gdzie to nie oni szukają zatrudnienia, ale ich się znajduje przez ich publiczną aktywność - zgodnie z zasadą Demeter zwaną również Hollywood Principle: "Nie dzwoń do nas, my zadzwonimy do Ciebie"). To powinno również wymóc na praktykantach dzielenie podejmowanych zadań na cząstki, które da się zrealizować w ciągu godzin i opisać w 144 znakach.
Właśnie ten ostatni element jest dla mnie najbardziej intrygujący. Reszta była już wałkowana kilkakrotnie przedtem i nie jest dla mnie wielkim novum. Niezwykle ciekawym wyników.

Namiary na 2 pierwszych praktykantów (na razie konta na twitterze):
Nie pozwólcie im sądzić, że ich praca jest niezauważona przez społeczność :)

Jak Wam się podoba takie podejście do tematu? Moglibyście coś zasugerować, abym mógł poczuć klimaty zdalnego prowadzenia zespołów programistów w zwinnym stylu i nowymi technologiami (w tym i komunikacyjnymi)? Ciekawe, czy dałoby się tak prowadzić firmę?