Hledám do našeho týmu backend vývojáře

Když jsem před 7-8 lety publikoval článek Hledám do svého týmu Java vývojáře mělo to dvě konsekvence. Jednak mě začali zvát na kafe různí head-hunteři, 😒 aby ode mne nasáli trochu toho know-how (které jim — přirozeně 😏 — schází).

Podstatnější ale bylo, že jsem tímto způsobem našel do svého týmu dva ze čtyř nejlepších vývojářů, kteří mým tehdejším týmem prošli. 👍

Proč o tom píšu?

Sice takovéhle články běžně nepíšu, ale tehdejší zkušenost byla natolik pozitivní, že bych to rád zkusil znovu. Zásadní změna je, že tehdy jsem — jako team leader — hledal vývojáře do svého týmu, týmu, který jsem nově stavěl. Nyní — když už nejsem leader, ale jen obyčejný programátor — hledám vývojáře do našeho týmu (který vede někdo jiný). Čili bude to kolega na stejné úrovni se mnou. 👉 👈

Takovým skrytým, nicméně pro mne asi nejdůležitějším cílem tohoto článku, je najít takového kolegu, který by mi pomohl posílit určité “kulturní trendy” v týmu. Poněvadž, i když mám rád diverzitu a různorodost, je dobré, když více lidí “hledí stejným směrem”.

Disclaimer

Následující text je čistě mým subjektivním náhledem, potencionálně chybným, který se nemusí slučovat s přítupem mého manažera, nebo oficiálními stanovisky společnosti, ve které pracuji.

Koho hledáme

You don’t hire for skills, you hire for attitude. You can always teach skills. ~ Simon Sinek

Už dlohodobě se řídím uvedenou zásadou a na pohovorech jsem se vždycky snažil zjistit, jaká je potencionální trajektorie daného kandidáta. Takže bez ohledu, co říká oficiální inzerát (který tady nebudu linkovat), či co by vám řekl můj šéf; já bych to formuloval takto:

Hledáme backend vývojáře (kterému není cizí DevOps, nebo QA). Technologie není podstatná — důležité je rozumnět základním principům, mít technologický rozhled a mít chuť se neustále učit nové věci: jazyky, standardy, technologie, domény, atd. Zkrátka: užitečné věci.

Nehledáme juniora, ale jinak seniorita není podstatná.

Doména, ve které se pohybujeme

Náš team se jmenuje něco jako Big Data Cloud Service, takže bysme měli dělat něco s Big Data. Takový ty věci jako Hadoop, Spark apod. A mělo by to běžet v cloudu.

Pravdou je, že za ty dva roky, co jsem v týmu, jsem si na Big Data ani jednou nesáhl a vlastně celou dobu pracuju na cloudové infrastruktuře. To si nestěžuju, to jen, že jména mohou být zavádějící. 🤭

Momentálně máme čerstvě na produkci jeden produkt (nebudu ho zde jmenovat), který nabízí “Big Data as a Service”. A pracujeme na druhém (zatím ve fázi R&D), který bude řešit “distribuované dotazování mezi databází a různými Big Data úložišti (jako je třeba Object Storage)".

A za rok to může být něco úplně jiného. 😈

Charakter práce

Jsme technologická firma a děláme produkty. Neděláme projekty. Je docela (hořce) úsměvný, že svým stávajícím kolegům jsem neuměl pořádně vysvětlit, co je to projekt a naopak svým bývalým kolegům, co je to produkt. 🤦‍♂️ (Možná k tomu jednou napíšu článek.)

Děláme produkt

To, že děláme produkt, znamená hlavně, že práce na něm nekončí, dokud neskončí jeho životnost. Oproti mé předchozí projektové zkušenosti, deadliny jsou velmi měkké a tvárné. Cesta bývá často klikatá a málo ohraničená. Začíná se z vize a dospěje se k nějaké podobě, která se rozvíjí a udržuje.

Ne vždycky se produkt dostane na produkci — někdy se ukáže, že z různých důvodů není životaschopný. Co mi tak říkal můj šéf (jestli si to správně pamatuju), na produkci se dostanou 2 produkty z 10, který tým začne (to je lepší skóre, než mají start-upy).

Děláme R&D

Na začátku každého potencionálního produktu (a někdy i problému) je research. To je chvíle, kdy si můžeme osahat mnoho nových technologií. Tahle fáze může trvat pár týdnů, někdy i měsíců. Někdy se táhne průběžně celou implementační fází.

Občas je naopak potřeba prozkoumat určitou doménu. Často je pak lepší, zůstat u osvědčených technologií, aby aspoň něco fungovalo. 😈

Někdy se tahle výzkumná práce zahodí, někdy rozkvete v nový produkt. Každopádně, nejcennější na téhle fázi je knowledge gain.

Děláme DevOps

Jsme velká firma a zákazníci jsou od nás velmi daleko. Přesto (nebo právě proto) se aktivně snažíme vědět, co se děje na produkci a preemptivně to řešit. Sbíráme metriky, zachytáváme alerty, každý v týmu by měl být schopný evaluovat incident.

Tohle je věc, na které ještě musíme s týmem zapracovat a také, naneštěstí, narážíme na rozdílnou kulturu jiných týmů. Ale myslím, že jsme na dobré cestě.

Technologie, které používáme

Jsme “unix shop” — lidi dělají buď na linuxu, nebo na Macu. Technologicky je naše prostředí nejsilněji prorostlé Javou, ale může to být variabilní — občas se dají strávit týdny a měsíce na Golangu, či Pythonu, běžně se píší shellové skripty. Minulý rok jsem si to neuhájil, ale teď si aktuálně píšu svoji mikro-servisu v Kotlinu.

Primární platformou jsou pro nás buď:

  • virtuální mašiny v computu,
  • Docker kontejnery,
  • Kubernetes.

Architektonicky většinou píšeme “něco na způsob micro-servis” (což se nám ale úplně nedaří — tady je ještě prostor pro zlepšení). Tzn. že jsme silně REST-oriented (jako ostatně všechno v cloudu).

Stav se uchovává v nějaké “persistent storage”. Pokud si vzpomínám, za poslední dva roky jsem nesáhnul na relační databázi: vždy šlo o nějaký key-value store.

Poměrně dobře se nám daří implementovat IaC (Infrastructure as Code). Jsme v tom tak dobří, že o tom máme přednášku na MatFyzu. 💪 😂

Jak si organizujeme práci

Nemáme formální proces a neděláme agile. Já bych to zlehka přirovnal k takovému “živelnému, chaotickému kanbanu” (ale Kanban neděláme). Máme denní mítinky a většinou jednou týdně nějaký synchronizační mítink s remotními týmy.

Jak říká můj šéf, “jsme takoví pankáči v korporaci”.

Snažíme se dělat continuous delivery (to se nám většinou daří) a časté, pravidelné releasy (tady to hodně závisí a liší se na/v externích závislostech).

Team

Jsme malý tým, 6 vývojářů. Zhruba půl na půl, co se týká seniority, juniory nemáme. Náš šéf je silný technical leader (asi jako jsem za mlada dříve býval já 😂).

Lidi v týmu jsou výrazné osobnosti a každý z nich je autonomní. To je hodně důležité — každý musí být (v rámci své seniority) samostaný a naturelem problem solver.

Nikoho za ruku nevodíme, ale každý rád pomůže. Nemáme macho kulturu.

Finance

K financím vám nic neřeknu — od té doby, co jsem přestal dělat technical recruitment, ztrácím přehled, jaká je situace na trhu. Znám jen svůj plat (se kterým jsem spokojený) a ten vám neřeknu.

Takže budete mít, co si domluvíte s mým šéfem. 😉 Každopádně, nemusíte se bát říct si o “běžný pražský vývojářský plat”. 💰

Společnost

Tak, už to nemůžu déle skrývat: společnost, kde pracuju se jmenuje… Oracle.

Ať už jste o Oraclu slyšeli cokoli, je to nejspíš pravda. 🤭 Pravda taky je, že ještě nikdy jsem nepracoval ve firmě, kde by byly týmy/oddělení/organizace s tak navzájem rozdílnou kulturou.

Každopádně, v našem týmu se dá svobodně dýchat. Možná je to způsobeno i tím, že polovina týmu (včetně séfa) pochází ze Sun Microsystems. Myslím, že to má svou váhu.

Tak já bych to teda zkusil… 🤔

První krok(y)

Jestli byste to u nás v týmu chtěli zkusit, nebo třeba jen získat víc informací, napište mi na Twitter (@sw_samuraj), nebo na LinkedIn. Zajdeme na kafe a popovídáme si. ☕

Jak to bude probíhat?

Pokud byste do toho opravdu chtěli jít, tak následně:

  1. Zavoláte si s mým šéfem a popovídáte si.
  2. Vypracujete na GitHubu/Bitbucketu zadaný projekt.
  3. Sejdete se on-site se členy týmu.

A pokud všechno bude OK a vzájemně si všichni sedneme, budete sedět na židli vedle mne. 😂 Doslova.

Související články