Pierwsze szkolenie. Po angielsku
Jak większość z Was wie mam na blogu napisany kurs C#. Staram się również przekazywać wiedzę innymi drogami. Jeśli śledzicie moje wpisy to wiecie też, że aktualnie pracuję dla klienta z Wielkiej Brytanii. I w tym tygodniu te dwa tematy się połączyły. W ten sposób udało mi się przeprowadzić pierwsze w życiu szkolenie w języku angielskim.
Call to action
Dwa tygodnie temu dostałem niespodziewanie telefon od dyrektora, że jest pomysł żeby polecieć do klienta w celu przekazania wiedzy dotyczącej projektu, który im oddajemy. Na początku nie byłem chętny na wyjazd jednak ostatecznie się zgodziłem (nie wiem czy miałem wybór). I w ten sposób ja i kolega zostaliśmy umówieni na wizytę w środę i czwartek w siedzibie klienta w zachodniej Anglii. Byliśmy już tam we wrześniu dlatego jechaliśmy do miejsca, które minimalnie znaliśmy.
Plan był taki, że lecimy z Krakowa w środę rano i wracamy do Krakowa w piątek przed południem.
Czego właściwie chcecie?
Czasu na przygotowania było niewiele. Właściwie w ostatniej chwili się dowiadywaliśmy czego od nas dokładnie oczekują.
Ogólnie sprawa wyglądała tak, że chcą żebyśmy przekazali jak utrzymywać i rozwijać aplikację, którą tworzymy. Ponieważ do tej pory co prawda współpracowaliśmy z jednym programistą po ich stronie jednak wszystkie rozwiązania, pomysły, technologie były po naszej stronie. A że w przeciągu kilku tygodni całkowicie oddajemy projekt to wypadałoby się tą wiedzą podzielić.
Jako, że w projekcie podzieliliśmy się na backend i frontend to mi przypadło omówienie spraw związanych z frontendem. Chcieli żeby powiedzieć jak dodać nowy feature albo jak zautomatyzować pewne procesy.
Dodatkowo, ponieważ ludziom klienta kiepsko szło zrozumienie git-flow to również ten temat postanowiłem w minimalnym stopniu przygotować.
Ostatecznie jechaliśmy tam mając wiedzę o projekcie, krótki zarys tego na czym mniej więcej powinniśmy się skupić i nie wiedząc jakie pytania mogą się pojawić.
Dzień pierwszy – teoria
W środę zamówiliśmy taksówkę z lotniska prosto do klienta bo lot był rano więc na miejscu byliśmy ok. godziny 10.
Jako, że szczegółowa agenda nie była przygotowana to pierwszy dzień postanowiliśmy przeznaczyć na teorię dotyczącą projektu.
Na początek część backendowa, która łączyła się z pozostałymi serwisami klienta więc uznaliśmy, że będzie to dobry punkt aby rozpocząć transfer wiedzy. Tą częścią zajął się kolega.
Po obiedzie ja dostałem głos. Opowiedziałem trochę o tym jak wygląda struktura projektu frontendowego. Pokazałem kilka rozwiązań, które używamy. Powiedziałem jakich bibliotek używamy. Wspomniałem też o testach oraz o tym jak można zautomatyzować np. budowanie projektu czy uruchamianie testów.
Ogólnie jestem osobą, która bardzo niepewnie się czuje mówiąc po angielsku. Jednak okazało się, że mając przygotowaną prostą prezentację oraz wiedząc co się dzieje w projekcie można opowiedzieć o nim bez uczenia się wcześniej tekstu na pamięć. W momentach kiedy brakowało mi słowa miałem do pomocy kolegę.
Także ta część przeszła w miarę sprawnie. Przekazaliśmy teoretyczną wiedzę o tym co i jak działa. Jednak na koniec zespół klienta doszedł do wniosku, że dużo lepiej to zrozumieją przy okazji praktycznych zajęć. Dlatego umówiliśmy się na nie na następny dzień. Również z podziałem na frontend i backend.
Dzień drugi – zajęcia praktyczne
Do tej części nie byłem przygotowany. Skupiłem się na części teoretycznej więc w trakcie zajęć praktycznych musiałem improwizować.
Na początek znowu poszedł backend więc miałem chwilę przerwy kiedy to tylko co jakiś czas wtrącałem pojedyncze informacje. Nie obyło się bez problemów w pobraniem repozytorium i uruchomieniem go. Ale ostatecznie wszyscy zainteresowani zdołali dodać przykładowy kawałek funkcjonalności do API.
Ponownie moja kolej przypadła po obiedzie. Jak wspomniałem ten dzień to była improwizacja. Na początek sprawy związane z narzędziami i uruchomieniem projektu. Okazało się, że było trochę problemów bo niektóre osoby nie miały nic zainstalowane. Jednak w końcu większości udało się otworzyć projekt angularowy.
W trakcie tej części, która trwała dobre 3 godziny pokazałem jak uruchomić projekt, na jakie rzeczy zwrócić uwagę, powiedziałem jak dodać nową funkcjonalność i jak zintegrować się z API. Tutaj bardzo, ale to bardzo pomogło mi doświadczenie z prowadzenia korepetycji, live streamów czy chociażby pisania kursu. Dzięki temu nie miałem problemu z wymyślaniem na bieżąco kolejnych kroków tak żeby tworzyły w miarę spójną całość.
Dodatkowo w między czasie kiedy niektóre osoby rozwiązywały z pomocą kolegi drobne problemy udało mi się również omówić sposób pracy w git-flow. Myślę, że przekazałem osobie, która do tej pory pracowała z SVNem, o co w tym chodzi i jak wygląda zarządzanie branchami i releasami.
Kto miał słuchać ten słuchał i patrząc po sali widziałem, że są osoby, które to interesowało i się zaangażowały w zadania. To bardzo cieszy prowadzących. Bo najgorsze co może być to widok znudzonej sali, która najchętniej by poszła do domu.
Nie trzeba być idealnym
Jak już wspomniałem nie czuję się pewnie z językiem angielskim. Ba, mam w nim ogromne braki i tak na prawdę posługuję się prostym, wręcz prostackim językiem dodatkowo robiąc sporo błędów gramatycznych i nie znając zbyt wiele słów. Dodatkowo nie miałem gotowego konkretnego planu na prezentację i ćwiczenia. Wszystko musiałem wymyślać na bieżąco opierając się na wiedzy o projekcie. Każdy pewnie się może domyślić jaką katastrofą może się zakończyć połączenie improwizacji i nieznajomości języka.
Mimo to udało mi się przez kilka godzin przekazać swoją wiedzę i odpowiedzieć na wiele pytań. Nikt nie zwracał uwagi na to, że gdzieś użyłem złego czasu albo przekręciłem słówko czy końcówkę. Bo to nie lekcje języka angielskiego. Najważniejsze dla tych ludzi było żeby dowiedzieć się potrzebnych im informacji. A ponieważ mówiłem prostym językiem i obie strony były techniczne to przekazanie wiedzy szło w miarę gładko. Nawet pod koniec nie mieliśmy problemów ze wspólnym żartowaniem czy small talkiem. Wystarczyło kilka godzin w otoczeniu posługującym się językiem angielskim żeby samemu dostać pewnej swobody w wypowiadaniu się. Może nie idealnym, zawierającym błędy językowe czy omawianie tematu naokoło z powodu braku słówka ale jednak swobodnym na poziomie włączania się w dyskusję.
Od zawsze się bałem mówić po angielsku. Nawet do teraz nie czuję się komfortowo w trakcie rozmów na Skype. A mimo to poprowadziłem w tym języku kilkugodzinne szkolenie, z którego przynajmniej część osób była zadowolona i wyniosła jakąś wiedzę. A ja wyniosłem większą pewność siebie i przekonanie, że nie trzeba idealnie posługiwać się językiem obcym żeby podzielić się z kimś wiedzą, najważniejsze to mieć o czym mówić.
Gratulacje :) Na początku nigdy nie jest łatwo, a opanowanie języka na perfekcyjnym poziomie rzadko kiedy się przydaje. Grunt, żeby umieć się dogadać i przekazać to co się chce :). Dobrze, że podchodzisz teraz do sprawy w taki sposób.