HTML

psmith szingapúri kirándulása

psmith szingapúri kirándulása

Friss topikok

  • onetom: kis pontositas: a "kizartak singaporebol" ugy ertendo, h "not eligible to enter under current poli... (2011.08.07. 04:52) fizu
  • suan2: A nyúl éve van most, de nem tudom mit jósolnak a kínaiak, nem tudok kínaiul :) Újságot nem szoktam... (2011.02.09. 04:47) BÚÉK
  • katonadavid: Nice. Lehet látták, hogy kezd borulni az ég és úgy voltak, a Nagy Sensei majd megoldja a helyzetet... (2011.02.02. 16:28) tűzoltó
  • sumani: Örülök, hogy jáccani is van időd és kedved. Nálunk itt havas hideg idő van. Te még mindig rövidgat... (2011.01.24. 08:57) játékok
  • suan2: @sumani: Nem szedtem fel. Bar merlegem nincs, de szvsz nem vagyok sulyosabb, mint amikor eljottem. (2011.01.03. 11:05) KKK

Linkblog

munka és konferenciák

2010.09.25. 13:54 suan2

Az utóbbi időben kicsit elmaradtam a bloggolással, ezért most pótolom :) Előrebocsájtom, hogy szakmai lesz ez a post.

Napjaim munkával és ehhez kapcsolódó tanulással telnek. Például kezdem egyre jobban azt érezni, hogy a BDD (Behaviour Driven Development, ez egy fajtája a TDD-nek vagyis Test Driven Development-nek) az, amire nekem szükségem van ahhoz hogy minőségileg jó forráskódot tudjak írni. Mivel a jelenlegi munka Python és Google App Engine felhasználásával készül, így nem tudom használni a Cucumber-t mert az Ruby-hoz készült. De szerencsére valaki készített a Pythonhoz is egy Cucumber szerű dolgot, ennek neve: Lettuce. Ez egy nagyon primitív kis program, ami dekorátorok használatával meglehetősen egyszerűvé teszi a tesztek írását.

Nekem sokkal jobban bejön ez a fajta megközelítés, mint a "hagyományos" fejlesztési módszertan, mivel hagyományos esetben sosem készülnek tesztek, mondván hogy majd a végén megcsináljuk, de aztán ez rendszerint elmarad. BDD esetén a tesztek programozási nyelvtől független nyelven kerülnek megírásra, emiatt akár az ügyfél számára is értelmezhetőek. Ha jön egy új munkatárs, akkor ő is könnyebben értelmezi az angol/magyar szöveget, mint a forráskódot.

És nem-mellesleg, ha a rendszert újra szeretnénk írni egy más platformon (mert például Google App Engine helyett váltanánk Amazon Web Services-re, azt gondolván hogy az olcsóbb lesz), akkor az alkalmazás logikája és a tesztek már előre készen vannak! Csak a forráskódot kell megírni és kész az új verzió, ami nem kis előny. A forráskódot is kevésbé kell kommentezni, mivel kis részekre van darabolva a forrás, és a tesztekben le van írva hogy mi hogy működik. Tehát ha úgy nézzük, akkor a hagyományos kommentek helyett a számítógép számára is érthető szöveget írunk (Cucumber-ben vagy Lettuce-ban), ami kb ugyanakkora munka, csak így a gép ellenőrizni tudja a programunk működését. Másképpen fogalmazva, a kommentelés kidobott idő, mivel az a gép számára nem értelmezhető módon írja le a program működését.

Ráadásul számomra sokkal nehezebb és unalmasabb Unit tesztet írni, mivel a tesztek jó nagyok lesznek (mondván, hogy ha már előkészítettem az adatokat, akkor már több dolgot is letesztelek, nem csak egyet), emiatt átláthatatlan és karbantarthatatlan lesz. És a Unit teszteket is tele kell rakni kommenttel hogy melyik rész mit is akar tesztelni, ami megint csak kidobott idő.

A Lettuce még elég kezdeti stádiumban van, emiatt egy kis kiegészítésre szorult a részemről, amit egyszer majd meg fogok osztani a közösséggel :)

 

Ezen kívül, amikor van valami rendezvény, akkor arra elmegyünk Tomival. Ezen a héten volt jónéhány:

- CloudCamp, ahol Cloud Computing-gal kapcsolatos dolgokról volt szó

- Singtel Accelerate. Például szerepelt Mitchell Baker, a Mozilla alapítvány elnöke, aki utána a HackerspaceSG-be is elment, és személyesen lehetett vele beszélni. Magyarországon erre mikor lenne esélyem??

Itt találkoztam másodjára Benjamin Scherrey-vel is, aki az első délkelet-ázsiai szoftverfejlesztő cég tulajdonosa, akik Agile Development-tel fejlesztenek (nem ellenőriztem le, ő mondta így). Javarészt ők is Python-t és Django-t használnak, szóval vele érdemes kooperáálni, 6 éves tapasztalatuk van.

- és a Founder Insitute-nak volt egy összeröffenése tegnap, ahol a mint.com alapítója mesélte el a cégalapítással kapcsolatos tapasztalatait. 3 éve alapította a céget, ami mára 170 millió dollárt ér, szóval érdemes hallgatni rá.

Ezek az események, (amellett hogy érdekes és hasznos információkat lehet itt hallani) arra is jók, hogy ismerkedjünk más emberekkel. Ezt a részét hívják Networking-nek, és általában direkt hagynak rá időt a rendezvények szervezői. Esetleg pontenciális támogatókat is szerezhetünk a projektjeinkhez. Nem feltétlen anyagi támogatásra gondolok itt, hanem inkább technológiai, vagy akár csak ötlet szintjén tudják segíteni az embert.

Például megosztottuk egymással az alkalmazott fejlesztési módszertant, vagy ötleteket kaptunk hogy egyes problémákra milyen megoldást ismernek.

 

Összefoglalva a dolgot, már csak az ilyen rendezvények miatt is érdemes volt kijönni Szingapúrba. Mondhatni kinyílt a szemem, látván hogy van élet a PHP-n, Java-n, JBoss-on és saját szervereken túl is.

Otthon például sosem gondoltam azt, hogy a Cloud Computing az egy hasznos dolog lenne. Mindig azt hittem hogy ez csak egy jól hangzó "lófaszbingós" dolog, amit mostanában előszeretettel használnak. De kiderült hogy az egy nagyon is jó dolog, adott esetben érdemes lehet használni. Persze nem ez a Silver Bullet, ami mindent megold. A Singtel Accelerate-en az egyik cég elnöke azt mondta, hogy ők az AWS-t használják, 2000 szerverük van, és ennek havi költsége 7ezer dollár. Korábban saját szerverekkel dolgoztak, amelynek havi költsége kb 70ezer dollár volt. Szóval náluk konkrét nyereséget hozott a Cloud Computing használata.

Másik dolog pédául, hogy a BDD eléggé el van hanyagolva Magyarországon. Mintha, valamilyen oknál fogva nem mernék alkalmazni a külföldön már bevált technikákat.

Errefelé sokat beszélnek például a Pair Programming-ról is, ami azt jelenti hogy két programozó ugyanazon a gépen és monitoron együtt dolgozik. Vagyis az egyikük már a teszt vagy forráskód megírásának pillanatában ellenőrzi, hogy amit a társa ír, az jó-e. Ezzel drasztikus mértékben lehet csökkenteni a bugok számát, elősegítve ezzel a hibamentes(ebb) szoftverek elkészültét, és csökkentve a karbantartás költségét.

A Pivotal Labs ennek a legnagyobb híve errefelé, ők fejlesztették ki a Pivotal Tracker-t is, ami a szoftverek életciklusának menedzselésére használható ingyenes eszköz. Például erről sem hallottam Magyarországon, de ezt én is használom mostanában, és tényleg jó cucc.

Ezt a Pair Programming-ot még nem tudtam élőben kipróbálni, de mindenképpen meg szeretném tapasztalni, hogy milyen. A Pivotal Labs szerint a Pair Programming-ban részt vevők teljesítménye 3-5-szöröse az egyedül dolgozó programozókhoz képest. Tehát a párosodással növelik a hatékonyságot, annak ellenére, hogy látszólag az egyik ember csak ott ül, és nem csinál semmit.

 

Mindezek miatt azt kell mondjam, hogy sajnálom hogy nem jöttem ki már sokkal hamarabb. Tomi már 2 éve is mondta hogy jöjjek, mert érdemes lenne, de akkor még nyuszi voltam. Hiba volt.

És akkor még nem is említettem az itteni lányokat, mint vonzerőt :)

4 komment

A bejegyzés trackback címe:

https://psmithsg.blog.hu/api/trackback/id/tr72322290

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

wadallat · http://wadallat.blog.hu 2010.09.27. 14:13:48

Érdekes dolgokat írsz. Irigyellek, hogy ilyeneket megtapasztalsz. Teljesen más olvasni valami újdonságról egy cikket, mint valóságban látni. Gondolom kívülről még rugalmatlanabbnak tűnnek a magyar szoftveripari cégek. Pl egy pair-programming technika elterjedését elképzelhetetlennek tartom, pont amiatt, amit írtál is: "látszólag az egyik ember csak ott ül". De amíg a programozást, mint szellemi munkát monitor előtt töltött időben, meg kódsorok számában mérik, addig ez nem fog menni.

További jó nyitott szemmel járkálást kívánok! :)

onetom 2010.09.28. 16:24:56

@wadallat,
amig te is, mint szenvedo alany, hagyod h igy gondolkodjanak a megrendeloid/munkaadoid es nem teszel semmit ellene - mint pl legalabb elkuldod nekik ezt a cikket - addig ne is vard h barmi valtozni fog.

singapore meg begyoposodottebb am ilyen szempontbol.
televan olyan hagyomanyos cegekkel, akiknek a valtozas nem baratjuk es csak a fix koltsegu szoftver fejlesztesben kepesek gondolkodni.

de pont ezert megyunk holnap pl ide: www.meetup.com/Agile-Singapore/
hogy mi is tegyunk valamit ezeknek a modernebb szemleleteknek az elterjedese erdekeben.

ugyanis igeny lenne ra h hasznos szoftver eszkozokkel vertezzek fel a kulonbozo uzleteket, amiket raadasul
- gyorsan is fejlesztenek ki
- nagy pontossaggal ra van szabva az adott terulet sajatsagaira
- konnyen es gyorsan valtoztathato ahogy a vevo megismeri sajat problemakoret, meg persze az internet mukodeset :)

wadallat · http://wadallat.blog.hu 2010.09.28. 17:32:10

@onetom: Ilyen cikkekre a vezetőségnek kellene rátalálnia. Persze csak akkor ha megvolna a hajlandóság arra, hogy változtassanak. Itt nagyon apró lépsekkel haladunk, nagyon sok idő, fáradtság és pénz árán. Egyébként az jó észrevétel, hogy jelezzem fölfelé ha valami érdekeset találok, vagy ötleteim vannak, de az évek során nem véletlenül alakult ki bennem az az érzés, hogy hiábavaló lenne. Egyszerűbb lesz átmenni valahová, ahol már nem a programozók őskorában járnak, és túljutottak már legalább a kőbalta feltalálásán. Na de ebbe nem megyek bele mélyebben. Ismered a munkahelyemet, főnökeimet.

katonadavid · http://katonadavid.com 2010.09.29. 10:17:02

@wadallat: "Itt nagyon apró lépsekkel haladunk, nagyon sok idő, fáradtság és pénz árán."
I. vh. Lövészárokharc. :)

@onetom:
Azt az írót, aki olyan cikket írna, hogy Wad vezetői rájönnének, kőbalta helyett láncfűrésszel is lehet fát vágni, szerintem azonnal Pulitzer díjjal tüntetnék ki és Nobel Békedíjra is jelölnék. De nagyobb az esély arra, hogy Brittney Spears még szűz, mint arra, hogy ez bekövetkezik.

Egyébként Szegeden is van azért pár cég, ahol már legalább a középkorig vagy akár bőven azon túl értek már.
Nálunk pl. a pair-programming nem elsődleges fejlesztési forma de maximálisan támogatva van.

De ott, ahol a tervezést meg a tesztelést felesleges időpocséklásnak tartják...
süti beállítások módosítása