W niedawnym poście dość wylewnie przedstawiłem swoją freelancerską sytuację sprzed kilku tygodni/miesięcy.
A co stało się potem? Pytało mnie już o to (także na MTS) sporo osób, więc napiszę publicznie, chociaż pewnie większość Czytelników ma to głęboko...:).
Potem, podczas mojego 5-tygodniowego bezrobocia i bezskutecznych poszukiwań interesującego projektu "od zaraz", odezwał się do mnie Gutek (thx!) z informacją, że ktoś szuka programisty i czy nadal jestem "do wzięcia". Byłem.
Fast-forward... i oto jestem [czymś-trochę-więcej-niż-tylko-smutnym-zwykłym-]programistą w firmie Connected Dots. O ile sama firma może nie być Wam znana, to postać założyciela/właściciela - Tomka Onyszko - z pewnością niejednej osobie skojarzy się z "wielkim światem IT":), konferencjami, wystąpieniami etc. I słusznie.
Współpracujemy sobie już od prawie 3 miesięcy i póki co jestem bardzo zadowolony. Pracuję z domu (co było dla mnie kluczowe), zadania mam bardzo różnorodne (od rozszerzania Forefront Identity Manager 2010 czy integracji z systemami takimi jak produkty Cisco po romans z Azure i wysyłanie SMSów przez bramkę jednego z polskich operatorów)... Fajnie. Dodatkowo - nie pamiętałem już jaki komfort daje chociażby możliwość wzięcia sobie normalnego urlopu czy pełnego relaksu w dniu "ustawowo wolnym", bez ciągłego myślenia "i dniówkę znów szlag trafił".
Największym wyzwaniem jest chyba "poprawne programistycznie" podejście do realizacji większości moich nowych obowiązków. Tomek siedzi w branży "identity management", co jeszcze niedawno niewiele (nic?) mi mówiło. I stąd wspomniany FIM. A jak to bywa z produktami "klasy enterprise" ze stajni MS - API do nich nie należy do tych najbardziej przyjaznych programiście. Po wcześniejszych doświadczeniach z Sharepointem spodziewałem się czegoś w miarę podobnego... no i te podejrzenia okazały się słuszne. Kod z sampli na MSDN/Technet woła o pomstę do nieba. Ogromna większość artykułów/blogów czy dedykowanych dla FIM projektów OSS nie jest pisana przez programistów uznających takie praktyki jak testy jednostkowe czy SOLID principles. Bardziej siedzą w tym ludzie, którzy oprócz programowania mają na głowie także konfigurację, wdrażanie i utrzymanie tego produktu, więc i swoją uwagę skupiają na trochę innych (niż ja) aspektach tworzonych rozwiązań. I jest to w pełni zrozumiałe. Ciekawie zaczyna się robić w momencie, gdy weźmie się masę takich średniej jakości materiałów i próbuje wystrugać z nich rozwiązanie, które od samego początku nie będzie "fe" - to znaczy m.in. takie, które da się przynajmniej w większej części pokryć testami i zrozumieć kod po powrocie do niego za X tygodni. Z satysfakcją muszę jednak powiedzieć, że póki co raczej mi się to udaje.
And that's all folks - tajemna kurtyna została podniesiona i wszystko jest już jasne.
Auf wiederschreiben.