Frontend [React] developer do týmu TNT 🧨

Engineering Brno, Czech Republic Prague, Czech Republic


Ahoj, jsme tým TNT a v GoodData se staráme o UI single page aplikace napsané v Reactu a TypeScriptu běžící nad naší platformou. 

Momentálně hledáme šikovné onsite i remote vývojáře, kteří by s námi táhli náš tým, produkt, architekturu a codebase dál. Nehledáme vývojáře, kteří zaplní místo. Hledáme lidi, kteří chtějí dávat věcem smysl, směr a chtějí se mezi námi cítit jako doma. Více než znalost všemožných technologií je pro nás důležitý mindset a schopnost řešit problémy. 

Přečti si něco o nás a jak a na čem pracujeme. Pokud se ti nechce číst vyčerpávající popis, zascrolluj dolů na rekapitulaci ⬇️, nebo se nás zeptej na cokoliv na Discordu .

Kdo je tým TNT

Celkem je nás 8 zkušených full time frontend i full stack vývojářů, 2 stážisti a 1 manyžer, bývalý frontenďák. Každý den spolupracujeme se skvělou Scrum Masterkou Privillege, obratným Product Ownerem Rosťou, důsledným UX Designérem Petrem, protřelým architektem Lubem a několika QA testery.

Náš tým sedí v brněnské kanceláři a s většinou lidí se tady pravidelně osobně potkáváme. Ačkoliv je pro nás důležité se čas od času vidět osobně, víme, že svět se s Covidem změnil, a proto mezi sebou rádi přivítáme i kolegy, kteří pracují z domu. Stačí, když za námi jednou za čas dojedou pokecat a skočí s námi na pivo. V našem týmu si vzájemně pomáháme, učíme se, respektujeme a sdílíme naše obavy. 

Vzhledem k tomu, že několik našich kolegů nemluví česky, probíhá většina naší konverzace v angličtině, ale jsme trpěliví, když se někdo nedokáže vymáčknout.

Z popisu rolí bude možná vypadat, že pracujeme ve Scrumu, ale není to tak - dodržujeme některé Scrumové principy, ale máme vlastní jednoduchý framework, kterému říkáme Restart a který je inspirovaný metodologií Shape UP.

Naše webovka může vypadat korporátně a práce u nás možná až nedostupně, ale vězte, že hledáme parťáka k nám do týmu, kde pracují skuteční lidé se svými kvalitami i problémy.

Tady jsme:

Petr Beneš

Principal SW Engineer, v GD 10 let 🥳

Velmi spolehlivý a vždy klidný vývojář. Ve volných chvílích chodí do přírody, nebo opravuje svůj 12 let starý HTC telefon.

Honza Strouhal

SW Engineer, v GD 4 roky

Swiss army knife, jehož smích se rozléhá přes celé patro. Když jeho děti a žena usnou, dlouho do noci leští svůj kabriolet Mazda.

Ivan Nejezchleb

Senior SW Engineer, v GD 4 roky

Obratný a zkušený vývojář schopný udržet si v hlavě velké množství úkolů. Ve volných chvílích krotí své děti a ženu, rekonstruuje dům a když má všeho dost, jezdí na kole.

Tomáš Satinský

Senior SW Engineer, v GD 4 roky

Protřelý vývojář se silným “out of the box” myšlením. Ve volných chvílích medituje, často i s celou svojí rodinou.

Petr Dolejší

Principal SW Engineer, v GD 4 roky

Fullstack vývojář s velkým smyslem pro pořádek. Ve volných chvílích kouká na filmy, poslouchá black metal a kromě své ženy miluje i své kočky.

Ivan Mjartan

Senior SW Engineer, v GD 3 roky

Zkušený vývojář, který vždy přemýšlí, jak by se naše práce dala dělat lépe. Ve volných chvílích si užívá se svou ženou a psem (labradooooodlem) procházky v přírodě.

Jakub Ščavnický

SW Engineer, v GD 1 rok

Důsledný vývojář, který rád challenguje sám sebe. Ve volných chvílích se věnuje hudbě, žonglování a svému psovi Happymu.

Nestor Encinas Rosa

Junior SW Engineer, v GD 1 rok

Pečlivý a skromný vývojář, který nenechá jediný bug neopravený. Ve volných chvílích buduje v Brně malou Španělskou komunitu.

Adam Fiedler

Intern, v GD 3 roky

Šikovný vývojář aplikující teorii informatiky v práci, studující FI MUNI. Ve volných chvílích se věnuje hudbě, čtení a občas i přítelkyni.

Filip Faltejsek

Intern, v GD < 1 rok

Nadšený, rychle se učící vývojář, studující na FI MUNI. Zatím o něm moc nevíme, ale brzy to z něj dostaneme.

Petr Janů

Manager, v GD 4 roky

Bývalý frontend vývojář, který má rád ve věcech pořádek. Ve volných chvílích kutí něco na domě, nebo chodí do přírody s rodinou.

 

Na čem pracujeme

Aplikace na kterých pracujeme jsou převážně dvě - Analytical Designer a Dashboards. Tyto Business Intelligence aplikace ulehčují každodenní práci přibližně 16 tisícům aktivním uživatelům - umožňuje jim jednoduše a přehledně zobrazit aktuální data a na základě těchto dat dělat ta správná rozhodnutí. Obě aplikace máme pod kontrolou již několik let a neplánujeme se s nimi jen tak rozloučit. Naše platforma je poměrně komplexní a nebudeme vám lhát - člověku pár týdnů až měsíců trvá, než se ve všem dokonale zorientuje. Kromě těchto dvou aplikací děláme na denní bázi změny do našeho SDK Goodddata.UI, na kterém stojí skoro všechny naše UI aplikace a které vyvíjejí pražští kolegové. Občas máme příležitost vytvořit i novou appku from scratch a nasadit ji na naši Immutable Infrastructure, ale většinu času trávíme hýčkáním našeho oblíbeného Designeru a Dashboards.

Analytical Designer

Analytical Designer umožňuje vytvářet ad hoc insighty a analýzy nad daty zákazníků. Je tam mnoho cool hejblátek a podstatná část interface je drag and drop. Designer je stavěný na našem SDK Goodddata.UI a komunikuje pomoci REST API s jedním z našich dvou backendů (hosted platform nebo vlastní instancí GoodData.CN). Jestli tě tento krátký popis zaujal, tak si AD můžeš vyzkoušet přímo prostřednictvím našeho free účtu

Tech stack je: TypeScript, React + Redux + Saga, Jest + Enzyme, TestCafe.

Dashboards

Když si zákazníci v Analytical Designeru vytvoří insighty podle svých potřeb, je třeba je poskládat do úhledného dashboardu, opatřit jej popisy a filtry a sdílet s ostatními. K tomu účelu slouží aplikace Dashboards. Má jiné cílové persony, ale je také stavěna na SDK, také komunikuje s oběma backendy, používá stejné technologie a je vytvořena v podobném duchu. Vyzkoušej v rámci našeho Free.

Tech stack je: TypeScript, React + Redux + Saga, Jest + Enzyme, Cypress.

insighty

GoodData.UI

JavaScript/TypeScript SDK, které našim zákazníkům usnadňuje budovat vlastní UI aplikace nad naší platformou. Knihovna je open source a vlastní ji naši kolegové z Prahy, ale vzhledem k tomu, že tvoří podvozek našeho Designeru a Dashboards, přispíváme do něj aktivně také. Vice info o něm najdeš na GoodData.UI.

Tech stack je: TypeScript, React + Redux + Saga, Jest + Enzyme, Storybook + Backstop, Cypress.

Co tě bude zajímat jako vývojáře

Všude používáme TypeScript, jinak by naše aplikace byly těžko spravovatelné. Jestli jej neumíš ovládat, máš u nás dveře otevřené, ale budeš se jej muset promptně naučit.

Naše UI staví na React. Pro state management používáme Redux a pro side efekty používáme  Redux Saga. Jestli jsi nikdy nepracoval s Reactem (Hello World se nepočítá), tak nevadí, stačí znalost jiné knihovny nebo frameworku a kladný vztah k Reactu (nechceme úplně poslouchat řeči, jak je Angular daleko lepší - můžeš nás ale zkusit přesvědčit).

Na testování používáme Jest, Enzyme, Backstop. Na E2E testy pak Cypress, do kterého migrujeme starší TestCafe testy. Cypress nám zkrátka vyhovuje více. Ano, testujeme běžně a skoro všechno. Jestli nemáš s testy moc zkušeností, není problém - naučíme tě.

Manuální testování pro nás dělá QA oddělení ve Vietnamu. Mame přidělené 3 technicky velmi šikovné QA inženýrky, se kterými jsme každý den v kontaktu. Svou práci berou vážně a hodně nám pomáhají udržet vysokou kvalitu našich features.

Náš kód držíme v GitHub a některé části na GitLab. Git je tady ale společná technologie. Očekáváme, že umíš minimálně commitovat a rebasovat. Na všechny změny v kódu děláme Code Reviews - bez review kolegy jednoduše nelze nic zamergovat. To a možnost párového programování nám umožňuje sdílet vědomosti a udržet kvalitu kódu. Máme taky spoustu zkušených kolegů od kterých se lze učit. A kdo si troufá, je pověřený vedením projektu (vývoje featury), které prověří a zlepší jak znalosti SW designu, tak i organizační a komunikační schopnosti.

Nasazování do produkce nebo jiného prostředí provádíme přes robustní CI napojené na GitHub a GitLab. Nikdo tě nebude nutit naše CI zkoumat, ale klidně můžeš. Důležité je umět kód zamergovat a naše CI se postará o deployment na staging prostředí a později produkci, okomentuje ti ticket v Jiře, že se něco změnilo a ty se nemusíš o víc starat - žádné ruční běhání jobů nebo přesouvání souborů. Momentálně používáme GitFlow model, ale postupně naše aplikace připravujeme na Continuous Delivery (začali jsme s Dashboards).

Pro organizaci práce používáme mocnou i komplikovanou Jiru. Dokumenty ukladáme do Confluence. Počítač si u nás každý vybírá sám (buď Macbook nebo Lenovo) stejně tak jako vývojové prostředí atd (většina lidí tu jede ve VS Code nebo IntelliJ IDEA).

Jednou za dva týdny se potkáváme s celou komunitou frontend vývojářů (asi 20 lidí) z celé firmy a řešíme co nás trápí. Důležité ale je ne jen brečet, ale i navrhnout jak to udělat líp. Každé dva měsíce se pak potkáváme na celodenním meetupu buď v Praze nebo v Brně zakončeným pivem. Covid nám do toho hodil vidle, ale i přes zoom nám to funguje skvěle (až na to pivo). Jednou za rok máme taky celofiremní hackaton, offsite (celý den přednášek zakončený obrovskou párty), interní celofiremní konferenci, vánoční a další večírky. V rámci GoodLife chodíme běhat, cvičíme jógu, chodíme na exit games, do střelnice, na laser game, na motokáry, sjíždět řeky, pořádáme lekce vaření a spousty dalších roztodivných akcí. Každý měsíc je navíc možnost potkat ostatní kolegy v hospodě zatím co pivo a další nápoje jdou na firemní účet. Nic z toho není samozřejmě povinné, ale proč nevyužít tolika příležitostí?

A to nejlepší nakonec: Nepodporujeme MSIE ❤️

To mi stačí, chci s vámi pracovat  ✅ nebo Zeptat se přímo TNT teamu (Discord)  ✋

Rekapitulace

Na čem budeš trávit čas ⏱

  • Bušit nové funkce do našeho produktu (Analytics, Dashboards a Gooddata.UI)
  • Zkoumat a opravovat bugy
  • Spolupracovat na (UX i technickém) designu nových funkcí
  • Ladit naše nástroje a zlepšovat developer experience
  • Pracovat s námi na týmové atmosféře

Co bys měl/a umět 💪

  • TypeScript a JavaScript
  • Vyvíjet SPA a webové aplikace na nějaké UI knihovně - ideálně React
  • Bezproblémově ovládat Git a vývojové prostředí
  • Pracovat pár hodin v kuse aniž bys potřeboval pomoc Stack Overflow
  • Říct svůj názor a logicky argumentovat (v angličtině, protože jsme namíchaní z více zemí)
  • Myslet analyticky
  • Učit se

Co dostaneš 🎁

  • Nový tým a nového šéfa 
  • Práci na stabilním a skvělém produktu, za kterou na tebe bude tvoje mamka hrdá 
  • Příležitost se učit nové věci (ze začátku hromadu)
  • Šanci rozdrtit své kolegy při fotbálku nebo na PlayStationu
  • Možnost nerozhodně hledět do lednice plné jídla několikrát denně
  • 5. týden dovolené a 6 sick days
  • Svůj vlastní počítač (Mac nebo Lenovo)
  • Firemní tarif a telefon vlastního výběru (neboj, nebudeme ti volat v 10 večer ať něco opravíš)
  • Firemní akciové opce
  • Měsíční příspěvek na tvůj benefitní účet za který můžeš jít sportovat, jít do kina, sauny nebo nakoupit plíny
  • Příspěvek na jídlo (stravenky fakt nevedeme)
  • Kancelář ve středu Brna s výhledem na Moravák (pokud preferuješ práci z kanceláře)
  • A další drobnosti, které tě určitě potěší

Nekoušeme 😁

  • Přihlaš se na pozici ✅ a spojí se s tebou naše kolegyně Jitka.
  • Pak si s tebou popovídá tvůj nový šéf.
  • Předvedeš co umíš před pár dalšími lidmi z týmu.
  • Pokud si nebudeš ty nebo my jistí, můžeme se ještě potkat u piva nebo oběda.
  • Když budou všichni šťastní, vítej v týmu!

Pokud se chceš vyhnout jakýmkoliv oficialitám, přijď na Discord kanál TNT týmu ✋ a promluv si přímo s týmem.