Gdynia,Al. Zwycięstwa 96/98, Poland
+48 690 020 966

Jak ważna jest rola mentora w międzynarodowej organizacji?

Jak ważna jest rola mentora w międzynarodowej organizacji?

#OMRS Internships

Kontynuacja wywiadu z pierwszym zwycięzcą pierwszej edycji #OMRS2020 Internships. Zapraszamy do czytania oraz zapoznania się z pierwszą częścią wywiadu: Jak wygrać nagrodę w konkursie programistycznym?

W Twojej wiadomości mailowej było czuć dużą frustrację, złość oraz zdenerwowanie. Jednak to się zmieniło i dzisiaj podchodzisz do tego weselej.

Złość? Hmm, nie taki miałem zamiar. Bardziej chciałem oddać zrezygnowanie po pierwszym podejściu do tematu. Jednakże jak trafnie zauważyłaś, dziś jest inaczej, bo znalazłem sposób jak pomóc nie tylko sobie, ale i innym osobom, które znalazły się w takiej sytuacji jak ja na początku.

Chętnie w takim razie posłucham jaką rolę odegrał tutaj Daniel, który wydaje się być dla Ciebie mentorem. Co w końcu  zmieniło Twój sposób myślenia i sprawiło, że jednak zostałeś?

Wspomniałem, że moim pierwszym pomysłem było przeglądanie każdego pliku z osobna w poszukiwaniu problemów. Oczywiście kilka początkowo znalazłem, drobnych błędów w linkach JavaDoc, jakieś nieużywane importy i tym podobne. Oczywiście chcąc spełnić warunek do zdobycia prawa na aspirowanie do poziomu dev2 stworzyłem ticket na Jira i zacząłem prosić społeczność o to by ktoś ten ticket zatwierdził. Wtedy pojawił się Daniel i dał mi odnośnik do narzędzia, które jest przez społeczność wykorzystywane. SonarQube. Choć słowo „wykorzystywane” z obecnej perspektywy wydaje się troszkę nietrafione.

Wiem, że nie skorzystaliście z pomocy w postaci Herberta na Talku OpenMRS’a ani nie prosiliście mnie o interwencję, choć ja sama ją zaoferowałam.

W pierwszej kolejności staram sobie poradzić samodzielnie, zanim poproszę kogoś o pomoc. Daniel w swojej pomocy po prostu był szybszy. A co do pozostałych osób, pewnie zniechęciły się szybciej niż ja, bądź brakło im troszkę wytrwałości. Ciężko mi to ocenić.

Czy miałeś już wcześniej styczność z SonarQube? Nie przestraszyła Cię ta „zawiła” droga od stworzenia ticketa do rozpoczęcia pracy nad nim?

Z narzędziami takimi jak SonarQube nie miałem wcześniej do czynienia. Nie było mi to potrzebne, ponieważ pisałem małe aplikacje, sam i tylko dla siebie. Zależało mi aby aplikacja działała i spełniała swoją funkcję, a nie aby była odporna na wszystkie zagrożenia i wskazywała najlepsze praktyki programistyczne. Jednakże kontakt z tym narzędziem pokazał mi jego użyteczność. Bez SonarQube nie przeszedłbym do następnego. 

Zaś co do drogi w JIRA, cóż, dziś wydaje się prosta i logiczna, ale wtedy to też był mój pierwszy kontakt z takim systemem i kilka błędów musiałem zrobić, zanim pojąłem jakimi prawami się rządzi. Niemniej nie narzekam, bo bez nich nie miałbym tej wiedzy, którą posiadam dziś.

Czy któryś z uczestników próbował nawiązać z Tobą kontakt? Jesteś najaktywniejszym uczestnikiem programu i może ktoś zauważył Twój sukces oraz to, że poradziłeś sobie z problemem?

Z innymi uczestnikami nie miałem okazji wymieniać wiadomości. Z resztą na początku nie wiedzieliśmy, którzy to są. Dopiero później został stworzony kanał w którym mogliśmy zobaczyć, kto jest w tej grze, ale w tym momencie większość już była nieaktywna.

Czy podczas pierwszych kroków i związanych z tym problemów w community OpenMRS czułeś się wtedy wystarczająco zaopiekowany z naszej strony? Czy może uważasz, że mogliśmy zrobić coś więcej aby ułatwić Wam pracę nad zadaniami?

Na opiekę z Waszej strony nie mogę narzekać, ale jak już wcześniej wspomniałem, też specjalnie o nią nie zabiegałem. Dziś jednak sądzę, że nie zawiódłbym się, choć nie wiem czy byłbym w tym samym miejscu, w którym znalazłem się bez niej. 😉

Na pewno duma z tego co się dokonało samemu jest po stokroć większa, pokazałeś także jak mocno jesteś zdeterminowany i ambitny, mimo iż na początku inni mieli przewagę w postaci doświadczenia developerskiego. 

Dziś zastanawiam się czy aby na pewno moje obawy co do klasy konkurencji nie były przesadzone. Obecnie jestem skory sądzić, że byliśmy wszyscy na podobnych poziomach doświadczenia. 

Ciężko mi potwierdzić lub zaprzeczyć, gdyż podczas rejestracji nie pytaliśmy o stopień zaawansowania uczestników. Obecna ilość kursów, szkoleń i tutoriali na rynku pozwala samemu się nauczyć programować, dlatego wierzyliśmy, że każdy kto zgłasza się do programu wie co robi. 

Przed zapoznaniem się z projektem też sądziłem, że wiem co robię, jednakże rzeczywistość zweryfikowała ten pogląd.

Wspomniałeś wcześniej o Danielu, jaką odegrał rolę w Twojej przygodzie w OpenMRS? Był nauczycielem, mentorem czy jedynie dawał wskazówki?

Mentor, nauczyciel to wartościowe słowa, ale ciężko mi tu któregoś użyć, ponieważ taka relacji musi być dwukierunkowa. Jedno jest jednak pewne, wskazówki Daniela były bardzo wartościowe. Dzięki nim trafiłem na niszę, w której się odnalazłem.

Zaczęło się od tego, że pokazał Ci SonarQube, a jak dalej się to potoczyło? Zainteresowałeś się tym narzędziem i jemu podobnymi czy może inaczej trafiłeś na tą niszę?

Fakt, pokazał mi SonarQube a ja wykorzystałem go do zgłoszenia kilku innych ticketów. Dzięki temu kilka moich PR zostało dołączonych do mastera, co dało dużą satysfakcję. Jednakże SonarQube wykorzystywany w OpenMRS ma jedną wadę. Podpięty jest do niego tylko repozytorium openmrs-core. Zatem coś z tym musiałem zrobić. Internet wskazał mi rozwiązanie, SonarLint. 

Oboje wiemy, że OpenMRS to wielki ekosystem, składający się z wielu modułów. Zatem używając wspomnianego SonarLint „przerobiłem” pierwszy z nich. Stworzyłem tickety, zapytałem Daniela o to czy może je „przyklepać”, a on dodał pewien komentarz, który wywrócił mi całą wizję. Do dziś nie wiem czy świadomi, czy przypadkiem, ale efekt został osiągnięty.

Co to był za komentarz i dlaczego wywrócił całą Twoją wizję? 

Napisał coś w stylu „cieszę się, że podwoiłeś ilość ticketów intro”.  Wiedziałem, że takie coś istnieje, ale pierwszy mój kontakt z nimi od razu mnie od nich odepchnął. Komentarz Daniela może obecnie wydawać się nic nie znaczący, ale wtedy właśnie mnie olśniło. To było to czego brakowało mi, innym uczestnikom #OMRS2020 i innym, którzy mają pierwszy kontakt z OpenMRS. Chcąc dołączyć do społeczności OpenMRS bez doświadczenia spotykamy się z całą gamą nowych narzędzi. Jira, Travis, Bamboo i do tego jeszcze zasady tworzenia i zarządzania PR. Nic bardziej nie dobija niż tickety intro, których nie da się ruszyć bez dobrej znajomości kodu OpenMRS.

Problemy, które wskazywał mi SonarLint były banalne, jednakże pozwalały one na to, aby na spokojnie zapoznać się z narzędziami wykorzystywanymi przy tworzeniu OpenMRS. Po komentarzu Daniela zrozumiałem, że tego właśnie brakuje, aby przyciągać, a nie odpychać nowe osoby, które mogły by się zaangażować w tworzenie i utrzymywaniu kodu OpenMRS.

Genialne, proste i bardzo potrzebne. Czemu nikt wcześniej nie dodał takich zadań? Daniel oraz wielu innych doświadczonych programistów zapewne korzystają z tego typu narzędzi. Dlaczego nikt nie potrafił się tym zająć i stworzyć przyjaznego miejsca dla nowicjuszy w OpenMRS?

I tu nawiązujemy do SonarQube i jego wykorzystania. Jak już wcześniej wspomniałem, z dzisiejszej perspektywy też się zastanawiam, dlaczego tak się stało, że nikt wcześniej na to nie wpadł, ponieważ część tych elementów, które można było poprawić istniała w kodzie od kilku lat. Może nikt z tego systemu nie korzystał, a sam system był aby być.

Sądzę, że Daniel jest zbyt zapracowany, aby jeszcze zajmować się takimi drobnostkami. Jego rola jest ważniejsza, a to, aby poprawiać kod na tak niskim poziomie to już nasze zadanie. A dlaczego nikt nie wykorzystał tego, aby stworzyć takie środowisko? Ciężko mi to ocenić, niemniej zawsze musi być ta pierwsza osoba, która zauważy coś czego nie zauważył nikt wcześniej. 

Może to właśnie jest moja rola w rozwijaniu OpenMRS?

Koniec części drugiej.

Niedługo opublikujemy część trzecią – kontynuuacje rozmowy, którą przeprowadziliśmy z okazji uzyskania poziomu dev2 w strukturze community OpenMRS przez jednego z naszych uczestników.

Zapraszamy do śledzenia naszych social media, ponieważ już niedługo pojawi się kolejna część 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *