Jak stworzyć software house? – 6 wskazówek
Wielu programistów marzy o założeniu firmy IT, w której zatrudnieni pracownicy będą zarabiać na utrzymanie szefa podczas gdy ten będzie korzystał z wolnego czasu. Wizja ta jest jak najbardziej realna, jednak nie jest prosta do osiągnięcia (przynajmniej w początkowych etapach). W tym wpisie rzucam garść przemyśleń (garść = 6), na temat tego jak podejść do założenia software house z głową, minimalizując ryzyka – jednocześnie wykorzystując wszystkie możliwe ku temu okazje. Jeżeli myślisz o założeniu firmy zatrudniającej pracowników i realizując projekty IT – ten wpis jest dla ciebie. Swoje przemyślenia kieruję głównie do osób, które są zatrudnione w firmie IT jako programiści, jednak wierzę w to, że inne zawody znajdą analogię i bez problemu zastosują wspomniane przeze mnie wskazówki w swojej sytuacji.
1. Jak pozyskać pierwszego klienta będąc programistą?
Obecne czasy rozpieszczają programistów – nie trudno o dobrze płatną pracę. Możesz wykorzystać ten fakt na swoją korzyść – podzielę się z tobą pewną wskazówką, którą ktoś kiedyś podzielił się ze mną 😉 Szacuje się, że na polskim rynku brakuje około 50 000 specjalistów – czy aż tylu, nie jestem pewien – jednak sam zauważam tendencję, że większość firm szuka programistów. Pracując jako developer istnieje duża szansa, że twój aktualny pracodawca potrzebuje dodatkowych zasobów. Warto wykorzystać ten fakt i pomóc – zatrudniając programistów i dostarczając ich do swojego „pracodawcy”. Według mnie jest to najprostsza droga do założenia firmy programistycznej będąc programistą. Postępując w ten sposób rozwiązujesz problem pracodawcy (który stał się twoim klientem) ponieważ dostarczasz brakujące zasoby biorąc za nie odpowiedzialność. Dlatego warto (przynajmniej na początku) nie brać ludzi z tzw „pierwszej łapanki”. Obracając się w środowisku programistycznym na pewno masz wielu znajomych, z którymi pracowałeś nad różnymi projektami – warto wykorzystać te kontakty rozpoczynając nową formę współpracy z pracodawcą (klientem). Zatrudnianie i dostarczanie programistów nie jest proste, a zwłaszcza początki bywają trudne – dlatego warto zacząć z ludźmi, których wiesz na co stać. Raczej nie polecałbym otwierać rekrutacji i dostarczać zasoby, po których nie wiadomo czego się spodziewać. Tak więc jeśli masz możliwości – rozpocznij współpracę z programistami, których znasz. Otwartą rekrutację na osoby całkowicie nieznane potraktowałbym jako „ostateczność”. Nie twierdzę, że wcześniej wspomniana rekrutacja jest czymś złym – to stwarza pewne ryzyko bo nie wiemy na kogo trafimy, a jeśli mamy możliwość wyeliminować to ryzyko, skorzystajmy z tej możliwości.
2. Jaka umowa dla software house?
Ostatnio zyskująca na popularności forma współpracy – czyli rozliczanie się poprzez własną działalność gospodarczą lub spółkę. Jeżeli to możliwe – warto użyć tej formy współpracy z pracodawcą. Nie we wszystkich (ale w większości) przypadków będzie to bardziej opłacalne, jednak otwiera szersze perspektywy. Rozliczając się z pracodawcą na zasadach B2B – dostarczenie dodatkowych zasobów zazwyczaj wiąże się jedynie z dodatkowym aneksem lub umową. B2B oznacza dla twojego klienta / pracodawcy prostsze rozliczenia i często przeniesienie większej odpowiedzialności na ciebie – wtedy nie chroni cię kodeks pracy. Przemawia to za tym, żeby rozpocząć z tobą współpracę. Dodatkowym plusem B2B jest to, że nauczysz się jak działa biznes (a przynajmniej jak jest rozliczany). Zobaczysz ile wynosi cię ZUS, ile płacisz podatku, w jakich terminach musisz uregulować te płatności, jakie umowy podpisać z programistami, których chcesz dostarczać. Te i wiele innych „ciekawostek” będziesz musiał się nauczyć. Rozwinie ci to pewne myślenie i zakoduje zasady, bez których ciężko byłoby ci prowadzić software house. Nauczysz się też jak ustalać cenę – znając swoje koszta (i pracowników) koszta netto i brutto. Można powiedzieć, że to abecadło, które musisz poznać.
3. Zadbaj o cashflow
Jak to mówią – pieniądze robią pieniądze. Podobnie jest też w tym przypadku. Znam wiele przypadków software house, które borykają się z przepływem gotówki lub jej brakiem. Nie jest łatwo pozyskać klienta – szczególnie pierwszego. Często otworzenie firmy programistycznej wiąże się z kosztami, których nie możemy uniknąć – jak chociażby składki na ubezpieczenia, komputery dla pracowników, ich pensje. Nie mając przychodu ciężko jest pokrywać te wydatki – tym bardziej nie mając perspektywy na przychody. Nie mam badań na ten temat, ale śmiem twierdzić, że są to w większości powody upadków firm programistycznych – niewspółmierne wydatki do przychodów. Tak jak wcześniej wspomniałem – znam wiele takich przykładów, gdzie właściciele mieli problem z pokryciem wydatków, a co dopiero mówić o inwestycjach w rozwój (które bywają ryzykowne). Nie mając perspektywy (w miarę pewnych) przychodów strasznie trudno jest ponosić ryzyko i inwestować z nadzieją zysku. Korzystając z sytuacji, którą opisałem w powyższych akapitach – zamieniając swojego aktualnego pracodawcę w klienta eliminujesz wiele ryzyk. Możesz zostać na etacie jako programista – swoim (na początku mini) zespołem zarządzać „po godzinach”. Wszystko jest kwestią ustaleń – da ci to pewne zabezpieczenie i środki do ewentualnych inwestycji oraz poduszki finansowej.
4. Zabezpiecz swoje przychody
We wcześniejszym akapicie wspomniałem, że pieniądze robią pieniądze. Jeżeli jesteś aktualnie na etacie, tracąc pracę – tracisz 100% przychodów. Podobnie jest w sytuacji, w której masz software house i utrzymujesz się z jednego klienta. Pewnie już wiesz, co chcę powiedzieć w kolejnych linijkach. Mając dwóch klientów, w przypadku straty jednego z nich – obcinasz swoje przychody o 50% (nie o 100% (w teorii)). Dlatego moim zdaniem w sytuacji, gdy twoja forma współpracy z pierwszym klientem się ustabilizuje – będziesz znał dokładnie swój zespół i występujące problemy staną się powtarzalne i w pełni rozwiązywalne – pomyśl nad rozszerzeniem współpracy o innych klientów. Ważne by zrobić to w odpowiednim momencie – ciągnięcie wielu srok za ogon nie kończy się dobrze – uważaj na falstart. Będzie to łatwiejsze mając już pierwszego klienta na swojej liście – możesz śmielej inwestować, masz już napoczętą budowę portfolio, jesteś też bogatszy w nowe kompetencje. Jedyne co ci zostaje to budować markę i skalować swój biznes 🙂 Posiadanie wielu klientów daje też możliwość lepszej utylizacji zasobów – jeśli akurat jeden klient nie potrzebuje developera, być może będzie go potrzebował drugi lub trzeci klient.
Sprawdź jak mogę Ci pomóc osiągnąć Twoje cele 🎯
5. Jak przekonać pierwszego klienta do siebie?
Oczywistą oczywistością jest to, żeby powyższe punkty działały – musisz dostarczać jakościowe rozwiązania. Będąc „na etacie” budujesz swój wizerunek u pracodawcy (przyszłego klienta). Warto żeby był profesjonalny. Jeśli nie jesteś proaktywny, nie wykazujesz inicjatywy – nawet mimo korzystnych stawek będzie ci trudno przekonać do siebie klienta. Postawę, którą dokładnie mam na myśli opisałem w wpisie na temat tego, jak uzyskać awans – nie będę więc się powtarzał. Jeśli jesteśmy przy temacie jakości i zadowolenia z wyników – warto żebyś rzucił okiem na wpis o tym, jak definiuję dobrego developera.
6. Zostań leaderem
Jeżeli myślisz, że prowadzenie software house jest łatwe – to jesteś w błędzie. Twoi pracownicy będą mieli problemy, które stają się twoimi problemami. Mogą być one prozaiczne – np wzięcie urlopu przez pracownika, w momencie gdy klient go potrzebuje. Stajesz się w pewnym sensie warstwą pomiędzy klientem, a pracownikami, która musi takie i inne problemy rozwiązać w taki sposób, żeby obie strony były zadowolone. Nie jest to łatwe, czasami bywa niemożliwe i musisz minimalizować straty. Ważne jest to, żeby przychodzić do klienta z rozwiązaniem, a nie problemem – podchodzić do współpracy zdroworozsądkowo. Istnieją też problemy innej natury – takie jak nierzetelność/nieprofesjonalizm/niesłowność pracowników (wstaw tu dowolną negatywną cechę) – niektóre z nich da się „wyprostować” poprzez rozmowy, inne nie. Ja jako najbardziej wartościowych pracowników uważam tych, z którymi jest najmniej problemów do rozwiązania (oraz posiadają niezbędne kompetencje). Zdecydowanie wolę współpracować z ludźmi, którzy nadają na podobnych falach i generują mniej problemów (nawet jeśli mają delikatne braki techniczne), niż z omnibusami technologicznymi z którymi nie czuję „chemii”. Warto zaznaczyć też, że w większości przypadków nie da się całkowicie uniknąć problemów – prawdopodobnie na przestrzeni czasu niektórzy pracownicy odpadną drogą „naturalnej selekcji” – albo wypracujecie kompromisy, albo wypowiedzenie współpracy. Musisz zdawać sobie sprawę, że bierzesz odpowiedzialność za swój zespół – podpisujesz się pod ich pracą własnym imieniem i nazwiskiem. To właśnie rozwiązywanie wcześniej wspomnianych problemów oraz obarczenie tą odpowiedzialnością jest nagradzane marżą, którą narzucasz 🙂
Podsumowanie
Prowadzenie własnej firmy programistycznej nie jest łatwe – musisz sobie zdawać sprawę z odpowiedzialności, którą bierzesz oraz nowych problemów, które będą na twojej głowie. Początki współpracy zawsze są trudne – dlatego warto wykorzystać wszystkie możliwe okazje, mam tutaj na myśli przekształcenie swojego pracodawcę w pierwszego klienta. Rozpoczynając współpracę na zasadach B2B przygotowujesz grunt pod przyszłe rozszerzenie relacji jako software house. Po ustabilizowaniu sytuacji z pracownikami i klientem – warto zacząć skalować swoją działalność minimalizując ryzyko utraty płynności finansowej – szukając kolejnych klientów. Jeśli masz sugestie, chętnie przeczytam je w komentarzach 🙂
Dziękuję, że przeczytałeś ❤️
Pssst... przygotowałem dla Ciebie kilka prezentów - wybierz co Ci się przyda! 👍
„Wielu programistów marzy o założeniu firmy IT, w której zatrudnieni pracownicy będą zarabiać na utrzymanie szefa podczas gdy ten będzie korzystał z wolnego czasu. Wizja ta jest jak najbardziej realna, jednak nie jest prosta do osiągnięcia (przynajmniej w początkowych etapach).”
Nie kupuję tego 😛 Może obracam się w innych kręgach i moje doświadczenie jest zupełnie inne niż Twoje, ale dla mnie rozkręcenie swojego biznesu to bardziej wizja ogromnie ciężkiej pracy, wielu wyrzeczeń i często znajdowania się na granicy ryzyka, gdzie dodatkowo możemy ręczyć całym swoim majątkiem. Biznes jest moim zadaniem jedynie dla ludzi o stalowych nerwach, a wizja „nic nie robienia, gdy inni będą pracować na mnie” jest raczej utopijna.
Trafny na pewno jest punkt o przejściu na B2B, bo faktycznie można trochę obeznać się z tematem prowadzenia firmy od strony prawnej/podatkowej i zweryfikować, czy nas to kręci i chcemy iść w taką stronę. Na pewno ktoś kto jest zwykłym programistą i zamarzyło mu się, że zamiast pracować w firmie sam otworzy firmę musi zdawać sobie sprawę, że w swojej firmie nie będzie już programował chyba, że jedynie dodatkowo wieczorami po załatwieniu wszystkich innych obowiązków. Jeżeli ktoś chce zamienić etat na prowadzenie swojego software house i chce dalej zajmować się głównie programowaniem to coś mu się źle poukładało w głowie 😛
Nikt nie mówi, że to łatwe, mimo to wielu ludzi chce próbować 🙂
Ci co chcą próbować powinni być świadomi co kładą na szali. Porównując to do przykładowo próby zostania programistą, czy to w młodym wieku, czy dopiero później, gdzie w grę wchodzi kwestia przebranżowienia wszystko co ryzykujemy to głównie czas, ewentualnie jakieś nieduże pieniądze – myślę, że max. parę tysięcy. Jak się nie uda to raczej bez większych problemów powinniśmy być w stanie wrócić do tego czym się zajmowaliśmy wcześniej.
W przypadku próby rozkręcenia własnego biznesu można stracić o wiele, wiele więcej. Znam osoby (co prawda nie z branży IT), które do dziś spłacają kredyty i mają na karku komorników po nieudanych przedsięwzięciach lub zaległości w ZUS i skarbówce przez źle zinterpretowane przepisy. Można winić biuro rachunkowe, które w błędny sposób poprowadziło Twoje sprawy, ale to TY przedsiębiorco zostaniesz za te błędy obciążony – naprawdę trzeba uważać.
Wiem, że brzmi to z mojej strony pesymistycznie, ale moim zdaniem podchodzenie do tego tematu w taki lekki sposób, trochę z głową w chmurach może się źle dla kogoś skończyć, a jeszcze dodatkowo można skrzywdzić innych – swoich pracowników, jak nie będziemy w stanie wywiązać się z należności, bo przykładowo nasz klient zalega nam z opłaceniem faktury na kwotę 50 tyś. już 3 miesiąc.
Rozkręcanie swojej działalności to bardzo głęboki temat i trzeba podejść do niego z ogromną rozwagą.
Zgadzam się z tobą – moim zdaniem nie brzmi to pesymistycznie tylko realnie i każdy kto zaczyna z własnym biznesem powinien sobie zdawać z tego sprawę. Dlatego ja sugeruję miękkie wejście w to – na początku warto prowadzić 1-osobową DG, później rozszerzyć to o pracownika mając jednocześnie stałe źródło przychodów. W kolejnych etapach rozszerzenie liczby klientów – czyli wszystko stopniowo skalować.
Dobry opis początków działania małego software house’u. Brakuje mi w tym artykule jednak odpowiedzi na – ważne moim zdaniem – pytanie: kto odpowiada za usługę/produkt? Zgodność z umową, projekt i jego dokładne omówienie z klientem, testy, gwarancję. Większość z tych spraw programista jako programista omijał szerokim łukiem albo dostawał na liście zadań rozebrane do ostatniej śrubki 😉 Software house bierze odpowiedzialność – to jest najcięższa praca, ale i największy powód do dumy.
Wszystko zależy jakie projekty robicie. DLa niektórych klientów udostępnia się zasoby i realizują one wizje klienta, w innych przypadkach robi się wywiad, analizę i realizuje projekt in house. Klienta interesuje efekt.