RSS Feed LinkedIn Google Plus

2012. december

  1. A kódunk legyen öndokumentált!

    2012. december 15. szombat

    Kérlek, mondd el röviden, mit csinál az alábbi CoffeeScript kód!

    uglyStep = (arr) ->
        res = []
        arr.forEach (a) ->
            count = 0
            arr.forEach (b) ->
                count += 1 if \
                    Math.abs(a.x - b.x) <= 1 and \
                    Math.abs(a.y - b.y) <= 1 and \
                    (a.x != b.x or a.y != b.y)
            res.push(a) if 2 <= count <= 3
        arr.forEach (a) ->
            for i in [-1..1]
                for j in [-1..1]
                    live1 = arr.some (cell) ->
                        (cell.x == a.x + i and cell.y == a.y + j)
                    live2 = res.some (cell) ->
                        (cell.x == a.x + i and cell.y == a.y + j)
                    unless live1 or live2
                        current = {x: a.x + i, y: a.y + j}
                        count = 0
                        arr.forEach (b) ->
                            count += 1 if \
                                Math.abs(current.x - b.x) <= 1 and \
                                Math.abs(current.y - b.y) <= 1
                        res.push(current) if count == 3
        res

    Ha a válaszban olyan szavak szerepelnek, hogy „végimenve”, „megnézzük”, „hogyha egyenlő”, az mutatja a problémát. A kódnak önmagában érthetőnek és világosnak, vagyis öndokumentált jellegűnek kell lennie. Viszont dokumentációban és a tesztekben azt írjuk le, hogy mit csinálunk, nem azt, hogy hogyan. (more…)


  2. Őszintén a munkakapcsolatban

    2012. december 14. péntek

    A halogatott reménység beteggé teszi a szívet,
    de a megadatott kívánság életnek fája.

    Nagy érték, ha a munkavállaló lehet őszinte és tud őszinte lenni, ugyanis ilyenkor lehet viszonyulni ahhoz, aki ő valójában. Ha őszintén, negatív következmények nélkül elmondhatja azt, ami foglalkoztatja, akkor van esély rá, hogy közös nevezőre tudjunk jutni, és még ha nincs is lehetőségünk megadni neki, amit szívünk szerint megtennénk, akkor is átélheti a „megértettek engem” érzést, és ilyenkor gyakran kiderül, hogy a helyzet nem is olyan súlyos…

    Fura lény az ember, néha olyan apróságokon tudnak nagy dolgok múlni. Lehet, például, hogy valakinek az a szíve vágya, hogy el tudjon menni egy szomszédos országba egy szakmai konferenciára. Lehet, hogy valakinek hiányzik a céges kávé. Lehet, hogy egyszerűen csak egy új egérre vágyik, vagy szeretné kipróbálni magát egy új szituációban. Ha  gyűlik benne a frusztráció, egyszer csak besokall. Viszont ha megkapja amire vágyik, az igen nagy mértékű inspirációt tud jelenteni, amitől a munkateljesítménye is jelentősen jobb lesz. Nem is a konkrét érték miatt, hanem mert érzi, hogy embernek nézték, hogy fontos, hogy megkapta azt, amire szüksége van. És ez lehet, hogy csak annyi, hogy amikor reggel bejön a főnök, köszönjön oda neki is. Elmondhatja, ha zavarja ennek a hiánya? Vagy retorziótól kell tartania? De erre a munkavállalónak is törekednie kell, hiszen a vezetőség sem gondolatolvasó, nem fogja tudni magától kitalálni, mi van benne. Ha a hajlandóság megvan, segíteni kell őket abban, hogy ő speciel mivel motiválható.

    Továbbra sem változott meg a véleményem, a munkavállalónak az a dolga, hogy hasznot hozzon a cég számára, mondhatnám, a dolgozó van a cégért, és nem a cég a dolgozóért, a főnök nem tartozik a beosztottnak azzal, hogy megfelelően motiválja. De mégis jó, ha így teszünk, mert ha sikerül a szíve szerint viszonyulni hozzá, akkor nagyon ragaszkodni fog hozzánk. Ahogyan Csudi mondta: „Csendben megjegyzem, hogy vannak cégek, ahonnan nem lehet embert elhozni, semennyi pénzzel sem. Sőt, pénzzel általában nem lehet.” Ez pedig mind a két fél számára előny, mert van egy jó munkaerőnk, aki szintén jól érzi magát nálunk. (Az is igaz, hogy ha valakinek semmi nem jó, annak semmi nem jó, felesleges lyukas vödörbe vizet öntenünk, de ezt egyénileg kell elbírálni.)


  3. Employer branding témák

    2012. december 8. szombat

    A Budapest.JS meetup oldalán parázs vita keletkezett egy álláshirdetés kapcsán, hadd osszak meg néhány részletet Csudi válaszából. Nagyon jó gondolatok. Eleinte én is meglehetősen távolságtartóan kezeltem a fejvadász-munkaközvetítő társaságot, de be kellett látnom, hogy vannak közöttük felkészültek, és nagyon sokat segíthetnek egy tapasztalatlan, de nagy ambíciókkal rendelkező cégvezető vagy HR-es személynek, persze, ehhez az egyik oldalon hajlandóság a másik oldalon szakértelem kell. (A kimelések tőle vannak.)

    Felnőtteket akarsz felvenni, ezért kezeld a jelölteket felnőttnek. Ne azt nyomjad ezer sorban, hogy mit vársz el, és mi az, ami jobb, ha van, de jó, ha nincs, hanem azt nyomasd legalább 15 (!) sorban, igen (!), hogy mit kell csinálni.

    A fentiek alapján aki a feladatot érdekesnek találja, máris félig motivált lesz, ez kb. 1500%-ot nyom a megfelelési indexen.

    És igen, valaki már írta, a célközönséged jelen esetben a JS meetup látogatói – ezek az emberek már eleve eléggé tudatos lények, hidd el! :) Illetve, mint kezdő cég, biztos, hogy baj, ha egy kezdő, de tehetséges ember esetleg be tud esni, aki, igen, nálad tanulja ki a szakma csínját-bínját, és nem fogom tudni majd elfejvadászni, mert állati jól motiválod? (Csendben megjegyzem, hogy vannak cégek, ahonnan nem lehet embert elhozni, semennyi pénzzel sem. Sőt, pénzzel általában nem lehet.) (more…)


  4. Second Global Day of Coderetreat

    Hű, nagyon jó volt! A teszt vezérelt fejlesztés már rutinosan ment, így tudtunk a feladatra koncentrálni, és nagyon élveztem a páros programozást. :) Kódoltam C++-ban is (eleinte csak néztem, ahogy a társam kódol, de aztán fokozatosan felelevenedtek az emlékek). Jó partnereim voltak, és mivel minden egyes sessionban elölről kellet kezdeni a kód írást, nem mentem bele hitvitákba: ha a társam kötötte az ebet a karóhoz, ám legyen, egy sessiont kibírunk, és levonjuk belőle a tanulságot. (Igaz, az első sessionban én is egy rossz statégia mellett kardoskodtam.) (more…)