pondělí 29. května 2017

The art of readable code - notes

Naming
choose specific word (get vs. download), but better be clear than cute
don't use generic names
add unit to names
if the value can be surprising, put this info into a name (e.g. password vs. plaintextPassword)
Short names only for short scope (when you can see the var declaration immediately)
Don't use ambiguous words (filter vs select or exclude)
Use first or min and last or max for inclusive ranges
Use begin and end for exclusive ranges (convention)


Aesthetics
similar codes should look similar - better introduce extra line breaks if codes belong together


Commenting
don't comment bad names: good code > bad code + comment
comment your constants

comments should be compact, but precise
named function parameters Connect(/* timeout_ms = */ 10, /* use_encryption = */ false); 


Avoid do-while, put condition up front
Return early from function


Eliminate control flow variables - return early
Shrink variable scope as much as possible


Defragment code - same tasks should be group together, separate them into different functions or at least blocks

Tests
use simplest test inputs that completely exercise your code - don't made up random big numbers, it is confusing

neděle 17. dubna 2016

Přípravy do Japonska

Rozhodl jsem se jet do Japonska, protože jsem tam nikdy nebyl a chutná mi japonské jídlo. Tak jsem si koupil letenku a v práci si zažádal o volno na přelomu března a dubna na tři týdny. Už před nákupem letenek jsem procházel na internetu a hledal nejvhodnější termín pro návštěvu Japonska a rozhodl jsem se pro tento termín. Letenku jsem hledal z Prahy i z Mnichova. Nakonec jsem si koupil let z Mnichova, protože vyšla levněji. Přesněji jsem za letenku dal 15k Kč s jedním přestupem v Číně, směrem tam v Pekingu na hodinu a zpátky v Šanghaji na 14 hodin. Při nákupu letenky jsem si také všiml, že levnější letenky mají letenky.cz než u pelikan.cz. Z Mnichova poletím do Tokya a zpátky se vracím z Osaky. Tím využiji toho, že se nebudu muset vracet zpátky, ale pojedu ze severu na jih.

Také jsem si již naplánoval a předběžně rezervoval všechny místa, kde budu bydlet. Nejvíc dní jsem si rezervoval pro Tokyo, protože je to také hlavní a největší město. Nemám přesně naplánováno, na co se chci podívat, ale některé atrakce si nechci nechat ujít:

  • dát si velrybu a/nebo delfína
  • zajít do robotí kavárny
  • navštívit pokémon centrum nebo podobné anime centrum
  • projít se po největším přechodu na světě

Další cíle zatím nemám, záleží na tom, co mi přijde do cesty. Podle předběžných propočtů Tokyo není tak drahé, jak se o něm říká. Rozhodně je levnější než Mnichov :D Mé předběžné náklady jsou tyto v porovnání s Mnichovem:

Z letiště Haneda do místa ubytování v Tokyu se dostanu za 500 yenů (4 eura). Z letiště Mnichova domů stojí přes 10 eur.

Ubytování v Tokyu 18 375 yenů (140 euro). Bydlet budu 6 nocí v kapsli, ale docela v centru a hned u metra. Tady v Mnichově za cenu 24 euro na noc možná seženete hostel v nějakém sdíleném pokoji. Zajímavé je, že noc v kapsli v Tokyu stojí méně než kolik platím v průměru za svůj byt :D

Za MHD si nejsem jistý, kolik přesně budu dávat, ale cena by měla být okolo 50 Kč za jízdu (1,85 euro). V Mnichově za jízdu dám 2,7 euro, pěkně mastné. Když si vemu, že převážně pojedu někam, tam vychilluji, a odpo zase zpátky do kapsle, tak dám za 6 dní 50 * 12 = 600 Kč (22,21 euro).


Četl jsem na netu, že se obědy se dají sehnat i za 500 yenů (cca 110 Kč) díky velké konkurenci, což je cena jak v ČR. Tady v Mnichově za oběd v menze (jídlo skoro jak na VŠE v menze) stejnou částku, restaurace od 7 eur. Večeře bude stát víc peněz, protože tam nejsou ty obědové akce. Občas se také rozšoupnu, třeba na toho delfína či Willyho. Za jídlo tedy hodlám utratit 20 euro za den * 6 dní, tj. 120 euro.

Zaokrouhleně tedy dám cca 300 euro za 7 dní v Tokyu, což na den vychází na 50 euro. Což se dá vzhledem k tomu, že je to jedno z nejdražších měst na světě. Otázkou je, na kolik jsou mé propočty přesné :) To uvidím po výletě.


Po týdnu mám v plánu se přesunout kousek na jih do Yokohamy. Vůbec netuším, co od tohoto města čekat, ale něco zajímavého tam určitě bude. Zde se ubytuji ve spa, takže si užiji i nějaký chillin'.

Pak jsem měl zamýšleno, že se podívám na Fudži. Nakonec jsem to změnil a tuto část smazal, protože jsem nenašel cenově přiměřené a kvalitní ubytování. Zamýšlel jsem, že se podívám na Fudži jen na cestě Shinkanzenem.

Dále měla následovat Nagoya. Nevím přesně, co tam je, ale je to velkoměsto, takže něco tam bude. Také jsem objednal ryokan (japonský styl ubytování), ptže zde bylo docela levné a kvalitní. Přesný plán, na co se podívám, jsem už vzdal a řekl jsem si, že se na to podívám až na místě.

Po Nagoye pojedu dál na jih do Nary nebo Kyota shinkanzenem. Nakonec se ubytuji v Naře, protože v Kyotu byly ubytovací zařízení obsazené a zbývaly tak jen ty, které stály dost a nechtělo se mi tolik vyhazovat za ubytko.

Po Naře by mělo následovat cesta busem do Hirošimy. V buse se vyspím jednu, takže ušetřím čas i peníze. Tato část cesty jsem vymyslel až v pozdější fázi, kdy jsem nemohl najít vhodné u Fudži a tak jsem nahradil Fudži za Hirošimu a Miyajima (jedna ze 3 nejvýznamnějších památek v Japonsku).

Pak bych měl jet do Kobé na jednu noc a dát si tu kobé steaka za nehorázné peníze v nejlepší restauraci, co tam je. Musí se ale rezervovat, tak jsem zvědavý, zda se vše povede. A po noci v Kobé pojedu do Osaky, kde strávím poslední 3 dny ve spa a pak už poletím.

Takový je zhruba plán. Zda se vše povede, to se uvidí. Zlehka jsem propočítal náklady a za čas strávený v Japonsku bych měl utratit následně:
  • ubytování 532 euro
  • doprava 256,58 euro
  • jídlo dohromady 20 dní * 20 euro = 400 euro
Navíc nějaké peníze za památky a buffer, takže cca 1500 euro za 3 týdny výletu, což není špatné.

pátek 20. listopadu 2015

Porovnání Mnichov a Praha

Po dvou a půl měsících v Mnichově shrnu mé první zkušenosti s životem tady s životem v Praze.

Výhody:

Skoro všude tu jsou cyklostezky. Lidé tu hodně jezdí na kole, skoro bych to přirovnal k Nizozemsku. Když půjdete po městě, všude vidíte zaparkovaná kola. Řidiči aut také s koly počítá, takže jsou ohleduplnější a častěji mě i pouští v místech, kde by v Praze řidiči nejspíš nepouštěli. Co se týče krádeží, zatím mi kolo ani nic z něj neukradli, a to i přesto, že nechávám denně celý den venku i s příslušenstvím. Když jezdím do práce na kole, cesta mi trvá jen 12 minut, což je skoro 2x tak rychleji než pomocí MHD.

V práci máme docela mezinárodní prostředí. Je nás tam asi 30 lidí, ale pokrýváme všechny obyvatelné kontinenty na světě. Kromě Němců jsou tam lidi ze Slovenska, Maďarska, Itálie, Ruska, Ukrajiny, Indie, Egypta, USA, Austrálie, Indonésie, Guatemaly, Brazílie a já reprezentuji 2 státy :D. Většina tu žijí už déle a umí německy, je tu ale i pár lidí včetně mě, kteří se moc německy nedomluví, takže hlavním jazykem v práci je angličtina. V celé firmě je nás okolo 70 lidí a 28 národností, což je docela dost. V ČR jsem se s žádnou takovou firmou nesetkal, i v České spořitelně pracovali převážně Češi, sem tam nějací jiní Evropani, ale tím to hasne.
Když jdete po ulici, častěji tu potkáte cizince (nebo aspoň dotyčný se tak tváří). I muslimů je tu více než v ČR, a to včetně těch zahalených, ale že by tu byly nepokoje nebo teroristické útoky, nepřipadá mi to tak. Osobně mám radši mezinárodní prostředí, takže mně to vyhovuje.

MHD je tu docela kvalitní a síť metra je poměrně hustá. Zastávku metra mám hned pod barákem, takže si nemůžu stěžovat. V porovnání s Prahou je ale Praha o dost lepší, i když nemá 8 linek metra. Třeba na metro mimo špičku čekáte 10 min, a to i normálně během dne, ne jen pozdě večer. A metro je asi nejrychlejší dopravní prostředek, takže na busy nebo tramvaje se čeká i déle. Některá metra jsou trochu hezčí než ty pražské, ale celkově pražské metro vypadá lépe. Na druhou stranu zastávky jsou zde hezčí než v Praze.

Mám dojem, že celkově je Mnichov čistější než Praha. Nevidím tu tolik nedopalků ani stop po žvýkačkách. Trávníky mají méně hoven, možná také proto, že tu není až tolik psů jako v Praze. Také jsem tu prozatím nezažil žádný smog, i když aut je tu nespočet a zácpy jsou na denním pořádku. Praha je ale o dost starší než Mnichov, možná proto působí tak ošuntěle. Tady hodně baráků bylo zbořeno během války a stavělo se znova.

Lidé na kole i pěšky dodržují semafory trochu více než v Praze :) V Praze chodci i cyklisti často kašlali na zeleného panáčka, a to hlavně v místech, kde se napojuje menší vedlejší do hlavní. Například když jedu na kole, jezdím okolo centrály BMW. U vjezdu do garáže je semafor. Cyklisti tu zastavují, i když často vidí, že nic nejezdí.

Bydlím hned u super parku, pro mě asi nejlepší parčík tady :) Nebyl jsem zatím v mnoha parcích, ale Olympijský park je úplně stvořený pro běhání. Nejsou tam hluboké lesy ani rádoby divoká příroda. Jsou tam posekané trávníky a asfaltové cesty pro chodce i cyklisty. Je tam samozřejmě olympijský stadion + miliony sportovních zařízení (za prachy). Uprostřed parku je poměrně veliké jezero. Pod mým barákem mám potraviny, restaurace, pekárnu, bankomat atd.

Převážná většina obyvatel Mnichova mluví slušně anglicky. Velká část mluví dokonce perfektně. Nedávno za mnou přišel docela starý pán tak 65 let. Začal povídat něco německy. Když jsem mu řekl Ich spreche nicht gut Deutsch, tak začal perfektní angličtinou hovořit. Nebo jak jsem tu sháněl byt, tak malej klučina (asi tak 5 let) zkoušel na mě anglicky. Nakonec nedokázal říct to, co chtěl, ale zvládl říct: Sorry, neumím to říct anglicky.


Nevýhody:
Umět německy, tak by se mi tu žilo lépe. I když v práci je oficiální jazyk anglina, tak dost lidí umí německy (i ti cizinci), takže se často mezi sebou baví německy a pak tomu nerozumím :D Nebo když ve výtahu sousedé na mě promluví, také často nerozumím, tak jen kývám hlavou nebo říkám "Ja". Minule se mi ale nějakej pán na něco ptal, tak jsem mu i trochu odpověděl.

V Německu funguje organizace s názvem GEMA, která dohlíží docela striktně na autorská práva. Proto často hudební videoklipy na youtube nelze přehrát nebo až s velkým zpožděním. Často to bývá u nových songů. Nedávno jsem se chtěl podívat na nový videoklip od Taylor Swift a nešlo. Až po měsíci jsem vyzkoušel znova a pak to šlo. Podobně to bylo i se staršími klipy od ní. Navíc jste ty nepovolené klipy vůbec neviděli v nabídce videí v profilu uživatele, takže to vypadá, že neexistují. Zákaz se neomezuje jen na zahraniční videa, ale i na některé české hudebníky. Nechápu, jak to chodí a komu tím pomohou.

Ubytování je tu dražší než v Praze a najít za rozumnou cenu kvalitní ubytování je velmi těžké. Já jsem našel jen kvalitní ubytování, ale cena je dosti vysoká :D Při hledání ubytování se požadují docela dost věcí, namátkou reference od předchozích pronájimatelů, výpis o bezdlužnosti v Německu, pracovní smlouva, záloha ve výši až 3 měsíců... A i kdybyste dodali všechny tyhle papíry, vůbec nemáte vyhráno, protože zájem o kvalitní byt za dobrou cenu je obrovský. V současném bytě mám v plánu chvíli pobýt a pak zkusit najít něco levnějšího, až to tu budu znát více.

MHD je tu horší jak v Praze. Sice je tu asi 8 linek metra, ale jezdí v intervalu 7-10 min. To v Praze ne, tam jsou intervaly přes den i 2 minuty, o víkendu třeba 7 min. Tady je často interval 10 min klidně v dobu, kdy v Praze je běžné 3 minuty. Také lístek stojí hodně a systém lístků docela komplexní. Za jednu normální jízdu platím 2,7 euro. Takže pokud chci jet do centra a zpátky s MHD, tak 5,4 euro v hajzlu (v přepočtu cca 150 Kč). Měsíční tu vyjde tak na 60-70 euro, což je dost. A myslím, že na delší dobu než měsíc nemohu koupit lístek. To v Praze za roční lístek dáte 3650 Kč, což je krásná cena za tu kvalitu. Proto jezdím na kole nejen z peněžních důvodů. Je to rychlejší a flexibilnější než MHD. Každopádně co se týká poměr cena/kvalita MHD, je Praha na prvním místě ze všech míst na světě, kde jsem byl.

Stravovací návyky lidí u nás v práci je jiné než na co jsem byl zvyklý v ČR. Tam většina lidí chodila přes oběd do restaurace na polední menu. Tady půlka si vaří nebo si nese vlastní jídlo z domu a ohřívá, pak jí v kuchyni u velkého stolu. Zbytek chodí do potravin koupit si nějakou housku nebo sendvič nebo něco podobného, a nebo chodí do blízké jídelny, kde vaří takové typické jídlo z menzy. Kvalita nic moc, ale za to poměrně levné ceny (za jídlo a pití se lze vejít do 4 eur). Když už jednou za čas jdeme do restaurace, tak NIKDO si tu nedává pivko k obědě. Nikdy jsem neviděl, že by si objednali pivo k obědu. V ČR když si nedávám pivo k obědu, tak jsem ojedinělý případ.

Pracovat ve větší firmě také znamená deadliny, což nemám moc rád. I když teď jsme jeden deadline stejně nesplnili a nic se nestalo, tak za poslední týden jsme často museli pracovat přesčas hodinu až dvě. Je pravda, že předtím jsem zase jezdil domů o půl hodiny dříve asi měsíc po sobě, ale nemám rád, když se musí pracovat přesčas, protože je potřeba dokončit něco do dalšího dne.

Daň a pojištění je tu strašně vysoké oproti živnosti v ČR. Z platu mi vemou 40%. Kromě standardních druhů daní se tu platí i solidární daň pro lidi z východu (Východní Německo). Pak ještě můžete přispívat za náboženství, pokud se přihlásíte k nějaké víře (což jsem neudělal).

neděle 30. srpna 2015

Mnichov - první dny

Včera jsem se přestěhoval na trvalo do Mnichova. Převzal jsem úspěšně byt, i když pán, který mi měl předávat, přišel pozdě asi o 20 min oproti domluvě a ani se neomluvil. Tolik k německé pünktlich. Za to, že tu bydlím asi 4 dny před začátkem nájmu (měl jsem mít od 1.9.2015), tak mi také naúčtoval odpovídající cenu. To mě trochu zklamalo, protože jsem si myslel, že to budu mít pár dní zdarma.

Zajímavé je, že odpadky se hází do takové roury, které možná znáte z amerických filmů. Ta roura pak vede nejspíš do koše. Výhoda je v tom, že roura vede celým barákem, což znamená, že stačí vyjít ven ze dveří bytu a dojít k jiným dveřím na tom samém patře a vyhodit odpadky tam. Také tu nemám pračku ani sušičku, ale je k dispozici pro celý barák. Jedno praní vyjde na 2 éčka.

Hned pod barákem mám k dispozici supermarket Tegelmann, který je otevřen kromě neděle do 20:00, takže docela pohoda. Můžu v domácím oblečení a v pantoflích nakráčet nakoupit. Takový komfort jsem dosud neznal. A hned vedle je obchodu s pitím, od všech druhů nealko po alko, a metr od něj je zeleninářství. Takže všechny základní potraviny blízko. Kdybych se chtěl najíst v restauraci, tak zase pod barákem je hned vietnamská restaurace, metr od něj nějaké Turecko, 10 kroků od baráku je zase nějaká pizza a 10 kroků na druhou stranu se nachází pekařství. A 7 kroků je jedna banka, za rohem je pak pošta a v ní druhá banka. Pak je tu ještě lékárna, kavárny, bary, květinářství, trafika, prodejna mobilů, kadeřnictví a masáž. Prostě pod barákem mám vše potřebné.

Mnichov je placka a má kvalitní infrastrukturu pro kola, srovnatelná s Nizozemskem. Takže jsem si vzal a kolo a skvěle a rychle se tu jezdí. Osobně to mám asi 2x rychlejší na kole do práce než s MHD, i přesto, že mám metro hned pod barákem. A také je to levnější.

První věc, kterou jsem si tu zařídil, byla SIM karta, protože jsem to měl hned u domu. Koupil jsem si nějakou random SIM kartu od společnosti Lebara. Má to bejt virtuální operátor, nejspíš asi turecký nebo něco takévého. Je to v podstatě jedno, protože ceny jsou stejné pro předplacené SIM karty. Hovor stojí 9 centů/min v Německu.
Jak další jsem zajel do úřadu se zaregistrovat bydliště (Einwohnermeldeamt). Jdu tam asi hodinu a půl po otevření a bylo tam plno lidí a ještě bylo hic. Vyfasoval jsem číslo 88 a na tabuli teprve svítila číslovka 42. Tak jsem odešel do kanclu se optat na nějaké věci. Vrátil jsem se za 2 hodiny a svítilo tam 76. Hodinku jsem si ještě počkal a šel jsem na řadu. Registrace je poměrně jednoduché. Ukázal jsem jim pas a občanku a nájemní smlouvu, na pár věcí se mě zeptali a pak mi dali registraci.
Poté jsem zašel do banky, která se nachází hned pod barákem. Jmenuje se Sparkasse a má logo podobnou jak Česká spořitelna, asi je také součástí Erste Group. Mají k dispozici 2 druhy účtů. Jeden z nich je za poplatek asi 5 euro měsíčně, za to máte 24-hodinový support zaměstnanců. Mohou za vás zadat platby atd. Jinak se totiž musí platit, a to je případ druhého typu účtu. Tento účet je zdarma, pokud vám tam měsíčně chodí nad 1500 euro, ale pokud chcete, aby za vás zaměstnanci banky provedli nějakou operaci, tak platíte 2 eura. Samozřejmostí jsou výběry z bankomatu zdarma a karta. U pobočky, kde jsem založil účet, obsluha uměla anglicky, tak mi trochu pomohli i se smlouvou. Každopádně není nic příjemného podepisovat smlouvu, když ničemu nerozumíte a musíte věřit zaměstnanci banky, ale snad to bude ajt.

Ještě mi zbývá zaregistrovat se u pojišťovny a pak získat daňové číslo. To vše mohu udělat přes internet, ale u pojištění je potřeba podepsat a oscanovat to, což nemohu, protože nemám k dispozici tiskárnu ani scanner.

středa 12. srpna 2015

Mnichov - ubytování

Po nalezení práce je důležité sehnat bydlení. Jelikož budu pracovat v blízkosti Olympijského parku, tak jsem chtěl sehnat nějaké místo, které nebude od kanclu dál než 30 min MHD, protože čas jsou peníze.
Jako první jsem našel nějaké servery, kde jsou inzeráty s bydlením. Několik jsem jich našel:

wg-gesucht.de - asi nejlepší server, který jsem našel. Inzeráty tam přibývají po desítkách denně, a to i o víkendu. Lze tam hledat dům, velký byt, 1-pokojový byt i sdílený byt. U sdíleného bytu lze vymezit, pro jaké pohlaví je místo v bytě určen i kdo s vámi bude bydlet. A také cena je tu nejpřehlednější, o tom ještě pohovořím.

immobilienscout24.de - hodně bytů, ale hodně jsou od agentur. Pokud najdete byt od agentury, často jim musíte platit nějaké provize od 1-3 nájmů, což je docela hodně. Navíc nenabízí takové možnosti hledání a uvedená cena není finální.

facebook fóra - není tu tolik nabídek a většina jsou v němčině. A jsou hodně rychle zabrané. Výhodou je, že vidíte, kdo vám byt nabízí, jaké má přátele, zájmy apod. Také uvidíte, s jakou rychlostí jsou lepší byty zabrané v Mnichově. Nejlepší je tohle fórum: Wohnungen in München -provisionsfrei-

Toytown Germany fórum - hodně málo nabídek a většinou rychle obsazené. Hodně užitečný je však samotný web, kde můžete si přečíst o životě v Německu, co znamenají slova při hledání bytu, na co si dát pozor apod.

Craiglist - s tímto serverem mám negativní zkušenost při hledání bytu. Je tu minimum nabídek, některé však vypadají velmi lákavě a cenově více než přijatelně na Mnichov. Na jednu jsem zareagoval. Odpověď přišla velmi brzy a byla poměrně důvěryhodná. V odpovědi se vyskytovaly nějaké obecné otázky jako jestli mám zvířata, kolik lidí bude žít se mnou a jaký mám plat. Něco jsem odpověděl a navíc jsem se zeptal pronajímatele na nějaké další věci.
Chvíli po odpovědi hned přišly dva emaily. Ten první chtěl zaplatit kauci na Western Union. Vypadal také důvěryhodně, kauci mám vložit na své jméno a pak si půjdeme s pronajímatelem vyzvednout tu kauci osobně a předá i klíče od bytu. Prý se to musí takhle udělat, protože pronajímatel bydlí v Berlíně a nechce zbytečně jezdit do Mnichova. Ve druhém emailu byly odpovědi na moji otázku. Ptal jsem se i na to, proč je ta cena tak podezřele nízká. Odpověď zněla, že pronajímatele nezajímá tolik peníze a chce někoho, kdo by pečoval o byt. Seems legit. Ale protože chtěl peníze, tak jsem si ho vygooglil a zjistil jsem, že je to scam. Tak jsem mu napsal a poslal odkaz na ten scam a už se neozval. Škoda, kdyby po mně nechtěl prachy, tak bych mu i věřil.
Každopádně teď jsem koukl na craiglist a je zaplaven podezřelými nabídkami od tohoto scammera, takže pozor. Pokud jsou ceny podezřele nízké a hlavně pokud chce dotyčný jakýmkoliv způsobem prachy dopředu, tak se skoro jistě jedná o scam.

Ceny bytů

Jak jsem se předtím zmínil, v inzerátech mohou být 2 druhy cen. Prvním z nich je kaltmiete a je to cena jen za holobyt, bez teplat či vody či internetu či odvoz odpadků apod. Je to něco jak cena výrobků bez DPH. Vypadá to hezky jako reklama, ale za ty prachy to většinou nedostanete. Tahle cena je uváděna na serveru immobilienscout24. Po rozkliknutí na nabídku uvidíte skutečné peníze, co musíte zaplatit. Neviděl jsem snad žádný inzerát, který by nabízel možnost za tuto cenu pronajímat byt, že byste si mohli plyn, vodu, teplo atd. si zařídit sami na své jméno.

Druhou cenou je warmmiete. Tohle je už skutečná cena, kterou zaplatíte pronajímateli a můžete bydlet. Je v tom zahrnuto inkaso a občas i internet, je nutné si o tom přečíst v popise. Tahle cena je uváděna ve wg-gesucht.de

Jak jsem hledal byt

Jako první jsem reagoval na inzeráty přes zmíněné portály. Vybral jsem jen ty, které mi vyhovovaly, tzn. byly max. 30 min MHD od místa práce, k pronájmu dlouhodobě a cena pod 1000 eur měsíčně, čím níž tím líp. Po 4 dnech jsem zareagoval na 30 inzerátů, 28 z toho jsem našel na zmíněném serveru wg-gesucht.de. Reakce jsem psal v angličtině, kde jsem krátce pohovořil o sobě, co budu dělat apod. a že chci na delší dobu byt a chtěl bych si prohlédnout byt před pronajmutím. A zpátky mi přišly 4 odpovědi, z toho jedna odpověď asi až po týdnu. Na 3 jsem byl se osobně podívat. Z jednoho se mi druhý den ozvali, že ne. Z druhého bytu mi slíbili, že se do týdne ozvou, už přes týden pryč a furt nic. Tak jsem vzal nakonec ten třetí byt, který byl na nejlepší lokalitě (olympijská vesnice přímo u metra), ale také nejdražší.
Hledání bytu v Mnichově je ohromně těžké, pokud sem přijíždíte jako cizinec. A pokud neumíte německy, tak si myslím, že situace je ještě více ztížena. Pronajímatel tu požaduje na české poměry dost dokumentů, některé z nich nemůžete mít, pokud jste nežili v Německu. Ty, které můžete mít, a které se standardně požadují, jsou CV (nebo Facebook nebo něco napsat o sobě), pracovní smlouva a platy za poslední 3 měsíce. Jiné dokumenty, které se požadují a jako cizinec nemáte, jsou reference od předchozích pronajímatelů (asi německých, česky to nepůjde) a Schufa osvědčení. Schufa se požaduje skoro u každého druhého inzerátu. Je to něco jako osvědčení o bezdlužnosti, ale když jste nikdy nežili v Německu, nemůžete to ani mít.
Když jsem byl si prohlédnout byty, tak u toho prvního říkal týpek (nájemce), že se o byt zajímá 7 lidí (1+kk+místo k parkování za 800 eur měsíčně). Ten druhý byt taky podobný počet. Nájemkyně druhého bytu také dodala, že na inzerát odpovědělo během 2 dnů přes 50 lidí (spolubydlení 1 pokoj za 550 eur měsíčně)! O třetí byt se zajímali jen 4 lidi.
Byt, který jsem si nakonec vybral, je také 1+kk. Navíc má i balkón s výhledem na olympijský park. Prý lze z balkónu poslouchat koncíky (nájemce tam poslouchal AC/DC a nějaké další skupiny) a školku. Je plně vybaven (i gauč tam je). Nevybavené byty v Německu většinou nemají sporáky, jen z nich trčí dráty ze zdi! Hned dole u vchodu jsou supermarkety, obchody a restaurace. Do práce na MHD to budu mít 18 min a na kole asi 10 min. V ceně mám poplatky za vodu, elektřinu, teplo, odvoz odpadků a internet, ještě musím platit televizní poplatek (asi 18 éček měsíčně, i když nemáte TV). Pračky a sušičky jsou společné pro celý barák a stojí to asi 2 éčka za praní.
Samozřejmě za byty se požadují kauce 1-3 nájmy. Ty se vám na konci vrátí zpět, ale i tak je to velká suma, kterou musíte vynaložit, abyste mohli vůbec začít bydlet v Mnichově.

sobota 25. července 2015

Jak jsem získal práci v Německu

Začátkem července jsem se dozvěděl, že nemáme dost peněz ve firmě a do konce července skončím. Tak jsem začal shánět práci. Chtěl jsem pokračovat v tom, co dělám, tedy programovat webové aplikace.

Protože jsem se chtěl naučit německy, tak jsem si říkal, že bych mohl pracovat v Německu, Rakousku či Švýcarsku. První věc, kterou jsem udělal, bylo vytunit svůj Linkedin profil. Napsal jsem do současné pozice technologie, které jsem kdy použil. Také jsem se zmínil o tom, že jsem několikrát pracoval dálkově.

Práci budu hledat výhradně přes internet, a to přes Linkedin a Stackoverflow Careers. Na Linkedin jsem si předplatil Premium účet. Ten je zdarma po dobu 30 dní, ale musíte zadat číslo kreditky. Poté vám z účtu zadrží částku 1 euro, asi aby zjistili, že účet je správně. Ale nevemou vám to z účtu a po pár dnech se částka zase objeví zpátky. S Premium účtem se prý váš profil objevuje výše při vyhledávání, vaše aplikace na pracovní pozice se dostane na přední pozice u HR a také máte více možností při vyhledávání práce (které stejně není použitelné pro Evropu, třeba výše platu funguje jen pro USA). A nejlepší vychytávkou je možnost vidět u jednotlivých pracovních pozic porovnání, kolik lidí se tam přihlásilo, jaké mají úrovně a skilly a v jakém procentu bych se umístil mezi nimi. Funguje to až od 10 přihlášených lidí na pozici a výše. Také tam lze vidět statisku dané firmy, ale také se to zobrazuje až pro větší počet zaměstnanců registrovaných na Linkedin. Nevím, zda mi Premium účet pomohlo k nalezení práce, ale když je to zadarmo, proč to nezkusit.

Na Stackoverflow Careers je vyhledávání práce o dost lepší, protože lze filtrovat výsledky podle firem, které vám dovolí pracovat dálkově, pomohou vám s vízem nebo s přestěhováním. U pracovních nabídek navíc vidíte, do jaké míry firma splňuje Joelův test. Máte tam také vlastní profil. Údaje do nich můžete naimportovat z Linkedinu. Ale třeba kolega nemohl založit účet na Careers. Je to možná tím, že má málo bodů na Stackoverflow.

Zaslání aplikace na Linkedinu je v některých případech poměrně jednoduché. Stačí kliknout na jedno tlačítko a potvrdit. Skoro pokaždé se ale stalo, že firmy po mě stejně v následných emailech požadovaly poslat CV. V jiných případech firma odkazuje z Linkedinu na jejich vlastní stránku, a tam už musíte vyplňovat miliony věcí o sobě a přidat průvodní dopis a CV.

Na Stackoverflow je nutné při zaslání aplikace na pozici napsat i nějaký průvodní dopis, což byla poměrně otrava. Nakonec však větší procento odpovědí přišlo z nabídek na StackOverflow. Na druhou stranu práci jsem nakonec sehnal z inzerátu na Linkedin.

Množství práce bylo pro mě trochu omezené, protože jsem hledal firmu, která nepožadovala němčinu. Navíc musela používat ty technologie, které umím, jinak bych tam neměl co dělat. Pokud umíte němčinu, obrovsky se vám rozšíří počet pracovních míst, o které se můžete ucházet.

Skoro všechny pohovory měla následující strukturu: prvně mi zavolala nebo napsala paní z HR. Pokud mi zavolala, ptala se na obecné věci jako proč se chci stěhovat do Německa, proč hledám práci, jaký si představuji plat atd. Pokud mi psala, tak mi psala podobné otázky, ale často tam přidaly i nějaké programátorské otázky, ať na ně odpovím. Tohle první kolo s HR zabírá cca 90 min.

Druhé kolo bylo čistě technické. Zavolal mi jeden či dva lidi z technického týmu a různě se vyptávali. Některé z těžších otázek můžete vidět v předchozím příspěvku. Jednou mi i dali úlohu, ať zpracuji přímo při pohovoru a ať přitom říkám, jak bych postupoval. Prostě jako při ústním zkoušení ve škole. Po hovoru následovalo v některých případech zaslání úlohy a požadavek ho splnit do týdne. Úlohy byly stylem - udělej web aplikaci CRUD, použij onu  technologii na backendu a jinou na frontendu, aby to byla single page aplikace apod.

Do třetího kola jsem se dostal jen s jednou prací (protože jsem ji pak přijal a napsal ostatním, že už mám práci), kde mi zavolali paní project managerky a ptali se mě na práci v týmu a osobnostní otázky, tedy nic technického. Řekl jsem pravdu a také jsem se pak jich zeptal na nějaké otázky ohledně práci ve firmě a jejich osobní názory.

A pak přišla akceptace a podrobná nabídka pozice. Dostal jsem lehce víc, než jsem si řekl, ale během pohovorů jsem zjistil, že v Německu jsou vysoké daně (tak 40% - 45%), takže ve výsledku mám jen průměrný plat. A ještě budu žít v Mnichově, což je nejdražší německé město, ale podle statistik nejlepší město v Německu. Takže u platů to žádná výhra není. Moje doporučení pro příště je předem zjistit náklady na život a říct si o čistou než o hrubou mzdu.

Co je ale lepší, jsou volné dny a nemocenské. Dostanu 28 dní placeného volna (+ svátky atd.) a nemocenské se tu prý platí 100% platu prvních 6 týdnů a pak 70% do 3 let. Je to výrazné zlepšení oproti živnosti. Dále jsou zahrnuty pití a ovoce zdarma v práci, sprcha, flexibilní pracovní doba a možnost home office. Také dostanu nějakej MacBook, ale asi jen pro práci. A čas od času budu moci jet do Berlína pracovat v jejich druhé pobočce. A proplatí mi i německé kurzy, tak se snad naučím mluvit německy jako Irma.


tl;dr
Práci v zahraničí jsem hledal přes Linkedin a StackOverflow Careers. Na Linkedin jsem si navíc zaregistroval prémiový účet na měsíc zdarma. Všechny kola pohovoru jsem dělal online. Nakonec po skoro 3 týdnech hledání a pohovorů jsem si našel práci, která mi vyhovuje.

úterý 21. července 2015

Otázky z prac. pohovorů

Během pohovorů do pozice Java programátora jsem pochytil pár zajímavých otázek, u kterých jsem si nevěděl rady. Předkládám tu některé z nich:


1) Co je statická synchronized metoda?
Výtah ze specifikace Javy: A synchronized method acquires a monitor (§17.1) before it executes. For a class (static) method, the monitor associated with the Class object for the method's class is used. For an instance method, the monitor associated with this (the object for which the method was invoked) is used.
Pokud je synchronized na statické metodě, zámek je na třídě. Tudíž opravdu jen jedno vlákno může přistupovat do této metody


 2) Mohou 2 vlákna volat stejnou synchronized metodu v tu samou chvíli?
Ano, protože synchronized na metodě získává zámek na objektu. Pokud tedy máme 2 různé objekty stejné třídy, mohou volat v jednu chvíli tu samou metodu.
Zdroj: http://stackoverflow.com/questions/9382015/can-two-threads-access-a-synchronized-method-at-the-same-time


3) Může v Javě existovat statické třídy?
Ano, může existovat jako nested class (vnořené třídy?). Statické vnořené třídy mohu vytvářet bez nutnosti mít instanci vnější třídy.

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

4) Jaký je rozdíl mezi nested a inner class?
Nested class se dělí na statické a nestatické. Statické jsem popsal o otázku výše, nestatické se nazývají inner class.
Pro zajímavost, v Javě existují 4 druhy vnořených tříd: 
  • static class: declared as a static member of another class
  • inner class: declared as an instance member of another class
  • local inner class: declared inside an instance method of another class
  • anonymous inner class: like a local inner class, but written as an expression which returns a one-off object


5) Mohu přetížit (overload) metody public void fun(List<String> x) a public void fun(List<Integer> x)?
Ne. Generics kontroluje kompilátor, ale při překladu do bajtkódu se maže generics typy (tzv. Type erasure proces) a konverze do správného typu je zajištěno pomocí casting. Proto v bajtkódu by tyto metody byly od sebe nerozlišitelné.


6) Úloha:
Write a method that tells whether a given positive integer is happy. A happy number is found using the following process: Take the sum of the squares of its digits, and continue iterating this process until it yields 1, or produces an infinite loop.

For example the number 49:
4^2 + 9^2 = 97
9^2 + 7^2 = 130
1^2 + 3^2 + 0^2 = 10
1^2 + 0^2 = 1

Therefore number 49 is happy. Similarly 10 is happy, but 2, 3, 4, 5, 6, 8 or 9 are not happy.