Jaka jest rola CTO w małej firmie? O swoich doświadczeniach na tym stanowisku opowiedział nam Adam Kubiczek, współzałożyciel i CTO w KISS digital. Jego zdaniem, CTO często bywa nic nieznaczącym akronimem, tymczasem to jedna z najwyższych instancji w wielu firmach. Jednak w zrozumieniu, co znaczy ten skrót, nie do końca pomaga podanie definicji słownikowej. Można natomiast przyjrzeć się temu, czym się zajmuje.

Choć każda firma ma swój przepis na to stanowisko, zasadniczo w niedużych przedsiębiorstwach Chief Technology Officer musi być bardzo elastyczny i zajmować się sprawami od sasa do lasa. Warto jednak wspomnieć, że tym razem mówimy o software house, czyli firmie usługowej. W firmach, które realizują swój własny projekt, może to wyglądać nieco inaczej.

Zakres obowiązków CTO w małych firmach

Zakres obowiązków CTO jest niewątpliwie szeroki. Zacznijmy od tego, że CTO jest odpowiedzialny za organizację środowiska pracy i infrastruktury. W praktyce oznacza to negocjowanie cen sprzętu z dostawcami i kompletowanie potrzebnych narzędzi pracy – komputerów, monitorów, serwerów, akcesoriów i usług internetowych. W związku z tym, jako CTO często słucham próśb programistów o zmianę komputera na szybszy – i jestem w stanie takie prośby zweryfikować.

A skoro o programistach mowa, CTO również programuje i to najlepiej w kilku technologiach. Co prawda, zwykle nie angażuje się w projekty w stu procentach, ale zawsze trzyma rękę na pulsie. Tak też jest ze mną. Dzięki temu mogę szybko wejść do gry w przypadku jakichkolwiek problemów – gdy terminy zaczynają gonić albo pojawią się tymczasowe braki kadrowe.

Czy można zatem powiedzieć, że CTO jest Full-Stack Developerem? Niekoniecznie. Full-Stack Developer to ktoś, kto zajmuje się aplikacjami webowymi i zgłębił tajniki zarówno backendu, jak i frontendu. Określenie CTO jako Full-Stack Developera byłoby raczej dewaluujące właśnie dla tych programistów, którzy faktycznie są na tym polu specjalistami. CTO ma raczej szeroki pogląd spraw, ale nie zawsze jest wybitnym specjalistą we wszystkich dziedzinach. Jego istotną cechą powinna być za to umiejętność dostrzegania i łączenia kropek.

CTO jako architekt firmowego wszechświata

Atutem CTO jest więc szeroka znajomość różnych tematów, przy czym nie musi być on ekspertem od każdego z nich. Ma to służyć przede wszystkim podejmowaniu świadomych decyzji dotyczących wyboru technologii. W codziennej pracy pojawić się mogą przeróżne dylematy, dlatego ważna jest znajomość dostępnych frameworków programowania, narzędzi wspomagających pracę programisty, metod testowania oprogramowania, usług online (przykładowo – co ciekawego oferuje Amazon w swoim AWS, a co Google ze swoim Cloudem, i w jakich sytuacjach jedno jest lepsze od drugiego), czy też architektury oprogramowania (MVC, MVP, MVVM, i tym podobnych).

CTO jest zatem analitykiem i architektem systemu. Ale na tym nie koniec, bo CTO to także administrator sieci i DevOps w jednym. Potrafi konfigurować serwery, odpalić instancję Jiry wewnątrz firmy. Tworzy narzędzia automatyzujące powtarzalne czynności, na przykład pisząc taski dla Ansible. A przy tym powinien czuwać nad swoim zespołem i jego zadaniami.

CTO na straży wysokiej jakości i zgranego zespołu

Jako autorytet w temacie, CTO najczęściej nadzoruje rekrutacje na stanowiska techniczne, prowadzi testy rekrutacyjne i ocenia wiedzę kandydatów – a gdy nowi rekruci na dobre dołączą do zespołu, prowadzi dla nich liczne szkolenia i warsztaty. CTO powinien nie tylko aktywnie przekazywać swoją wiedzę i kompetencje, lecz także zachęcać zespół do wzajemnej nauki. W naszej firmie przyjmuje to formę cotygodniowych imprez, które nazywamy Code Review. Pod tą nazwą kryje się znacznie więcej, niż tylko “przegląd kodu” – są to zarówno wspomniane szkolenia i prezentacje, jak i wolne dyskusje.

Mówiąc już o samym zarządzaniu zespołem i projektami, w zależności od firmy zakres ingerencji CTO może być różny. Ze względu na metodę, jaką prowadzimy projekty (Scrum), nasze zespoły są z definicji autonomiczne i samozarządzalne. Jako CTO, nie ingeruję w ich codzienną pracę – chyba, że jestem członkiem zespołu pod postacią analityka lub konsultanta technicznego. Zwyczajnie nadzoruję jakość wykonywanych prac (określając mierniki jakości oraz politykę firmy w tym zakresie), i pojawiam się dopiero wtedy, gdy zespół zgłosi taką potrzebę lub wymaga tego sytuacja.

Działa to także w dwie strony – sam bardzo często zasięgam ich opinii i nie boję się przyznać, że czegoś nie wiem. Dzięki temu praca przebiega w atmosferze wzajemnego zaufania, a wszelkie pytania zadawane są bez skrępowania. Chociaż, w obawie przed kolejnym pytaniem na temat prawidłowej architektury aplikacji pisanej w Laravelu, nasi programiści backendowi mogą wkrótce zacząć przede mną uciekać.

Człowiek orkiestra?

Odpowiedź na pytanie o dokładny zakres obowiązków CTO nie jest zatem prosta. Moim zdaniem, oprócz wykonywania wielu różnorodnych zadań na co dzień, osoba na stanowisku CTO musi być także na bieżąco z trendami. Nie tylko dotyczącymi rozwiązań w zakresie UX, czy interfejsów aplikacji – ale również możliwości, jakie dają na przykład współczesne przeglądarki. Wszystko po to, by na spotkaniach z klientami móc zaproponować najlepsze dla ich potrzeb rozwiązania, a następnie współtworzyć wyceny konkretnych projektów. Jednym słowem, CTO żadnej pracy bać się nie może.


Adam Kubiczek. CTO i współzałożyciel KISS digital. Posiada wieloletnie doświadczenie jako programista i lider zespołu. Przebył długą drogę – od nieświadomej niekompetencji, poprzez niekompetencję świadomą, aż do nieświadomej kompetencji. Od kilku lat zajęty budowaniem najlepszej firmy technologicznej świata.

Zapraszamy do dyskusji
Nie ma więcej wpisów

Send this to a friend