Od Grono.net do VentureDevs, poznaj historię Wojciecha Sobczuka

Spis treści

Piotr: Spójrzmy na temat nieco pod rozwoju technologicznego Grono.net. Trafiliście przecież na okres bardzo dynamicznego rozwoju wielu różnych języków programowania, sam znasz ich kilkanaście, a wiele nauczyłeś się właśnie przy rozwoju Grono. Z jakich technologii korzystaliście na przestrzeni tych niemal 10 lat podczas prac nad portalem?

Wojciech: Pierwszą wersję napisałem w Javie, ale szybko okazało się że przy dużym obciążeniu JVM sprawiała duże problemy.  Zostałem wtedy siłą rzeczy specem od tuningu JVM, ale to też nie pomogło.  Jakoś w tym czasie poznałem Pythona i Django i podjąłem decyzję o przepisaniu całości serwisu na te technologie.  I przy Pythonie już zostaliśmy.  We front endzie nie było wtedy za dużo wyboru, a to co trzeba było robić robiliśmy w jQuery.

Brzmi jak jakiś niewielki task, który zrealizowałeś w międzyczasie! To musiało być jeszcze gdzieś na początku rozwoju serwisu, skoro dałeś radę zrobić to samodzielnie. Jak szybko udało Ci się przepisać Grono na Pythona?

Wojciech: Zawsze miałem fioła na punkcie efektywności developmentu.  Do wersji napisanej w Javie użyłem autorskiej biblioteki przyspieszającej kilkakrotnie pisanie aplikacji webowych w tym języku, dlatego powstawała bardzo szybko.  Jednocześnie nie miała najlepszej wydajności bo według mnie wydajność jest kompletnie nieistotna dopóki nie staje się problemem dla użytkowników.  Na moje nieszczęście Grono było nietypowym projektem bo lawina użytkowników pojawiła się natychmiast po uruchomieniu, a z nimi kłopoty z wydajnością 🙂

W momencie gdy okazało się, że obecna architektura w Javie nie spełniała naszych oczekiwań wydajnościowych, stwierdziłem że szybciej będzie przerobić całość na Python + Django niż zmieniać framework na któryś z istniejących wtedy w Javie.  Zrobiliśmy to, jeśli dobrze pamiętam, na przestrzeni 2 miesięcy, razem z pierwszymi programistami Pythona którzy dołączyli do zespołu.

Tu przypomina mi się ciekawa sytuacja odnośnie wydajności.  W pewnym momencie stwierdziliśmy, że serwis działa dość wolno i trochę za bardzo zjada zasoby CPU tych 50 serwerów które mieliśmy do dyspozycji.  W kilka godzin udało mi się znaleźć przyczynę i przyspieszyć serwis o 40% (!).  Okazało się, że jeden z naszych developerów używał funkcji ‘eval’ Pythona w template tagu – jest ona bardzo wolna i wykonywała się przy każdym odświeżeniu strony, więc jej eliminacja przyniosła dramatyczny efekt.

Piotr: Z perspektywy czasu, jakie inne decyzje byś podjął, jeżeli chodzi o rozwój kluczowych funkcjonalności Grono.net? Co mogłoby sprawić, że jeszcze dziś moglibyśmy zapraszać się do znajomych również tam.

Wojciech: Wydaje mi się, że Grono mogłyby uratować dwie rzeczy:

  1. Znacznie mniej funkcjonalności – ficzerów było za dużo, co powodowało duże koszty i zagubienie użytkowników zarówno tych aktywnych jak i potencjalnych.
  2. Skupienie na gronach (czyli naszych forach) i budowa społeczności tylko wokół tego – mieliśmy świetne grona tematyczne na których można było znaleźć masę interesujących ludzi.  To była unikalna wartość grona, dla której Facebook nie był konkurencją i którą można było rozwinąć dalej w kierunku np usługi forum dla firm.

Piotr: Gdybyś miał teraz tworzyć Grono na nowo, to w czym byś go napisał?

Wojciech: Jeśli byłby to nowy startup to napisałbym go w całości w Python + Django.  W tej technologii można wyprodukować działający serwis w rekordowym według mnie czasie

Front pewnie w Vue.js lub React, ale to tylko ze względu na fakt, że w dzisiejszych czasach taki serwis musiałby być mocno skomplikowany wewnętrznie, reaktywny i wysokowydajny.  Normalnie pozostałbym przy Python + Django w 100% bez technologii front end, bo tak jest najprościej i najszybciej, a w technologii prostota to klucz do sukcesu.

Piotr: Jaka jest największa lekcja, jaką wyciągnąłeś z tych 8 lat pracy nad tak gigantycznym serwisem, jednym z największych na owy czas w kraju? Było to z pewnością ogromne wyzwanie i możliwości, które wiele osób chciałoby sobie stworzyć. Wielu młodych programistów i ludzi zajaranych startupami dotrze do tego materiału, z pewnością kilka słów od takiej osoby jak Ty, będą dla nich wartościowe, powiedz coś od siebie! 🙂

Wojciech: O lekcjach mógłbym chyba napisać książkę bo było ich wiele i często bolesnych.  Wydaje mi się że najbardziej wartościowymi dla programistów będą poniższe spostrzeżenia.

Po pierwsze programowanie jest z reguły nie jest tak ważne w startupie jak myślą o tym programiści.  Dawniej myślałem, że jako programista jestem najważniejszy, bo mogę zbudować dowolny produkt i zaraz będzie sukcesem bo jest taki świetny technologicznie i ma dużo ficzerów.  Nic bardziej mylnego – każdy może przepisać Twittera w jeden weekend, a na bank nie odniesie sukcesu na tym rynku.  Produkt jest zbudować łatwo, ale już budowanie biznesu w oparciu o ten produkt to zupełnie inna bajka która wymaga z reguły niesamowitej persystencji, często mocnych nerwów i umiejętności bardzo odległych od programowania takich jak sprzedaż i marketing.  A już najważniejsze w tym wszystkim jest zweryfikowanie czy ktoś w ogóle zechce użyć nasz produkt zanim napiszemy pierwszą linijkę.

Po drugie im mniej tym lepiej.  Budując duży produkt dramatycznie obniżasz swoją szansę sukcesu przez:

  1. Zwiększenie kosztu budowy, nawet jeśli inwestujesz tylko swój czas, to jest to też koszt.
  2. Zwiększenie czasu budowy, co opóźnia moment wejścia na rynek, a więc później dowiadujesz się czy produkt faktycznie ma sens i później odnosisz z niego jakieś korzyści.
  3. Zmniejszenie potencjalnej liczby użytkowników.  Tak, więcej ficzerów to znaczy mniej użytkowników.  Bo im prostszy produkt tym łatwiej go zrozumieć i przekazać innym po co on jest, oraz łatwiej go używać.
  4. Zmniejszenie szansy na finansowanie.  Im łatwiej przekonać kogoś do używania produktu, tym łatwiej przekonać inwestora że zarobi na nim.

Także jeśli w Twoim produkcie jest jakaś kluczowa myśl czy funkcja, zbuduj tylko ją i zintegruj ją z gotowymi produktami (jeśli to możliwe), zamiast przepisywać coś co jest na rynku.

Ja powyższe błędy popełniłem kilkakrotnie, czasem prowadziło to do kompletnej porażki, a czasem jednak się udawało.

Piotr: Grono.net powstał w 2004 roku. W 2012, po 8 latach został zamknięty. Co się działo zatem z Wojtkiem Sobczukiem przez te ostatnie 5 lat do dnia dzisiejszego? Nie wyglądasz na człowieka, który lubi sobie robić wolne. Wyciągnij coś ciekawego z szuflady.

Wojciech: No niestety z uwagi na talent programistyczny i serce do startupów zawsze miałem problem z urlopami.  Jednocześnie należę do ludzi którzy skupiają się bardziej na robieniu czegoś niż na opowiadaniu o tym na konferencjach czy blogach, także wiele o mnie nie było słychać.

Przez ten czas pracowałem nad kilkoma startupami, z których jeden się zakończył sukcesem, zbudowałem system billingowy dla startupu z San Francisco który dziś jest dużą firmą i nadal korzysta z tego systemu, byłem CTO w innym startupie z USA.  Także w skrócie nie nudziłem się.

Robiąc to poznałem masę świetnych ludzi i dotarło do mnie że najlepszym rozwiązaniem zarówno dla mnie jak i zespołu z którym pracowałem nad różnymi projektami będzie stworzenie VentureDevs.  A to dlatego, że robiąc jeden startup los całego zespołu zależy od jego powodzenia, a możliwości budowy zespołu ograniczone są możliwościami finansowymi startupu, a w firmie którą tworzymy sytuacja wygląda zupełnie inaczej.

W VentureDevs możemy pracować nad wieloma projektami dla klientów i przyjaciół z całego świata (często z zachodniego wybrzeża USA bo stamtąd jest nasz CEO Joe), w te najbardziej obiecujące angażować się udziałowo czy kapitałowo, a los firmy nie zależy od powodzenia żadnego z tych produktów.  Jednocześnie mamy pełną kontrolę nad tym kogo przyjmujemy do naszego grona, a jesteśmy w tym bardzo selektywni bo chcemy utrzymać niepowtarzalny klimat pomimo wzrostu firmy.  No i mamy niesamowity zespół który umożliwia nam zbudowanie dowolnego przedsięwzięcia, jeśli tylko na horyzoncie pojawi się odpowiedni pomysł i fundusze.

Oczywiście aktualnie jesteśmy młodą firmą, de facto startupem, więc jeszcze wiele pracy przed nami.  Natomiast jesteśmy zdeterminowani aby doprowadzić do tego, żebyśmy stali się najlepszym pracodawcą w naszym kraju i żeby coraz więcej produktów naszych klientów jak i naszych własnych zwyciężało na globalnych rynkach.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Francuski Tchap miał być lepszy od WhatsAppa. Włamano się na niego już pierwszego dnia