Dlaczego nie potrzebujesz CTO?

Dawid Duniec

5 min czytania

11 grudnia 2020

Udało Ci się zebrać Twój zespół programistów, którzy stworzą dla Ciebie produkt idealny, dokładnie taki jak sobie wymarzyłeś. Pierwszy sukces jest już za Tobą. Jednak już od samego początku ich pracy, spotykasz się z coraz to nowszymi problemami. Przedstawiłeś programistom swoją wizję produktu, ale oni nadal zadają pytania, na które ciężko jest Ci odpowiedzieć, a czasem nawet zrozumieć.

Zaczynasz uświadamiać sobie, jak dużym wyzwaniem może być codzienna praca z programistami i zastanawiasz się nad możliwymi przyczynami tych problemów. Nie mając doświadczenia w budowaniu teamów wytwarzających technologię, możesz łatwo dojść do złych wniosków.

Może powinienem zakończyć z nimi współpracę?

Może tworzenie firmy technologicznej, to nie zadanie dla mnie?

A może zwyczajnie zapomniałeś o zatrudnieniu ważnej osoby do swojego teamu?

Z doświadczenia ICEO wynika, że w większości takich przypadków, brakuje Ci zarządcy technologicznego, który będzie potrafił zrozumieć potrzeby biznesowe Twojej firmy. Tą osobą jest CTO.

Kim jest CTO?

Stanowisko to ma tyle interpretacji, ile jest firm go potrzebujących. Wynika to z faktu, że taka osoba musi posiadać wiele wysokich kompetencji, które umożliwią jej pozostanie, portem komunikacyjnym pomiędzy stroną biznesową,a techniczną w firmie. Jest to podstawowe wyzwanie, z którym CTO musi sobie poradzić. Oprócz tego, jest on również odpowiedzialny za dbanie o wysoką jakość wytwarzanego oprogramowania. Spełnienie tego zadania może obrać wiele form, do których zalicza się konstrukcję dużych teamów programistów, wdrażanie odpowiedniego cyklu życia kolejnych wersji Twojej aplikacji, oraz mniej przyjemne zadania,takie jak weryfikacja czy konkretna osoba dobrze sprawdza się w danym zespole i czy powinna w nim pozostać.

Reasumując, CTO, odpowiada za efektywność Twojego zespołu programistów, tak aby Wasza współpraca była z chęcią kontynuowana przez obie strony.

Czy to naprawdę konieczne?

Wielu założycieli firm technologicznych początkowo zaczyna przygodę ze światem IT, w sposób opisany na początku tekstu. Zatrudnia programistów, a następnie z lepszym, bądź gorszym skutkiem próbuje im wyjaśnić cel, który ma przynieść współpraca. Jednak jest komunikacja skomplikowana i generująca dużą ilość problemów, a jednocześnie okazuje się być kluczowa dla rozwoju firmy i nie można z niej zrezygnować. Dobry CTO znając cel klienta, jest w stanie podejmować decyzje technologiczne, które będą stawiać dobro firmy na pierwszym miejscu. Odpowiednie ustalenia w kierowaniu projektem technologicznym są rezultatem bogatego doświadczenia w wytwarzaniu systemów, ich utrzymaniu oraz chęci i umiejętności do koniecznych do poznania domeny produktowej.

Osoby, które nigdy nie miały styczności z kodowaniem, często nie rozumieją powagi decyzji, które muszą być podejmowane w pracy z programistami. Największe wyzwanie z tym związane polega na tym, że czasem pozornie małe i nieznaczące decyzje, mogą przynieść negatywne rezultaty po kilku dniach, miesiącach a czasem nawet latach! W takiej sytuacji już nikt nie pamięta, jak do tego doszło. Jedyne możliwe rozwiązanie zawarte jest w krótkiej informacji od programistów - “To trzeba przepisać“. Podejmowanie słusznych decyzji jest nie tylko zabezpieczeniem przed koniecznością przepisywania całego systemu, ale również sposobem na zaoszczędzenie czasu i pieniędzy.

Ok, przekonaliście mnie, co dalej?

Niełatwo jest znaleźć dobrze wykwalifikowaną osobę na to stanowisko. Szczególnie że doświadczenie danego CTO powinno dopasowane do aktualnego stanu systemu i metodologii w nim przyjętych. Jeżeli nawet kogoś znajdziemy, możemy się dość mocno zdziwić, gdy usłyszymy jego wymagania finansowe.

Wiedza i doświadczenie potrzebne do realizowania takiej funkcji kosztuje i nie powinno nas to dziwić. Każdy chce otrzymywać wynagrodzenie adekwatne do swoich umiejętności, doświadczenia i ilości pracy.

Jak z takim wydatkiem może poradzić sobie firma, którą nie stać na tak dużą inwestycję, szczególnie w początkowej fazie projektu?

Istnieją firmy, które oferują usługę CTO as a service, w ramach której można wynająć osobę, która będzie pełnić tą rolę w Twojej firmie. Jednocześnie nie musisz jej zatrudniać na pełen etat, co automatycznie zmniejsza ponoszone koszty. CTO będzie uczestniczyć w projektowaniu systemu po przez szukanie odpowiednich rozwiązań, a także pomoże zgrać team zatrudnionych przez Ciebie lub software house programistów. W ostatniej fazie swojej pracy tymczasowy CTO, może nawet pomóc z zatrudnieniem i wdrożeniem osoby, która przejmie po nim obowiązki na pełen etat. Jest to rozwiązanie odpowiednie dla projektów zarówno we wczesnej fazie rozwoju, startupów, jak i tych już dojrzałych, gdzie zwyczajnie trzeba stworzyć prawidłową kulturę pracy, aby możliwe było realizowanie projektów szybciej niż robi to konkurencja.

Dawid Duniec

Specjalista w zakresie rozwiązań enterprise’owych oraz produktów FinTechowych. Jako CTO znany ze swojej cierpliwości i umiejętności szerszego spojrzenia na projekt, nie tylko w kontekście funkcjonalności, ale też w ujęciu czasowym. Jest jednym z nielicznych CTO, który myśli o przyszłości projektu - ograniczeniu długu technologicznego i zapewnieniu skalowalności.