Pavel Müller
17.4.2013

Joelův test a AspectWorks

Přijímám vývojáře do AspectWorks už celých osm let. Ale teprve až teď se někdo odvážil předložit známý Joelův test,  aby si zjistil, jak na tom naše firma je.

JoelTest

Je opravdu zajímavé, že se vývojáři obecně velmi málo ptají, co že je vlastně v nové práci čeká. Nabízím proto všem odpovědi o AspectWorks, aby nebylo potřeba sbírat odvahu a ptát se u pohovoru.

Celkové skóre bych AspectWorks přidělil 10 z 12. Což je sice podle Joela nedobrý výsledek, ale s tím by se dalo polemizovat.

  • neděláme kódováni na pohovoru (bod dolů),
  • ne vždy se podaří mít tým v úplně tichých a klidných podmínkách (půl bodu dolů)
  • a ne vždy všichni dostanou jakýkoli drahý software nebo nástroj, když existuje jiná alternativa (půl bodu dolů)


Ale i tak si myslím, že děláme dobrý software a že ho děláme pořádně.

1. Do you use source control?
Ano, používáme. Na většině projektů Subversion, s Gitem jsme si pohrávali, ale zatím jsme ho plně nenasadili.

2. Can you make a build in one step?
Ano, používáme Maven a máme v hledáčku Gradle. Využíváme build server Atlassian Bamboo, takže release proběhne na něm. Na některých projektech je nasazený Jenkins.

3. Do you make daily builds?
Ano, build server vytváří noční buildy, nasazuje je na nightly prostředí a nezřídka spouští i automatizované Selenium testy.

4. Do you have a bug database?
Ano, standardně používáme Atlassian JIRA. Na některých projektech bug tracking od zákazníka.

5. Do you fix bugs before writing new code?
Většinou ano. Spoustu projektů řídíme Scrumem, takže chyby, které se dají opravit během sprintu jsou opraveny. Chyby zásadnějšího rozsahu jsou zadány do backlogu.

6. Do you have an up-to-date schedule?
Ano, buď scrumový cyklus nebo projekt řídíme Unified Procesem se standardním projektovým plánem.

7. Do you have a spec?
Ano, buď user stories nebo use-cases nebo funkční specifikaci. Obvykle wireframe obrazovky a další dokumentaci.

8. Do programmers have quiet working conditions?
To je velmi obtížné dosáhnout v dnešní době open spaců. Ale troufám si tvrdit, že proto děláme maximum. Už mnohokrát se stalo u zákazníků, že jsme žádali o lepší a tišší místo pro náš vývojový tým. Zrovna naposled asi před měsícem. Tým byl na naší žádost přesunut z rušné chodby do tiché části budovy.

9. Do you use the best tools money can buy?
Myslím, že v menší firmě je snazší dosáhnout toho, aby měl člověk ke své práci to, co potřebuje. Pokud jsou vývojáři zvyklí na víc monitorů, dostanou je. I softwarové nástroje nakupujeme, když jsou potřeba. Vše je ale pochopitelně omezeno rozpočty. Určitě svoje vlastní lidi netýráme a snažíme se, aby měli vhodné prostředky. Přeci jen jsou to k poměru k platům relativně malé výdaje.

10. Do you have testers?
Ano, máme. Využíváme celou škálu testů. Funkční, automatizované funkční, výkonnostní, uživatelské testy, objednáváme bezpečnostní testy od specializované firmy, atd.

11. Do new candidates write code during their interview?
Ne. Vím, že na toto téma bylo hodně napsáno a spoustu zkušených lidí prosazuje, aby se u pohovoru kódovalo nebo kód alespoň rozebíral. Já tenhle názor nesdílím a za ty roku co pohovoruji uchazeče jsme vypracovali jiný systém. Protože se nám daří nabírat špičkové lidi, tak se odvážím tvrdit, že i bez kódu na interview to jde.

12. Do you do hallway usability testing?
Ano, uživatelské testy široce využíváme a naši zákazníci si chválí ergonomii našeho uživatelského rozhraní. Testy provádíme už na papíře a pak i s hotovým prototypem nebo softwarem. Viz spousta článků na našem blogu na toto téma.

Vaše emailová adresa nebude zveřejněna

Komentáře

Děkujeme za váš komentář
Další
  • Přikláním se k názoru Jeffa Atwooda, že by programátoři měli psát alespoň triviální příklad typu FizzBuzz. Vtipně to přirovnává k situaci, kdy o sobě někdo prohlašuje, že umí hrát na kytaru, ale není schopný zahrát Stairway to Heaven.

  • KarelI

    Tento test se mi libi a vzhledem k tomu, ze ve firme dosahujeme zhruba 11.5, ukazalo nam to jeden vazny zadrhel - cim vys se dostanete na zebricku, tim vic vam to kazi dodavatele kteri jsou nizko. Je tedy dobre si udelat tento test v pripade knihoven a komponent ktere chcete ve svem produktu pouzivat. K psani kodu - mame docela narocny pohovor, k psani kodu pristupujeme az ve chvili kdy jsme na pochybach jestli uchazec vi o cem mluvi.

  • MisoV

    No s tym pisanim kodu je to tazke. Prave tie "fizzbuzz" priklady moc toho nepovedia. Videl som shit programatorov vpohode prejst algoritmickymi testami, ale boli to prasacke prasata ktori nemali sajnu o nejakej kvalite kodu a timovej spolupraci. Videl som spickovych programatorov pohoriet na nejakom blbom hladani spolocnych delitelov (alebo podobnej kravine, ktoru davno zabudli). Ja tak isto casto skusam ludi a prakticke testy mame, ale pokryvaju prakticke testy ako pouzitie ORM, Dependency Injection, pisanie unit testov. Takyto priklad vsak malokto stihne vypracovat do 1.5 hodiny.

  • Pro frontend developery mám test kde se píše i kód, ale skutečně triviální - např. "Napište funkci, která přečte dva parametry a vrátí jejich součet". Lámat uchazeče z nějaké algoritmizace, to mi přijde jako nesmysl, přesně jak píše MisoV.

  • Ariel

    Ad best software tools: Velmi casto jsem strasne prekvapveny, ze programatori delaji na softwaru zdarma (Eclipse, Jenkins) s tim argumentem, ze by investice do softwaru neprosla pres nadrizene. Kde na to prisli? Vzdyt maji plat, ktery by za tyden koupil ten software i 2x, tak proc se trapi s ubohym softwarem? Podle me firma, ktera neni ochotna koupit IntelliJ IDEA, Chronon a JRebel, 8GB RAM, 2 monitory a notebook neni hodna zadnych zamestnancu.

  • gaspoda

    Koukám že Joelův test byl publikován v roce 2000, zasloužil by si update. Víc než Joelův test by mě lákalo pracovat s lidmi co sledují trendy a znají Chronon.

  • Budu trochu kritický. Je fajn, že v Joelovým testu máte dobrý skóre. Gratuluju. Ale ten test je 13 let starý. OK, je sice trochu nadčasový, ale dnešní doba je podstatně jiná a kdyby Joel ten checklist psal dnes, tak bude vypadat asi dost jinak. Čili není to špatný základ, na kterém se dá stavět, ale chtělo by to trochu víc. Chápu, že to "trochu víc" bude těžké vymyslet/definovat, ale pro mne by právě taková firma mohla být zajímavá. Trochu mi to připomíná situaci kolem ISO certifikací - má to každá druhá firma, ale o kvalitě to až tak moc nevypovídá. Takže když má firma "Joela", co to vlastně říká o její kvalitě (testů, buildů, procesů, programátorů atd.)?

  • Ariel: problém je, že názory na to co je "nejlepší SW" se mohou rozcházet, ale v zájmu firmy je, aby lidi měli pokud možno stejný software. Jinak ale souhlasím a sám to tak dělám - firemní standard (Eclipse) mi nevyhovuje, tak mám vývojový software vlastní (IntelliJ).