Jak vybudovat malou softwarovou firmu
Zaměstnavatel
Jak se posunout ze “vše dělám sám” na zaměstnavatele, popíšu v tomto článku a budu čerpat z vlastních zkušeností. Pokud vás zajímá, jako zaměstnance, jak se přeměnit na majitele vlastní firmy, přečtěte si předchozí článek.: “Z programátora podnikatelem”. Když už máte společnost s.r.o., jednou přijde chvíle, kdy je práce již moc a vy byste rádi přijali zaměstnance. Není to vždy snadné svěřit práci někomu jinému. Hlavně chcete, aby kvalita práce zůstala nebo byla ještě lepší.
My nové zaměstnance učíme naše způsoby, udělali jsme jim dokumenty jak co dělat a nedělat. Nováčci začínají psaním testů a učíme je vytváření Pull-Request / Merge-Request a akceptovat naše review.
Přijímací pohovor
Určitě zde nechci psát, jak dělat správný HR management (Human resource management, česky Personalistika, je to obor, který se zaměřuje na získávání kvalitních lidí pro podnik - tak říká česká Wikipedie).
Chci se zaměřit na jediný aspekt, kromě osobního talentu, který myslím je rozhodující. To hned z několika důvodů. Jde o zapadnutí do firmy. To jsem hledal u uchazečů především. Z hledaných atributů bych vybral tyto: Aby dělal tuhle práci rád, aby ho bavila, chtěl růst a přijímat naše metody.
Důvody jsou nasnadě, takový člověk bude u nás spokojený, bude se snažit a pokud vše klapne, nebude si za chvíli hledat místo jinde. Myslím že výše platu není vše a příjemné sociální prostředí je neméně důležité.
Junior
První co jsme dali po nástupu do zaměstnání nováčkům, přečíst, byla skupina dokumentů, které popisovaly, co je u nás ve firmě zvykem, povoleno a zakázáno. Aby nedocházelo k nedorozuměním hned od začátku. Tyto dokumenty vznikaly postupně, podle toho co jsme objevili jako vhodné do nich dopsat.
Jednak se týkaly běžného chodu firmy, jako sick-days, užívání techniky k soukromým účelům apod.
Druhak se týkaly spolupráce v týmu, způsobu práce se zdrojovým kódem, využívání komunikačních platforem.
Psaní Kódu
Aby se seznámili s projektem, a zároveň vytrénovali v jedné veledůležité schopnosti, začínají nováčci psát testy k novým vlastnostem aplikace, na které se budou podílet.
Zároveň jsme novému zaměstnanci vysvětlili, že kód po něm budeme kontrolovat tak, že vždy vytvoří Pull-Request / Merge-Request a ten se do aplikace přidá až když ho jeho vedoucí kolega schválí. Že pravděpodobně po něm bude chtít jeho vedoucí úpravy kódu, ale že to není míněno zle.
Naopak je účelem, aby rostly jeho schopnosti, začleňoval se do týmu a zároveň byla zachována kvalita, kterou zákazníkům garantujeme.
Stejný styl
Každý jsme jiný a tvoříme po svém. Zároveň je ale potřeba, aby kdokoliv v týmu mohl zastoupit jiného kolegu, nebo po mem převzít kód. Tak je dobré učit nováčky jednotnému kódovacímu stylu. Jak zařídit, aby jste je nevedli někam na scestí? Programovací jazyky mají svoje “směrnice” jak formátovat kód, návrhové vzory a antivzory.
My jsme se ve firmě opřeli o https://rubystyle.guide/ a gem ‘rubocop', protože používáme jazyk Ruby. Ale i pro jiné jazyky existují podobné doporučení a pluginy.
Pomocná ruka
Nebo spíše hlava. Aby šla práce nováčka dopředu, neházíme jej do studené vody a plav jak umíš. Naopak nabízíme pomocnou hlavu kolegy. Razíme pravidlo 30 minut hledej a pak se ptej. Ano, z počátku je to pro vedoucí otravné, ale všichni si tím prošli, když začínali, tak mají ochotné srdce vrátit laskavost, kterou sami využili na svém začátku.
Jak to funguje? Tak, že má nováček 30 minut googlit a hledat řešení nebo informace. A když si není stále jistý, jít za přiděleným kolegou zeptat se na řešení, nebo požádat rovnou o pomoc / asistenci. Je třeba nováčkovi vysvětlit, že to není žádná ostuda, že i ten, koho žádají o radu byl kdysi v jejich pozici a má pro ně pochopení.
Plánování práce
Další článek bych chtěl věnovat další důležité schopnosti majitele malé SW firmy. Umět pro ostatní naplánovat práci. Je žádoucí, aby se lidi cítili užiteční, byli efektivní a firma nepálila čas a dobrý potenciál lidí zbytečnostmi.
Tak příště
Josef Chmel
Jednatel v WorkVector. s.r.o.
https://workvector.com
Komentáře
Okomentovat