Tym razem chcę Ci opowiedzieć, czym właściwie jest firma typu software house, w której pracuje handlowiec IT. Z poniższego artykułu dowiesz się, po co istnieją tego typy przedsiębiorstwa na rynku, jakie problemy biznesowe rozwiązują, jakie świadczą usługi, kto w nich pracuje oraz kim są typowi klienci software house’ów.
Po co na rynku istnieją software house’y?
Zacznijmy od najbardziej podstawowego pytania, a więc, czym zajmują się i po co w ogóle, na rynku IT pojawiły się takie firmy, jak software house’y. Jeśli przetłumaczymy nazwę software house na język polski, co nie jest specjalnie trudne, to otrzymamy określenie “dom oprogramowania”, albo po prostu “miejsce, w którym tworzy się oprogramowanie”. I tym właśnie zajmuje się software house – taka firma tworzy oprogramowanie na zlecenie swoich klientów.
Wyobraź sobie jakąś typową firmę, np. przedsiębiorstwo, zajmujące się produkcją mebli. Ta firma, aby mogła dziś funkcjonować na rynku potrzebuje różnego oprogramowania – np. m.in. systemu do zarządzania produkcją swoich mebli. Jest to jej potrzebne, aby ta firma mogła automatyzować i usprawniać swoją pracę, a przez to oszczędzać czas, pieniądze, dostarczać jakościowy produkt klientom, a dzięki temu wszystkiemu mogła skuteczniej konkurować na rynku. Firma meblarska tego typu – chcąc zrealizować te cele biznesowe – może zakupić gotowy, istniejący system do zarządzania produkcją, i to może być dobre rozwiązanie pod warunkiem, że potrzeby tej firmy w zakresie planowania i zarządzania produkcją są typowe, standardowe, a gotowy system w postaci produktu, który taka firma może zakupić i od razu z niego korzystać, będzie faktycznie rozwiązywał jej problemy. Może być jednak tak, że wspomniana firma meblarska będzie mieć ten proces produkcji mebli poukładany w bardzo specyficzny, nietypowy sposób i na rynku nie będzie dostępnych gotowych systemów, które idealnie wpasowałby się w potrzeby tej firmy związane z automatyzacją produkcji. W takiej sytuacji ta firma może zmienić swój sposób produkcji i dostosować go do funkcjonalności, które oferuje gotowy system, ale z drugiej strony to nie wydaje się optymalne i rozsądne, aby cały biznes i to, jak realizujemy nasze produkty, dostosowywać do sposobu, w jaki działa jakieś oprogramowanie. Drugie wyjście w tej sytuacji to stworzenie dedykowanego, indywidualnego systemu informatycznego, który obsłuży specyficzne potrzeby produkcyjne tej firmy i będzie w pełni dostosowany do jej unikalnych potrzeb.
A teraz drugi przykład – wyobraź sobie jakiś startup technologiczny, a więc młodą, niewielką działalność oraz grupę kilku osób, która w ramach tego startupu pracuje nad stworzeniem jakiegoś innowacyjnego rozwiązania, bazującego na oprogramowaniu – załóżmy dla przykładu, że chodzi o aplikacją mobilną, monitorującą stan naszego zdrowia. Jeśli ta aplikacja jest czymś innowacyjnym, nie ma na rynku tego typu rozwiązania, to oznacza, że trzeba takie rozwiązani wymyślić, zaprojektować oprogramować, a więc ktoś musi taką aplikację wykonać od podstaw, bo na rynku nie ma tego typu dostępnych rozwiązań. Dlatego konieczne tu znów będzie stworzenie dedykowanego, indywidualnego rozwiązania informatycznego, które pozwoli zrealizować tę innowacyjną wizję wspomnianego startupu.
Mamy więc w tych przytoczonych przykładach firmę produkującą meble, która potrzebuje dedykowanego systemu do zarządzania produkcją oraz startup technologiczny, tworzący innowacyjną aplikację. I teraz zarówno ta meblarska firma jak i startup technologiczny, aby zbudować swoje dedykowane, unikalne rozwiązania IT, może albo zrobić to samemu, o ile ma odpowiednie kompetencje, może też zatrudnić osoby z odpowiednimi kompetencjami, które zbudują odpowiedni system czy aplikację, ale może też zlecić wykonanie takiego projektu od podstaw do firmy, która się w tym specjalizuje, czyli innymi słowy wyoutsorcować taką usługę. Firmą, która zajmuje się właśnie outsorcingiem projektów IT na zlecenie swoich klientów jest właśnie software house.
A zatem software house’y to przedsiębiorstwa, które pomagają innym firmom, organizacjom czy startupom realizować ich cele biznesowe i wizje poprzez tworzenie i rozwijanie dedykowanego, indywidualnego oprogramowania. Nie każda firma potrzebuje dedykowanego oprogramowania, ale dla tych, które tego potrzebują software house może być bardzo dobrym rozwiązaniem. Żeby to było możliwe, żeby taki software house świadczył tego typu usługi dla innych firm, to – po pierwsze – musi mieć ludzi z odpowiednimi kompetencjami, a więc zatrudniać oraz utrzymywać różnych specjalistów IT koniecznych do tworzenia i rozwijania oprogramowania, a po drugie musi mieć też wiedzę, tzw. know-how, na temat tego, jak buduje się oprogramowanie, musi mieć sprawdzony proces wytwarzania oprogramowania, tak aby praca tych wszystkich ludzi, których zatrudnia była efektowna i realizowała potrzeby klientów. Innymi słowy, software house, mając swoje zasoby w postaci specjalistów IT oraz umiejętności w zakresie procesu wytwarzania oprogramowania, czyli tzw. know-how, może tych ludzi oraz tę wiedzę oferować na rynku firmom, które takich usług potrzebują.
Jakie usługi świadczy software house’y?
Jakie więc konkretnie usługi świadczy typowy software house dla swoich klientów i kto w nim pracuje? Wbrew pozorom, stworzenie jakiegoś działającego systemu informatycznego czy aplikacji na smartfon, nie wymaga tylko prac programistycznych. Cały proces tworzenie oprogramowania jest dużo bardziej złożony i często software house’y oferuję właśnie takie całościowe, kompleksowe usługi tworzenia różnych projektów IT. W ramach typowych usług software house’ach znajdziemy więc także tworzenie koncepcji oprogramowania, projektowanie jego koncepcji oraz sposobu, w jaki się z niego korzysta, czyli tzw. Product Design, następnie usługi testowania i zapewniania jakości oprogramowania, tzw. Quality Assurance, potem usługi związane z projektowaniem oraz budową infrastruktury serwerowej, na której to oprogramowanie działa, a także usługi w zakresie doradztwa, konsultingu związanego z tym, jak budować, rozwijać oprogramowanie oraz rozwiązywać różne problemy techniczne, które się z tym rozwojem wiążą.
Wymieniłem typowe, najważniejsze usługi, w których mogą specjalizować się software house’y, natomiast różne mogą być specjalizacje tego typu firm. Niektóre z software house’ów mogą oferować kompleksowe usługi związane z tworzeniem oprogramowania, inne z kolei specjalizować się tylko w programowaniu. Dodatkowo w świecie IT bardzo ważna jest też specjalizacja technologiczna – jest wiele technologii i języków programowania, które wykorzystuje się do tworzenia software’u i niektóre z tego typu firm mogą oferować kompetencje w bardzo wielu technologiach, inne z kolei specjalizować się tylko w wybranych. Przykładowo, na rynku znajdziesz duże firmy technologiczne, które będą oferować całe spektrum różnych technologii informatycznych, ale też mniejsze, kilkudziesięcioosobowe organizacje, których specjalizacja technologiczna będzie bardzo wąska – np. takie firmy będą skupiać się tylko na projektach w technologiach mobilnych, a więc oprogramowaniu na smartfony i inne urządzenia przenośne.
Modele biznesowe software house’ów
Różne mogą być też modele biznesowe, w których pracują software house’y. Może to być specjalizacja projektowa, która polega na tym, że firmy tego typu realizują dla swoich klientów różne rozwiązania IT na ich zlecenie, czyli tworzą systemy i aplikacje często od podstaw lub zajmują się dalszym rozwojem i utrzymaniem oprogramowania. W takim przypadku odpowiedzialność software house’u dotyczy tego całego projektu i jego dostarczenie. Może to być też dodatkowo usługa wynajmu specjalistów IT do firm, które tego potrzebują – usługa wynajmu albo pojedynczych specjalistów, np. programistów, albo całych zespołów potrzebnych do tworzenia oprogramowania.
Z takiej usługi wynajmu specjalistów IT z software house’ów często korzystają różne firmy produktowe działające w branży IT, a więc przedsiębiorstwa, które rozwijają jakiś swój produkt informatyczny, który oferowany jest do końcowych klientów. Kiedy taka firma produktowa ma przykładowo nagłe potrzeby biznesowe i musi w szybkim czasie dostarczyć jakieś duże rozwiązanie lub zmianę w swoim produkcie, a brakuje jej specjalistów, to zamiast zatrudniać swoich pracowników IT, co jest być czasochłonne i niełatwe, może właśnie wynająć, niejako wypożyczyć, taki odpowiedni zespół IT z firmy, jaką jest software house. Wtedy software house nie bierze odpowiedzialności za projekt, który jest do zrealizowania, ale za odpowiednich, wykwalifikowanych i dostępnych ludzi, którzy dołączają do zespołu IT po stronie klienta.
Kto pracuje w software house’ie?
Żeby takie usługi IT dla innych firm świadczyć, żeby budować dla nich oprogramowanie, które będzie realizować różne cele biznesowe tych firm, software house potrzebuje zatrudniać i utrzymywać ludzi z odpowiednimi kompetencjami. I to jest jedno z większych wyzwań, jakie mają firmy tego typu na rynku, aby szukać, zatrudniać i utrzymywać różnych specjalistów, którzy potrafią tworzyć oprogramowanie, bo nie jest to takie proste i tych ludzi ciągle brakuje na rynku z uwagi na duże zapotrzebowanie w obszarze tworzenia nowych technologii. Jacy więc ludzie, jacy specjaliści pracują w software house’ie?
Jak już wspomniałem – są to przede wszystkim programiści, inżynierowie, ale ich można podzielić także na wiele specjalizacji i taki najbardziej popularny podział dziś wśród programistów, to podział na programistów frontend i backend. Mówiąc w uproszczeniu: programiści frontend zajmują się programowaniem wizualnej części oprogramowania, jego interfejsu, a więc tego, co widzimy na ekranie komputera czy smartfona. Z kolei programiści backend odpowiadają za tworzenie tego, co stoi jakby za tym interfejsem, a więc całej logiki i mechanizmu, jakiegoś systemu. Poza programistami w wielu software house’ach pracują też często projektanci oprogramowania – z jednej strony będą to tzw. Product Designerzy, którzy odpowiadają za tworzenie koncepcji systemu, wymyślanie, jak dany system ma działać, wyglądać oraz jak z niego będą korzystać użytkownicy, z drugiej strony są to także architekci, którzy projektują oprogramowanie od strony technicznej.
Żeby tworzyć oprogramowanie potrzebni są także jego testerzy czy też szerzej rzecz ujmując specjaliści od zapewniania jakości oprogramowania, czyli od tzw. specjaliści Quality Assurance, którzy m.in. weryfikują efekty pracy programistów i sprawdzają, czy stworzone oprogramowanie nie zawiera błędów oraz realizuje założone cele biznesowe. W software house’ach pracują także specjaliści od kierowania pracami zespołów tworzących oprogramowanie oraz rozwojem oprogramowania – mogą to być różnie nazwane role, ale najczęściej są to Project Managerowie, Product Ownerzy, czy też tzw. Scrum Masterzy, a więc specjaliści od kierowania zespołami IT, pracujących w tzw. scrumie. Scrum – w uproszczeniu – to jednej z ustandaryzowanych sposobów tworzenia oprogramowania, z pewnością dowiesz się więcej o scrumie z tego podcastu w przyszłych odcinkach. Inni specjaliści często zatrudniani w software house’ach to także analitycy biznesowi odpowiedzialni za rozumienie biznesowe czy też inżynierowie DevOps, zajmujący się infrastrukturą serwerową i tzw. chmurą, w której działa oprogramowanie. Oczywiście, poza zespołami realizującymi oprogramowanie, software house’y zatrudniają też dodatkowych specjalistów, bez których taka firma nie mogłaby istnieć – są to, a jakże, handlowcy IT, marketingowcy, specjaliści z obszaru HR, którzy zajmują się szukaniem i utrzymywaniem pracowników, czy też pracownicy administracyjni, np. związani z księgowością firmy.
Warto też podkreślić, że Ci wszyscy specjaliści, których wymieniłem, realizujący w software house’ie jakiś projekt IT, bardzo często współpracują ze sobą całkowicie zdalnie lub hybrydowo, a więc pracując częściowo zdalnie, a częściowo z biura. Oczywiście, więc jeśli chce pracować cały czas stacjonarnie, znajdziesz i takie software house’y. Jednak chce Ci uświadomić że paca zdalna, a przynajmniej hybrydowo w IT to właściwie dziś pewien standard i dotyczy to zarówno stanowisk programistycznych jak i handlowców właśnie. Wyobraź sobie kilkusetosobowy software house, realizujący duże, złożone projekty IT dla klientów z całego świata, którego pracownicy w zdecydowanej większości lub w pełni pracują ze swoich domów, czy też mieszkając tymczasowo za granicą – takie rzeczy możliwe są tylko w IT, m.in. w software house’ach, bo też wszystkie usługi dostarczane klientom w takich firmach mogą być de facto z powodzeniem realizowane w stu procentach zdalnie .
Kim są klienci software house’u?
Na koniec tego artykułu warto jeszcze powiedzieć nieco o samych klientach firm typu software house’u, a więc kto właściwie potrzebuje usług w zakresie tworzenia i rozwijania dedykowanego oprogramowania. W dużym uproszczeniu można powiedzieć, że są to różne firmy i organizacje, potrzebujące jakiegoś oprogramowania, którym jednak nie wystarczają gotowe rozwiązania istniejące na rynku. Mogą to więc być startupy technologiczne, a więc więc przedsiębiorstwa na wczesnym etapie rozwoju, tworzące jakiś biznes oparty na oprogramowaniu, mogą to być małe i średnie przedsiębiorstwa z różnych branż, tzw. sektor MŚP, mogą to być duże korporacje z różnych branż, i w końcu klientami software house’u mogą być też różne podmioty sektora publicznego, takie jak firmy i instytucje państwowe. Oczywiście, potrzeby każdej z tych grup jeśli chodzi o tworzenie oprogramoania i współpracę z software house’m będą się różnić. Zupełnie inną sytuację, potrzeby i problemy, dotyczące oprogramowania będzie mieć kilkuosobowa firma od tej, zatrudniajacej kilkuset pracowników. Inaczej do tworzenia software’u będzie podchodzić jakiś początkujący startup technologiczny, który potrzebuje szybko i tanio zrealizować jakieś rozwiązanie technologiczne, od dużej korporacji, która potrzebuje kompleksowego partnera technologicznego na lata współpracy do wdrożenia i utrzymania jakiegoś zaawansowanego rozwiązania IT. Dlatego też z uwagi na różne potrzeby klientów w IT niektóre software house’y mogą się specjalizować we współpracy z określonymi typami firm czy organizacji. Niektóre z nich mogą przykładowo skupiać się głównie na współpracy z początkującymi startupami i unikać dużych, złożonych przedsięwzięć, inne z kolei mogą realizować dłożone, wieloletnie projekty informatyczne przede wszystkich dla organizacji publicznych czy dużych korporacji.
Software house software house’owi nierówny
Warto też na koniec podkreślić, że software house’y – choć każdy z nim zajmuje się podobnym obszarem, czyli tworzeniem i rozwijaniem oprogramowania dla swoich klientów – potrafią znacznie się od siebie różnić wielkością, stosowanymi modelami biznesowymi, specjalizacjami technologicznymi oraz ofertą, a także różnie może w nich być poukładana sprzedaż oraz praca handlowców. Inaczej będzie wyglądać funkcjonowanie software house’u oraz sama sprzedaż w firmie, która zatrudnia kilkadziesiąt osób, jest kilka lat na rynku, od software house’u z kilkuset osobami na pokładzie, który oferuje swoje usługi przez ostatnie 20 lat, bo i takie firmy są na rynku. Z pewnością będę jeszcze o tym opowiadać w kolejnych odcinkach podcastu handlowiec IT. Dzięki za Twój czas, zapraszam Cię do dyskusji w komentarzach i do zobaczenia.
Wasze komentarze