Informatyczne eldorado #4 – 10 porad dla programistów zakładających własny startup

O cyklu

Czytasz część 4 całego cyklu artykułów o informatycznym eldorado w Polsce. Polecam przeczytać pozostałe artykuły:
Część 1 – zarobki w branży IT
Część 2 – problemy i wyzwania w branży IT
Część 3 – 10 mitów na temat zarobków w branży IT
Część 4 – 10 porad dla programistów zakładających własny startup
Część 5 – Higiena pracy przy komputerze – jak nie zrobić sobie krzywdy`

Wstęp

Wielu programistów mimo trwającego eldorado na rynku marzy o założeniu własnego biznesu czy zbudowaniu własnego produktu. Motywować do tego mogą najróżniejsze rzeczy:

  • Czujesz, że masz świetny pomysł na biznes lub produkt
  • Jesteś świetnym programistą i czujesz, że Twój talent „na etacie” się marnuje
  • Masz dość pracy na etacie
  • Zawsze marzyłeś o własnym biznesie
  • Szukasz zmiany i/lub przygód
  • Chcesz zarabiać więcej
  • Chcesz mieć dochód pasywny

Bez względu na Twoją motywację warto abyś poznał kilka rzeczy, które mogą oszczędzić Ci sporo nerwów, problemów i czasu w przyszłości.

Wiem, że jeśli nie prowadziłeś żadnego biznesu wszystko może wydawać Ci się proste. Sukces czeka tuż za rogiem. Wiem, też, że jeśli pracujesz jako programista „wiesz swoje” i tak naprawdę czujesz, że nie potrzebujesz takich porad. Nie uwierzyłbyś jak dużo osób po kilku miesiącach lub latach rozwijania własnego biznesu (startupu) wypowiada jedno bardzo charakterystyczne zdanie “Szkoda, że nie wiedziałem tego wcześniej”. Osobiście słyszałem je wiele razy.

Tak się złożyło, że będąc programistą miałem okazję rozwijać własną firmę popełniając przy tym całą masę błędów. Jakiś czas temu napisałem nawet na ten temat artykuł https://www.marcinmuras.com/60-najwazniejszych-lekcji-czyli-czego-nauczylem-sie-w-ostatnich-latach-budujac-firme/. Polecam go przeczytać jako rozwinięcie tego artykułu. 

Zależało mi jednak aby stworzyć krótki artykuł skierowany konkretnie do programistów. To programiści bardzo często decydują się na zakładanie własnych startupów technologicznych ze względu na posiadane umiejętności techniczne. I to oni ponoszą często sromotne porażki. Szkoda marnować takiego potencjału.

Uwaga. Porady te mają sens w kontekście startupu, który nie oferuje usług informatycznych. W artykule zakładam więc, że nie budujesz kolejnego software house (bo tam nadal możesz programować sprzedając swój czas na godziny). Porady nie dotyczą też samozatrudnienia czy pracy kontraktorskiej (bo to jest de facto inny „model” pracy na etacie).

1. Nie zaczynaj budowania firmy od programowania. Zacznij od weryfikacji swojego pomysłu

Masz pomysł na biznes. Pierwszą rzeczą jaką powinieneś zrobić zakładając firmę na pewno NIE JEST programowanie. 

Jest takie powiedzenie “jeśli ktoś jest młotkiem to wszystko traktuje jak gwoździe” 🙂 To naturalne więc, że będąc programistą chcesz robić to co umiesz robić najlepiej czyli programować. Też tak miałem. Nadal tak mam gdy myślę o jakimś startupie. To jest jak choroba i trzeba się z niej leczyć.

Jaka jest więc pierwsza rzecz na której powinieneś się skupić?
Zanim napiszesz pierwszą linijkę kodu powinieneś zweryfikować czy Twój pomysł jest wart realizacji. Czy ma sens. Czy rozwiązuje komuś jakiś problem. Czy jest ktoś kto będzie gotowy za niego płacić i ile. W dużym skrócie życie jest zbyt krótkie aby budować projekty, których nikt nie potrzebuje. Szkoda Twojego czasu aby tworzyć coś co będzie bezużyteczne. To jeden z pierwszych i największych błędów jakie można popełnić.

Ok jak zweryfikować więc swój pomysł?
Aby to sprawdzić musisz zacząć rozmawiać ze swoimi przyszłymi klientami. I tu pojawia się najczęściej drugi problem. Rozmowa z potencjalnymi klientami jest dla Ciebie jako programisty niekomfortowa. Raczej nie umiesz tego robić, nigdy nie robiłeś. Takie rozmowy oznaczają wyjście ze swojej strefy komfortu. Wymagają odwagi. Dopiero gdy zaczniesz rozmawiać ze swoimi klientami możesz zacząć budować swój MVP czyli minimalnie satysfakcjonujący produkt bazując na ich feedbacku.

I znów to nie oznacza, że koniecznie musisz kodować. Najlepiej zrozumiesz to na prostym przykładzie. Ostatnio rozmawiałem z chłopakiem, który budował portal do wypożyczania sal szkoleniowych. Mieli gotowy portal na budowę którego wydali ponad 100 tys. zł. Na pytanie ile mają już sal, które mógłbym w tym momencie wynająć usłyszałem, że.. żadnej. Katastrofa! Jak można zrobić to inaczej nie wydając złotówki? W pierwszej kolejności wystarczyło zająć się budową biznesu, zamiast budową portalu. To fundamentalna różnica. Dużo rozsądniejszym byłoby znalezienie w Polsce pierwszej firmy, która chciałaby “wstawić” swoje sale na portal (nieistniejący, hipotetyczny). Następnie należałoby poszukać chętnych osób, które taką salę by fizycznie wynajęły. Od nas, ręcznie, nie przez portal. Mogłyby to zrobić nawet przez email. Chodzi o to aby doprowadzić do pierwszej transakcji. Do przepływu gotówki. Dopiero mając takie transakcje moglibyśmy przystąpić do próby ich automatyzacji budując portal. Oczywiście rozwiązań i podejść do tego problemu jest więcej. Chciałem pokazać czym różni się budowanie biznesu od budowania produktu (programowania).

Generalnie cały proces weryfikacji swojego pomysłu i wypracowanie rentownego modelu biznesu to nie lada wyzwanie. Nie da się tego opisać w jednym artykule. Powstają na ten temat całe książki. Szczególnie polecam Ci “Metoda Running Lean. Iteracja od planu A do planu, który da Ci sukces”. Opisuje ona krok po kroku to o czym mówię w tym punkcie.

2. Nie rzucaj etatu

Z powodu powyższego punktu logiczny wydaje się kolejny. Gdy masz pomysł i decydujesz się w końcu na założenie własnej firmy nie wiesz jeszcze czy to co wymyśliłeś ma sens. W głębi duszy czujesz, że jest to najlepszy pomysł na świecie ale uwierz mi, dopóki tego nie potwierdziłeś to jedynie Twoje przypuszczenia. W związku z tym nie rzucaj od razu etatu. To zbyt ryzykowne szczególnie w tak dobrze płatnej branży jak IT.

Oczywiście znam przypadki gdzie ludzie twierdzą, że nie mają czasu i że mają pomysł ale przez to, że pracują na etacie nie starcza im na nic czasu. To kolejny ciekawy problem. Jeśli pracujesz 8h na dobę i na nic innego niestarcza Ci czasu nie wiem czy zakładanie biznesu to dobry pomysł. W praktyce ciężko jest rozwinąć biznes pracując tylko 8h dziennie (przysłowiowe od 8 – 16). Budowa biznesu w tych pierwszych miesiącach i latach to praca praktycznie 24h (no powiedzmy 2 etaty czyli 16h na dobę).

Faktem jest natomiast, że rzucenie etatu może być ogromną motywacją i zastrzykiem energii. Ostatecznie musisz sam podjąć tą decyzję znajac wszystkie za i przeciw. Ważne abyś zrobił to świadomie.

3. Budując biznes będziesz musiał przestać programować

Programowanie jest niesamowite. Uzależnia. Sprawia przyjemność. Daje satysfakcję. Znam te uczucia. Marząc o firmie być może wyobrażasz sobie, że jedyne co się zmieni w stosunku do Twoich dotychczasowych obowiązków to to, że będziesz programował tylko na “własny rachunek”. Też tak myślałem.

Taki stan rzeczy byłby idealny. Jako programiści budowalibyśmy wtedy niesamowite biznesy. Rzeczywistość wygląda jednak zupełnie inaczej. Decydując się na budowę własnej firmy będziesz musiał przestać robić to co tak bardzo lubisz czyli programować.

Budując własny biznes nie możesz skupiać się tylko na budowaniu produktu czyli na programowaniu (na byciu specjalistą technicznym). Budowanie biznesu to w głównej mierze zarządzanie, bycie liderem, myślenie o kierunkach rozwoju i sprzedaży tak aby zapewnić firmie przetrwanie. Musisz przestać być specjalistą technicznym (programistą), a musisz zacząć być menedżerem i przedsiębiorcą. 

Oczywiście w pierwszych miesiącach gdy trzeba zbudować produkt spokojnie możesz programować. Jest to wręcz normalne, że wykorzystujesz kompetencje, które masz. Jesteś pierwszym pracownikiem w swojej własnej firmie. Dzięki temu możesz w ogóle założyć firmę (bo nie byłoby Cię stać na zatrudnienie programisty) i stworzyć produkt. Pamiętaj jednak, że ten stan nie może trwać wiecznie. Skupianie się na programowaniu zamiast na rozwijaniu firmy skończy się katastrofalnie. Im wcześniej przestaniesz być specjalistą tym lepiej.

Oczywiście można wyobrazić sobie inne scenariusze. Na przykład gdy zakładasz firmę ze wspólnikami. Umawiacie się, że to Twój wspólnik będzie pełnił rolę lidera. Ty będziesz pełnił rolę CTO (a na początku programisty). Taki scenariusz również spotykany jest dosyć często. Jednak w miarę wzrostu firmy prawdopodobnie i tak z czasem odejdziesz od programowania na rzecz zarządzać działem IT (jeśli będziesz chciał skalować swój biznes)

4. Programowanie nie jest najważniejszą umiejętnością przy budowaniu firmy

Prawda jest taka, że budowanie biznesu wymaga zupełnie innych umiejętności i kompetencji niż posiadasz jako programista. Programowanie to tylko jedna z setek umiejętności jakie będą potrzebne.

Najbardziej pożądane umiejętności czy cechy są mniej więcej takie:

  • Musisz mieć wysoki poziom inteligencji emocjonalnej i umiejętności miękkich. Biznes to ludzie i kontakty z nimi. To budowanie zespołów i zarządzanie nimi. Może to być jeden z największych wyzwań dla każdego programisty
  • Musisz nauczyć się delegować. Janusze biznesu i jednoosobowe orkiestry są skazane na porażkę.
  • Musisz umieć myśleć analitycznie. Biznes to patrzenie na rynek, na dane, analiza, wyciąganie wniosków i podejmowanie decyzji. Przy odrobinie wysiłku całkiem dobrze wychodzi programistom.
  • Musisz być proaktywny. Biznes wymaga cały czas Twojej inicjatywy. Samo nic się nie stanie i nie zrobi. Pierwszą oznaką proaktywności jest chęć i decyzja o założeniu firmy.
  • Musisz być liderem i przywódcą (lub jeśli nie chcesz może zostać nim jeden z Twoich wspólników)
  • Musisz mieć dużą motywację. Musisz chcieć pracować przed długi czas i nie poddawać się. Sukces wymaga wielu lat ciężkiej pracy.
  • Musisz być kreatywny. Biznes to nieustanna praca twórcza i rozwiązywanie setek problemów z różnych obszarów.
  • Musisz bardzo dobrze zrozumieć rynek na którym chcesz działać oraz klientów.
  • Musisz być bardzo dobrze zorganizowany i umieć wyznaczać cele. Musisz robić to co jest ważne przed tym co jest pilne.
  • Musisz mieć też trochę szczęścia
  • Musisz mieć wizję firmy czy to co chcesz zbudować. Jako programista (specjalista techniczny) myślisz „w teraźniejszości”. Jako przedsiębiorca musisz myśleć „o przyszłości”.

5. Jako programista masz podobne szanse jak ludzie z innych branż

Budowanie firmy wyrównuje szanse. Nagle okazuje się, że masz podobne szanse do innych. Przestaje liczyć się to, że byłeś świetnym programistą. Programistom często wydaje się, że świat kręci się wokół IT. Prawda jest inna. Świat kręci się wokół pieniędzy i biznesu.

To wiąże się z punktem powyżej. W biznesie potrzebny jest zupełnie inny zestaw umiejętności (np. miękkich), których możesz nie posiadać jako programista. To wyrównuje szanse. Wygra ten, kto szybciej i lepiej zrozumie o co chodzi w budowaniu firmy, zdobędzie brakujące umiejętności i skutecznie zastosuje je w praktyce zdobywając klientów.

6. Nie trzymaj w ukryciu swojego pomysłu. Nikt Ci go nie ukradnie

Jeśli wpadłeś na jakiś pomysł bardzo często masz poczucie, że jest on genialny. Tym samym stajesz się podejrzliwy i nie chcesz aby ktokolwiek dowiedział się o tym geniuszu. Boisz się, że ktoś ten pomysł Ci ukradnie. To powszechny błąd.

Zrozum, że sam pomysł jest wart niewiele. Najważniejsze jest wykonanie tego pomysłu. To wykonanie zależy od setek czynników. Każdy pomysł da się zrealizować na setki sposobów.

Zamiast tego powinieneś jak najszybciej rozmawiać z jak największą liczbą osób o swoim pomyśle (do czego zmusza Cię poniekąd punkt pierwszy).

U programistów punkt ten może przybrać jeszcze bardziej skrajny scenariusz. Programiści popełniają pierwszy błąd i zaczynają budowę biznesu od kodowania. Programują swoje rozwiązanie w domowym zaciszu przez długie miesiące nie pokazując go kompletnie nikomu. W pakiecie popełniają tym samym kolejne błędy. Nie tylko nie weryfikują pomysłu z obawy przed kradzieżą ale nie weryfikują też na wczesnym etapie samego produktu.

To dziwne bo jeśli jesteś programistą to na pewno pracowałeś w Scrumie. Tworzyłeś więc aplikacje w sposób iteracyjny. Po każdym sprincie udostępniałeś kolejną wersją aplikacji użytkownikom. Czemu budując firmę miałbyś postępować inaczej?

7. Budowanie biznesu jest trudniejsze niż nauka programowania

Często mówi się, że branża IT wymaga ciągłej nauki. Jest to prawda. W IT ciągle musisz się uczyć aby nie wypaść z rynku.

Jednak jeśli myślisz, że nauka programowania czy nauka kolejnych frameworków jest trudna to wiedz, że budowanie biznesu jest wielokrotnie trudniejsze. Nauka kolejnego języka programowania czy frameworku to doświadczenia z tej samej dziedziny. Biznes wymaga angażowania się w całkowicie różne dziedziny (zarządzanie, sprzedaż, marketing, obsługa klienta, finanse itp.) w tym samym czasie. W każdym z tych obszarów jest niebywała liczbą wątków (mówiąc językiem developerskim), które trzeba obsłużyć. To tego dochodzi czynnik białkowy (ludzie) od których rozwój biznesu zależy. Budowanie firmy to prawdziwy cross fit dla mózgu.

Polecam ten artykuł https://www.marcinmuras.com/rozwoj-firmy-na-jednej-infografice/ jeśli chcesz zobaczyć jakie obszary w firmie będziesz musiał ogarniać.

8. Nie zbudujesz biznesu bez zespołu

Programistom często wydaje się, że skoro kodują to stworzą produkt i cała reszta stanie się sama. Otóż się nie stanie. Ten problem wiąże z wątkami opisanymi powyżej. Programowanie nie jest najważniejsze przy budowaniu biznesu. Najważniejsza jest sprzedaż. Nawet jeśli okaże się, że jako programista jesteś genialnym sprzedawcą nadal niewiele to zmienia. Firma to tysiące spraw do ogarnięcia w dziesiątkach różnych obszarów.

W praktyce nie da się zbudować firmy w pojedynkę. Co najwyżej zbudujesz sobie nowe stanowisko pracy. A na koniec i tak się wypalisz i zanudzisz na śmierć (czy wyobrażasz sobie pracować w jednym projekcie IT na przykład przez 10 lat.. bo tyle może zając Ci rozwój firmy..).

Idealnie od początku załóż, że musisz zbudować zespół. Musisz delegować. Tylko zespół jest w stanie wykonywać rzeczy, których nie znasz. Tylko zespół jest w stanie zapewnić Ci czas na odpoczynek i „ostrzenie piły”. Tylko zespół jest w stanie generować wystarczającą wartość, pomysły i być świetnym motywatorem.

Jak zacząć budować zespół?
Jest co najmniej kilka sposobów. Możesz zaangażować kolegów z pracy, rodzinę lub innych znajomych. Wyjdź do ludzi i weź udział w wydarzeniach typu https://startupweekend.org/ (są ich dziesiątki). Masz szansę poznać tam innych ludzi, którzy myślą o założeniu firmy lub/i poszukują osób do realizacji swojego pomysłu.

9. Klientów nie interesuje jak dużo czasu poświęciłeś na kodowanie danej funkcji

Zespoły programistyczne uwielbiają skupiać się na detalach związanych z budowaniem kolejnych funkcji. To naturalne i oczywiste. Tylko my (programiści) wiemy ile czasu i wysiłku poświęciliśmy danej funkcji czy rozwiązaniu. Jesteśmy z tego dumni. Żyjemy tego typu faktami i … wydaje nam się, że klienci powinni doceniać włożony wysiłek.

Rzeczywistość znów wygląda inaczej. Klientów kompletnie nie interesuje jak trudna czy kosztowna była dana funkcja. Jeśli jest nieużyteczna, zbędna lub nie działa poprawnie nie ma znaczenia ile wysiłku programiści włożyli w jej stworzenie. Zrozumienie tego faktu jest kluczowe. Patrz na budowany produkt oczami klienta, a nie oczami programisty!

10. Ucz się biznesu tak jak kiedyś uczyłeś się programowania

Jeśli poważnie myślisz o budowie jakiegoś produktu i w konsekwencji przychodu pasywnego musisz zacząć nad tym pracować. Dokładnie tak samo jak przez wiele lat pracowałeś nad nauką programowania czytając kolejne książki, blogi, biorąc udział w konferencjach branżowych czy w końcu kodując. Zakładając startup będziesz musiał powtórzyć ten proces (pamiętając, że może on być wielokrotnie trudniejszy!)

Aby nie zostawiać Cię bez konkretów na początek polecam przeczytanie kilku książek, które mi osobiście zrewolucjonizowały życie. I tak… żałuję, że nie przeczytałem ich dużo wcześniej zanim zabrałem się za własny startup:

  1. „7 nawyków skutecznego działania”
    Ta książka powinna Ci pomóc w budowie kompetencji miękkich
  2. “Metoda Running Lean. Iteracja od planu A do planu, który da Ci sukces”
    Ta książka powinna pomóc Ci zweryfikować pomysł na biznes
  3. „Biznes po prostu”
    Ta książka bardzo zgrabnie opisuje całe przedsięwzięcie pod tytułem budowanie biznesu w Polskich realiach
  4. “Getting Things Done, czyli sztuka bezstresowej efektywności”
    Ta książka pozwoli Ci być lepiej zorganizowanym
  5. “Jednominutowy menedżer. Najpopularniejsza na świecie metoda zarządzania”
    Ta książka pomoże Ci zrozumieć jak delegować i zarządzać ludźmi.
  6. „Mit przedsiębiorczości”. Obowiązkowa lektura, która pokaże Ci dlaczego musisz przestać być specjalistą technicznym czyli programistą gdy zakładasz biznes.

Tak naprawdę polecam przeczytanie tych książek bez względu na to czy zakładasz biznes czy nie 🙂

Podsumowując

10 wymienionych tutaj porad dla programistów to tylko wierzchołek góry lodowej. Koniecznie przeczytaj również ten artykuł https://www.marcinmuras.com/60-najwazniejszych-lekcji-czyli-czego-nauczylem-sie-w-ostatnich-latach-budujac-firme/ oraz polecane powyżej książki.

Aby zachęcić Cię do spróbowania swoich sił w biznesie chcę abyś zapamiętał, że rozwijanie własnego startupu może być tak samo pasjonujące i uzależniające jak programowanie! Oba tematy łączy jedna fajna rzecz – tworzysz coś z niczego.

Jeśli artykuł był dla Ciebie pomocny lub znasz osoby, którym może się przydać podziel się nim z innymi 🙂