Ideální práce pro programátora v roce 2016?
V životě se postupem času mění priority. Co bylo důležité dříve, nemusí být aktuální teď. Jaké jsou podle mne klíčové vlastnosti ideální práce? A nakolik tyto požadavky splňuje současná práce v rohlik.cz?
Úvodem je třeba napsat, že následující seznam bodů je silně individuální a nemusí platit pro vaše potřeby.
Vlastnosti ideální práce v bodech
Píšou testy a nebo je chtějí psát.
Ač se to může zdát jako malichernost, věřím, že programátor, který píše testy na svůj kód:
- Programuje kvalitněji (testovatelný kód má hezčí API)
- Kód obsahuje méně chyb (méně, nikoliv žádné chyby)
- Chyby se při dalších úpravách neopakují, protože je na každou objevenou chybu napsaný nový testcase
- Kód je lépe dokumentovatelný testy (což je imho lepší něž dokumentovat kód bokem v nějaké wiki)
- Chyba se lépe debuguje (v CLI než v HTTP)
- Úkol je za jistých okolností hotový dříve, než při nanapsání testů. Protože ruční proklikání v prohlížeči je pomalejší.
Bohužel existují firmy, které řeknou: "Nebudeme se zdržovat psaním testů." nebo "Testy jsou zbytečné, to si proklikáme."
Nic není jen černobílé, psaní testů je režije navíc, která se špatně obhajuje, když hoří termín.
Některé testy jsou zbytečné, další testy mohou být špatně napsané a je potřeba je opravovat i při drobné změně kódu.
Tento bod rohlik.cz nesplňuje. Nové testy se nepíšou, staré se neopravují a před mergem se ani nepouští a jsou rozbití.
Není problém s prací na dálku.
Další neméně důležitý bod. Vím, že komunikace face2face je efektivnější, než dohadování se přes chat/telefon.
Ale upřímně - o tolik horší to není a minimalizování neustálého vyrušování vrací efektivitu na původní úrověň.
Já například na nomádské dovolené na Kanárech normálně pracoval a s prací na dálku nebyl problém :)
Tady nemám v mé současné práci problém. Když potřebuji zůstat doma, můžu. Když chci na nomádskou dovolenou, také můžu.
Pravidelně aktualizují server a knihovny projektu.
Když vidím o kolik se zlepšil výkon po aktualizaci z PHP 5.6 na PHP 7 - chci aktualizovat také.
Také aktualizace knihoven, composeru a použitého frameworku.
Každou verzí se opravují bugy a přinášejí se nové feature.
Ano, ani tady není nic černobílé - aktualizací čehokoliv se může rozbít cokoliv. BC breaky. O to víc jsou důležité testy a důkladné otestování webu před nasazením na produkci. Ale ani to pro mne není důvod zůstávat na staré verzi.
Bohužel, ani tento bod rohlík nesplňuje. Aktualizace knihoven není prioritou.
Zajímavý produkt, který mají lidi rádi.
Rohlík.cz je super produkt. Nikdy bych nevěřil, že lidi bude bavit (online) nakupovat potraviny a ještě si budou nákupy fotit a dávat na sociální sítě.
Každý den stovky pochval v hodnotících emailech. Chvála na práci skladu, webu, kurýrů nebo zákaznické podpory.
Je skvělé být součástí něčeho tak oblíbeného a prozákaznického. Rohlik.cz well done.
A i z programátoského hlediska to je zajímavá práce - 300+ databázových tabulek, tisíce dovezených nákupů každý den, platební brána, API pro mobilní aplikace, vlastní dispečing, API pro telefonní bránu, admin, vlastní skladový systém, sklad, čárové čtečky, několik serverů, tiskárny,
Elastic pro vyhledávání, RabbitMQ pro pracování úloh, crony, redis, php-react pro našeptávač a mnohé další.
Téměř programátorský sen.
Tento bod spňuje. Pokud někdo chce dělat na zajímavém produktu, rohlík mohu jen doporučit.
Code review, párové programování, scrum, sprinty, stand-up...
A další techniky, které zvyšují kvalitu kódu.
Tak na půl
Více technologií než jen PHP.
V rohlíku máme na serverech vedle PHP již zmíněný Elastic, Redis, RabbitMQ, MySQL, nginx.
Mobilní aplikace se programují v Javě, C a Swiftu.
Nový skladový systém se programuje komplet v Javě.
A (prý) možnost programovat v něčem jiném, než ve svém hlavním jazyku.
V PHP používáme nejenom Nette Framework, ale i balíčky z Kdyby, Symfony a některé další.
Splňuje
Ve firmě se pracuje jen na hlavním produktu.
Asi bych nešel do žádného webového studia, kde je prioritou sekat jeden web za druhým a případně jen upravovat šablony ve Wordpressu.
To není nic pro mne. Produktů musí být málo, a musí být vymazlený k dokonalosti.
Ano
V případě fulltime práce je důležitá také dojezdová vzdálenost.
Asi nikdo nechce jezdit za prací déle než je nutné. Ještě teď si pamatuji na dobu, kdy jsem dojížděl 4 hodiny každý den. Z Volárny na druhý konec Prahy (Petřiny) a zpět.
Jsem v práci za 25 minut, takže spokojenost
Kolegové, kolektiv, kultura firmy, grilování, párty, akce.
Další neméně důležitý bod.
Tak na půl
(Volitelně) Distribuovaný tým a tím pádem hlavní komunikační jazyk Angličtina.
Jako němčinář anglicky moc nemluvím a chtěl bych si zlepšit svůj komunikační skill. A proč ne zrovna v práci?
Nesplňuje. Naopak se začalo commitovat v češtině
Peníze
Peníze na koníčky :)
I když by to mohlo být lepší (to platí furt a všude), tento bod splňuje.
Celkové skóre: 7 z 11 bodů možných.
OS |
29.May.2016 20:29 |
Práce |
Kometáře
A co Joel Spolsky score? reaguj
30.05.2016 11:01
#2
MzK
mozektevidi.net
Myslíš www.joelonsoftware.com/articles…
To znám, to je taky zajímavá metrika. reaguj
30.05.2016 11:05
Nojo rohlik :) reaguj
17.03.2017 11:08
Přidej názor do diskuze
Pamatuj na to, že tvůj příspěvek o tobě něco vypovídá. O tom, jak jsi inteligentní, jak se chováš a kolik ti je let. Tak se podle toho chovej ;-)
Kometáře s neověřenou IP adresou čekají na ruční schválení. Pokud se některý kometář nezobrazí ihned, čeká na schválení, neposílejte komentář znova.