22. července 2013

Hledám do svého týmu Java vývojáře

Dnešní post bude jiný, než jste na tomto blogu zvyklí - rozhodl jsem se "jít tomu štěstíčku trochu naproti" a publikovat zde pracovní inzerát. Proč? Protože hledám lidi k sobě do týmu. A myslím, že pokud to někoho osloví, bude to lepší, než čekat, koho mi najde HR oddělení, nebo pošle nějaká agentura. Zkrátka, vytvářím si vlastní příležitost.

Tenhle post se bude lišit ještě v jednom ohledu. Když píšu, snažím se vždy maximálně odstínit od svého zaměstnavatele, nebo projektu, kde právě pracuji. Dnes budu naopak velmi konkrétní, nebo chete-li upřímný (v rámci možností :-)

The Company

Pracuji ve společnosti Gemalto. Už z webu můžete poznat, že jde o korporaci. Ano, je to tak - celosvětově máme 11.000+ zaměstnanců, head quarter sídlí ve Francii. Gemalto se zabývá bezpečností a jednotlivé divize pokrývají oblasti finančních služeb, telco, identity a goverment.

V Praze na Brumlovce má Gemalto vývojové centrum, zvící cca 300 zaměstnanců, které reflektuje uvedené divize a které má na starosti dodávání SW části našich řešení. Já jsem jedním z koleček v divizi governance, která má na starosti klienty z oblasti EMEA - našimi zákazníky jsou vlády z oblasti Evropy, Blízkého východu a Afriky (můžu vás uklidnit, pro českou vládu nic neděláme :-)

Naše vývojové oddělení má kolem 45 lidí (vývojáři a testeři) a chceme se rozrůst o cca 10 dalších vývojářů (= můj tým). Řekl bych, že nabírání lidí je v našem případě pozitivním signálem - práce je dost a ještě nějaký čas bude. Mmch. pražská pobočka Gemalta během tzv. "krize" neustále rostla, takže to může naznačit jistou perspektivnost našeho segementu.

Gemalto je společností mezinárodní nejenom strukturou, ale i obsahem - v našem oddělení je cca 2/3 Čechů a Slováků, zbytek tvoří cizinci posbíraní různě po Evropě. Asi nepřekvapí, že nejsilnější "menšinou" jsou Francouzi. Nicméně oficiálním komunikačním jazykem je angličtina.

Projects

To co dodáváme (teď už mluvím o našem oddělení) našim zákazníkům - vládám - jsou elektronické dokumenty: pasy, ID karty (občanky), řidičáky, povolení k pobytu (resident permit), volební průkazy (doména Afriky) apod.

Dodávkou může být komplexní řešení, které umožní dané vládě si kompletně produkovat daný typ dokumentu, nebo jenom jeho část. Záleží projekt od projektu. Pokud bych měl načrtnout dodávané řešení pomocí tří kostiček, vypadalo by takto:


Kostičky Enrolment a Quality Center nás nemusí zajímat, ;-)  protože jsou napsaný v .NETu. Jen pro představu, Enrolemnt je o "narolování" dat, které budou umístěny na výsledném dokumentu. Může jít o napojení na nějaký národní registr, nebo např. fyzické snímání otisků prstů. Quality Center je, hm, kontrola kvality. Takže třeba kontrola, že to, co je vytištěno na dokumentu je také zapsáno na čipu.

Nenechte se zmást, že na Javu zbyla jenom kostička Issuance. Javisté tvoří 2/3-3/4 našeho týmu, takže se jedná o docela rozsáhlé řešení, které se většinou skládá z několika aplikací. A co kostička Issuance řeší? Má na starosti věci jako validaci a preprocesing dat, různé kryptografické záležitosti (třeba PKI) a hlavně správu a samotnou produkci dokumentů.

Jak jsou projekty veliké? Jejich délka se pohybuje od 6 měsíců do 2 let a podílí se na nich od 3 do 20 lidí (všech rolí). To jsou nějaké mezní hodnoty, takže většina projektů se pohybuje někde mezi nimi a má "rozumnou" velikost.

Podstatná informace je, jak jsou projekty řízeny. Vzhledem k tomu, že jsme korporace a pracujeme pro vlády, je to jasné - je to čistokrevný vodopád. Interně si ale bereme z agilních metodik to použitelné, takže například děláme code a design review, máme kontinuální integraci apod. Míra se projekt od projektu liší. Osobně si myslím, že je to lepší přístup, než jsem zažil za poslední tři roky v bankingu - lhaní si do vlastní kapsy, že "to děláme agilně", aby se pak projekty běžně zpožďovaly o rok a víc (true stories). To se nám nestává.

Zatím nezaručenou informací a příslibem do budoucna je, že bych chtěl pokračovat v používání Kanbanu. Tohle zatím nemůžu slíbit, ale budu se snažit, abychom to opravdu používali a nebylo to jen plácnutí do vody. Kanban má oproti třeba Scrumu tu výhodu, že není v protikladu k vodopádu a do korporátního prostředí velmi dobře zapadne.

Poslední důležitá informace - naši vývojáři cestujou. Služební cesty jsou krátkodobé, většinou je to tak kolem dvou týdnů na začátku projektu (sbírání požadavků, workshopy apod.) a obdobně na konci projektu (instalace, integrace, školení apod.). Takže pokud se chcete podívat do zahraničí, kam byste nejspíš na dovolenou nejeli (třeba Saudská Arábie, nebo do Irska), tak u nás máte možnost. Samozřejmě, že respektujeme vaše preference, takže pokud třeba máte malé děti, vždy se to dá individuálně nastavit.

Technologies

Konečně se dostávám k tomu, co je na tomhle článku asi nejzajímavější. Jaké technologie tady používáme? Náš hlavní technologický stack je postavený nad Java EE. Pokud je to podstatné, uvádím v následujícím přehledu verzi komponenty, ta v závorce je pro starší projekty, ta před závorkou pro nové projekty.
  • JBoss AS 7 (5) jako aplikační server,
  • Vaadin jako frontend,
  • EJB 3.1 (3.0) a CDI pro business logiku,
  • JPA 2.0 (1.0)/Hibernate pro perzistenci,
  • JMS/HornetQ pro messaging,
  • JAX-WS pro SOAP webové služby.
Kromě těchto "mainstream" technologií se u nás můžete setkat minoritně s Grails a ještě minoritněji se Springem. A pak s celou kupou dalších, většinu open source, věcí, které jsou specifické per projekt. Z hlavy mě napadá třeba JasperReports, nebo Dozer.

Buildujeme Mavenem (rád bych zkusil prosadit upgrade na Gradle). Na verzování zdrojáků používáme Mercurial, takže pokud chcete zkusit něco stejně skvělého, jako je Git, ale uživatelsky kompaktnější ;-)  tak to bude příjemná zkušenost. Na kontinuální integraci používáme Jenkins a na metriky Sonar(Quebe). Issue tracking Redmine.

Java IDE je na vás, běžná je tady svatá trojice E/I/N. Kupodivu, dost lidí tady dělá v NetBeans (asi to sem dotáhli přebehlíci ze Sunu ;-)  Pokud se ukáže, že to s námi myslíte vážně, rádi vám koupíme Ideu. Největší borci samozřejmě dělají ve Vimu (no dobře, to je vtip... ve Vimu dělám jenom já).

Pros

Tak v první řadě, budete dělat s nejlepším team leaderem široko daleko. Jsem skromný a myslím to vážně.

Doména ve které Gemalto podniká je hodně zajímavá. Pokud vás nudí telco nebo banking, zkuste securitu! Když se tak vyprofilujete, může být kryptografie vaším dením chlebem. A i  pokud ne, tak security záležitosti tady budete potkávat daleko častěji než v jakékoliv jiné doméně.

O krátkodobém cestování už jsem mluvil. Co je opravdu zajímavé, Gemalto poskytuje tzv. stáže - můžete na dva tři roky vycestovat do zahraničí a pracovat v jiné pobočce někde ve světě (tahle možnost přesahuje výše zmíněnou oblast EMEA). Gemalto vám při tom pomůže s relokací.

Jako (skutečný, ne pouze softwarový) polyglot bych ze standardních benefitů vypíchnul výuku jazyka v pracovní době - angličtina nebo francouzština.

Věc, která se obtížně popisuje, ale já ji považuji za velmi cennou. V našem oddělení panuje důvěra a respekt a pracují tady fajn lidé. Vůbec, lidi, které jsem potkal na přijímacím pohovoru (kolega team leader a můj šéf) jsou jedním z důvodů, proč jsem se rozhodl pro práci tady. A během další spolupráce jsem si to jen potvrdil.

Cons

Co vám mám povídat? Je to korporace. Máme tady procesy, komunikační šumy a některý věci jsou zkrátka na dlouho.

Také některé věci/procesy ještě nejsou nastavený, nebo úplně ideální. Do značné míry je to dáno rychlostí, jakou pražská pobočka v uplynulých letech vyrostla - dělaly se projekty a na procesy/metodiky/guidelines nebyl čas. Jde o věci jako třeba jednotný issue tracking. Nebo větší míra automatizace. Jsou to věci, které bych rád prosadil pomocí týmové kultury.

Who?

Momentálně hledáme seniornější vývojáře. Pokud jste absolvent, musím vás zklamat. Pokud jste junior, "máte jiskru v oku" a jste opravdu dobrý (= přesvědčíte mě na pohovoru), máte šanci.

Důležitá informace je, že bereme pouze zaměstnance. Kontraktory nám firemní politika zapovídá.

How much?

Otázka peněz je delikátní. Tak pojďme do toho. Jsme názoru, že každý by měl znát svou cenu. Bavíme se o rolích Java vývojáře a technical leadera. Takže pokud nepřešvihnete naše stropy pro tyto role, tak dostanete, co si řeknete. A říct si můžete, vzhledem k vaší senioritě, standardní plat Java vývojáře v Praze. Na rovinu říkám, že vás nebudeme přeplácet. Ale nebudeme vás ani vykořisťovat :-)  A jinak, mám velmi přesnou představu, co byste v rámci vaší seniority měli umět.

Interview

Přijímací pohovor má tři kola. Prvně bude phone screen, cca 30 min. Následující technické kolo budete dělat se mnou a bude probíhat formou, kterou jsem už popisoval. Změnily se tam dvě věci (časem o tom napíšu) - jednak už nedávám hlavolam a pak, část podíváme se na můj kód je mnohem "praktičtější" ;-)

Poslední kolo je pohovor s mým šéfem a s někým s HR.

Conclusion

Nabízím vám slušnou práci, za slušné peníze. U mne v týmu. Není to práce pro každého - pro někoho je show-stopper, že to je enterprise, pro někoho absence Springu, pro někoho...

Ale pokud jste s výše uvedeným OK a vzájemně si sedneme (vy mně jako vývojář a my vám jako firma), myslím, že by nás to mělo společně hodně bavit.

Pokud to chcete zkusit, můžete začít tím, že pošlete na můj firemní email svoje CV v angličtině: vit.kotacka@gemalto.com.

Pokud by vás něco zajímalo, zeptejte se v komentářích, nebo mi napište na Twitter, či LinkedIn.

Official Ad

Pokud přesto všechno, co jsem napsal, chcete mrknout na oficiální inzerát, nebo okouknout takové ty standardní firemní benefity:

14 komentářů:

  1. Nechapem, preco je vzdy taky problem hovorit o peniazoch. "Standardní plat Java vývojáře v Praze" nie je ziadna deterministicka hodnota. Preco sa neda na rovinu povedat ze dame vam 70-90 hrubych ak splnate nase kriteria? Viem, ze ak to chcem musim byt na to dostatocne dobry. Naopak, ak chcem viac tak nema vyznam ani pre jednu stranu stracat cas.

    OdpovědětVymazat
    Odpovědi
    1. Ta otázka, jaksi, není na mne - já neurčuji firemní platovou politiku. A nemám zájem spekulovat, proč firmy nechtějí zveřejňovat platové rozmezí. Ale zkusím k tomu říct svůj názor.

      Nabízené pozice vyžadují určitou zkušenost a znalosti (= senioritu). Pokud někdo takovou senioritu má, měl by bezpochyby "znát svou cenu". Pak by neměl být problém se zeptat, zda se do mého interního rozmezí vejdu.

      Chápu, že pro uchazeče je jednodušší, když platové rozmezí zná dopředu. Ale přijde mi to jako takový kvazi-problém: Pokud by si kvalitní člověk řekl příliš málo, tak mu zajistím pozitivní korekci - jako team leader chci mít v týmu spokojené (a motivované) lidi a ne aby se někdo užíral, že je finančně podhodnocený.

      Pokud je někdo taková superhvězda, že by přešvihl naše finanční stropy... tak je pro nás prostě příliš drahý, to se stává. A pak, asi je trochu mimo realitu, když za popsanou pozici očekává plat, který je odlehlou hodnotou.

      Vymazat
    2. Možná z toho vychází to, že člověk, který si řekne více než je strop, tak nemá šanci. Doporučuji upřesnit, protože někdo si sice řekne více, ale jeho minimum, za které je ochoten dělat, je většinou níže. Typicky řeknu si o 100, protože vím, že dokážu slevit na 80, protože teď beru 60. Zkušenost ukázala, že je dobré i ty, co si řeknou o více trošku vyzkoušet, zda-li se jedná o skutečné minimum a nebo jejich požadavek, který je ještě k upřesnění.

      Vymazat
    3. Dik za nazor Vit, ale musim stat za svojim. Dnes ma *dobry* programator (obzvlast Javista so Springom/Javou EE - taky akeho hladate) velke moznosti. Logicky najprv odfiltrujem firmy, ktore mi daju malo detailov.

      Ja ked kontaktujem firmy tak poslem email kde sa predstavim, opisem svoje skusenosti a predstavy spoluprace. Rovno si napisem cenu. Ak je firma niekoho za take $ ochotna najat tak ma pozve na pohovor. No a co ze ma 70-80% na mieste odmietne, aspon riesim len take firmy kde budu obidve strany spokojne.

      Prosim neber to osobne, ale behanie po pohovoroch stoji vela casu, nervov a usilia; a ked uz do toho idem, chcem vediet co najviac detailov. Narovinu poviem, ze peniaze je jeden z top3 faktorov ktore ma motivuju ist dalej, zlepsovat sa a pripadne hladat iny flek. A nie som sam, aj ked to ludia nie su ochotni priznat.

      Vymazat
    4. @anonym-Čech člověk, který si řekne víc než je strop šanci. Prostě dostane korekci a je na něm, jestli je výsledná částka pro něj přijatelná.

      Vymazat
    5. @anonym-Slovák zeptat se na peníze hned na začátku (a mít je v top 3) je zcela legitimní. U nás je to phone screen, můžeš se zeptat a nemusíš nikde běhat. :-)

      A ještě k těm "detailům". Detail může být cokoliv a každého bude zajímat úplně jiná jejich sada. Nelze napsat inzerát, který informačně uspokojí každého. Prostě napíšu, co je z mého pohledu podstatné a pokud tam někomu něco chybí, tak se zkrátka zeptá.

      A když někdo rovnou "můj" inzerát odfiltruje? Tak to holt chodí. No big deal.

      Vymazat
  2. Ty si s tím kanbanem nedáš pokoj? Jestli ti přišlo, že u nás zapojenení kanbanu bylo ok, tak mně teda ne, alespoň z pohledu systému, který vás používal. Byl bych rád, kdybys sis za nás vyzkoušel ustát všechny ty diskuze, proč nám to ještě nefunguje, když to vaším kanbanem prošlo v pořádku už před dvěma měsíci... http://scrumcrazy.wordpress.com/2013/02/04/kanban-vs-scrum-kanban-is-not-for-software-development-but-scrum-is/

    OdpovědětVymazat
    Odpovědi
    1. Tak jestli se bavíme o Equa(?), tak tam byl/je problémem project management (plus pěkný balíček dalších systémových problémů). Kanban s tím nijak nesouvisí - kdybys ho odstranil, tak to tam bude fungovat pořád stejně zoufale (vlastně bys to ani nepoznal).

      Moc nechápu, proč referencuješ ten článek? Jestli někdo v Equa chápal Kanban jako vývojovou metodiku/proces, tak je to jeho problém.

      Vymazat
  3. Proc pouzivate Spring pouze minoritne a misto toho pouzivate EJB? Pritom Spring je dneska vsude ohromne propagovany. Je podle vas lepsi Spring, nebo EJB?

    Proc na frontend pouzivate Vaadin a ne treba frameworky PrimeFaces, IceFaces, RichFaces (RichFaces ja navic od JBoss Community) nad JSF?

    Sam se chci naucit pracovat s nejakym frontend frameworkem. Muzete mi prosim poradit, jesli je lepsi Vaadin, nebo neco nad JSF?

    Jake vas vedli duvody k EJB a Vaadinu?

    Rad bych se dozvedel neco noveho :-)

    OdpovědětVymazat
    Odpovědi
    1. Díky za otázky.

      Ad Spring vs. EJB) Je otázka, co to znamená "všude". Můj názor je, že v oblasti enterprise jsou tyto technologie zcela zaměnitelné.

      Ad proč Vaadin) Obecně, téměř všechny technologie, které aktuálně používáme vycházejí z prototypů, které vyvinulo oddělení R&D (Research & Development). Historie Vaadinu u nás jde min. 3 roky zpátky a ta počáteční rozhodnutí neznám. Pro pořeby našich aplikací je Vaadin dostačující.

      Ad FE framework) Tady je těžké poradit, protože neznám kontext. Na můj vkus je v Javě FE frameworků příliš mnoho. Subjektivně tíhnu ke komponentovým frameworkům, jako je třeba Wicket. Vaadin je obdobný, ale na trhu určitě minoritní. Čisté JSF nebude špatná volba - já sám jsem mu na chuť moc nepřišel, ale líbí se mi, že je součástí Java EE specifikace, takže rozhodně má budoucnost. Z jeho nadstaveb bych asi volil RichFaces (JBossí technologie mám rád).

      Ad EJB+Vaadin) viz R&D.

      Ad něco nového) Na Javě se mi líbí šířka jejího landscapu. Vždycky se dá jít hloub. A nové věci přicházejí samy od sebe :-)

      Vymazat
    2. Me osobne prijde na frontend lepsi pouzivat ciste HTML a data servirovat v podobe JSONu, XML. Nejaky cas jedeme na Angularu a zda se to jako velice dobra volba.

      Vymazat
    3. @Lukas HTML/AngularJS/JSON může být dobrá frontend volba. Pokud moje role/architektura končí u konzumace (REST) služeb. Když ale zároveň řeším celý backend, už to tak být nemusí. Mít celou aplikaci na jedné platformě (a nestarat se o HTML, AJAX atd.) může mít taky svoje výhody.

      Vymazat
  4. bylo by podmínkou na tuto pozici vysokoškolské vzdělání?

    OdpovědětVymazat
    Odpovědi
    1. Ne, podmínka to není. Co mě zajímá jsou znalosti, zkušenosti, přístup.

      Vymazat