Posts Tagged ‘java’

Habits of a good developer

Tuesday, September 15th, 2009

Verandering van spijs doet eten. Sinds twee maand heb ik een ander baan, en een andere baan betekende voor mij, een verandering van:

  • werkplek
  • collega’s
  • technologie
  • en projectmanagement

Verandering van spijs doet eten. Kortom als de omgeving veranderd verander je zelf ook. En deze (positieve) verandering heeft er voor gezorgd dat ik weer meer ben gaan nadenken over het bouwen van software, kwalitatief goede software. Dit alles is een combinatie van de scrum implementatie die op dit moment gaande is bij mijn huidige job, de presentatie die ik online bekeken heb van collega Martijn Dashorst en daarop aansluitend het Manifesto for Software Craftsmanship van Robert C. Martin.

Een jaar of twee geleden kreeg ik een interessant boek aangereikt, The Seven Habits of Highly Effective People, van Stephen R. Covey. Dit boek heeft veel indruk op mij gemaakt en nog dagelijks denk ik aan bepaalde episodes uit dit boek, en probeer ik de hier genoemde principes toe te passen. Tijdens het lezen van het bovengenoemde Manifesto en een aantal artikelen over eXtreme Programming, kreeg ik het idee voor dit item. Zou het niet mogelijk zijn om een reeks van eigenschappen (basisbegrippen) op te sommen die een goede Software Developer zou moeten bezitten? In de vorm van de Seven Habits?

1. Don’t write bad code

Zo de eerste habit staat er. Het is een quote van Robert C. Martin, erg belangrijk als het om kwaliteit van code gaat. Ik kwam er zelf achter toen ik vanwege een deadline snel een aantal fixes aan het maken was. Eenmaal klaar, werkte het (zo ongeveer), maar was ik alles behalve trots op dit staaltje werk. En hoe voor kom je dan bad code?

In een volgende post meer over dit onderwerp.

Vakantie, project RushHour

Thursday, July 16th, 2009

De vakantie is weer in zicht, en dat roept natuurlijk weer herinneringen op over hoe het vorig jaar ook al weer ging. Daarnaast is het ook een tijd om mijn data te backup-en. En ook dat roept herinneringen op.

Vorig jaar heb ik tijdens de vakantie – los van lekker genieten – veel het spel RushHour gespeeld. Dit ging redelijk goed, en ik heb de meeste levels uitgespeeld. Omdat ik in de vakantiemodus zat ging het mij niet om de snelheid van het oplossen of om in zo min mogelijk moves bij de oplossing te komen. Ook had ik regelmatig een goede oplossing gevonden, door gewoon maar wat te schuiven en er dan achter komen dat het rode autootje er uit kan rijden.

Dit laatste zette mij aan het denken. Hoe oplossingsgericht was ik eigenlijk bezig. En was het misschien zo dat ik ondertussen al drie keer dezelfde situatie (manier waarop de auto’s staan) heb gehad om tot een goede oplossing te komen? Met dit vraagstuk ging mijn vakantie ten einde en ging ik weer aan het werk.

Het vraagstuk bleef klagen en naar wat ge-google en wat research heb ik maar bedacht dat ik er toch maar eens wat IT aan moest wijden. Kortom een prive projectje: ‘RushHour Solver’.

Het is onderhand al weer een tijd geleden, maar tijdens het backup-en kwam ik het project weer tegen. En aangezien ik nu de beschikking heb over ‘gratis’ online java hosting, GAE, biedt dit natuurlijk weer andere perspectieven.

Ik moet nog even het een en ander afstoffen, maar dat gaat wel lukken. Daarnaast zal ik even een duidelijke opzet gaan schrijven over hoe ik een en ander bedacht heb, en (technisch) opgelost.

Zie ondertussen: RushHour Solver

WordPress

Tuesday, July 14th, 2009

Ik ben iemand die graag veel dingen zelf doet. En ook dingen zelf maakt. Dus toen ik een website begon, wou ik hier voor een eigen CMS gaan schrijven / bouwen. En omdat Java mijn ’spreektaal’ is moest het gebeuren in Java.

Ik ben een fan van Wicket en erg gecharmeerd van JackRabbit, dus zal het wel iets worden in combinatie met die twee. Ondertussen is er ook al een Brix. A la, keus ten over. Maar zoals ik al zei, ik wil het graag zelf doen…

Het grootste probleem waar ik tegen aan liep was de hosting. Ik had een URL, en een goede hostingprovider. Probleem, ik kon alleen maar PHP als ontwikkelomgeving gebruiken. Geen Java.

Plots kwam daar de Google App Engine for Java en was er opeens gratis Java hosting. En dat ook nog (d.m.v. Google Apps) beschikbaar voor elk domein, yoehoe!

Dus meteen aan de slag, applicaties bouwen. De eerste applicatie die live ging was een enquete applicatie. Voor het onderzoek dat mijn vrouw moet doen voor haar studie. Het bouwen en vooral de livegang van de applicatie had nogal wat voeten in de aarde, kortom viel wat tegen. Vooral de performance – en dat voor een cloudomgeving – was niet je van het. Ook de kleine applicatie die ik had geschreven, het teruggeven van een simpele HTML pagina (wel met Wicket), duurde erg lang voordat deze geladen was. De eerste keer oproepen kostte wel 10 seconden. Daarna was de performance goed.

Na deze ervaring heb ik gisteravond besloten om toch maar weer ‘terug’ te keren naar mijn oude vertrouwde hostingprovider, want ondertussen had ik daar alles per 1-9 opgezegd en was ik druk aan het ‘verhuizen’ naar Google Apps. Maar ja als het dan in de PHP sfeer blijft, welk CMS moet ik dan hebben. Ik had wat goede verhalen gehoord over WordPress en een leuk artikel gelezen over het zelf maken van een theme. Hetgeen er niet erg moeilijk uitzag, dus gister, toen ik nog wat uurtjes over had. Aan de slag.

En ik moet zeggen dat ik erg onder de indruk ben. De installatie is een eitje, de interface is erg gebruiksvriendelijk en intuitief. De plugin structuur werkt prima. En in een uurtje of twee had ik al mijn oude blogs + artikelen live staan. Kortom ik ben om, WordPress is going to stay.

Natuurlijk heb ik nog een aantal hobby Java projecten, die ik graag wil hosten. En bevalt mijn GMail erg goed voor mijn huidige domeinnaam, maar dat is helemaal geen probleem, want de combinatie kan prima. http://albert-jandevries.nl en http://www.albert-jandevries.nl verwijzen naar mijn hosting provider en de e-mail wordt afgehandeld door Google Apps. En los daarvan kan ik gerust op bijvoorbeeld http://project.albert-jandevries.nl mijn GAE/J applicatie draaien.

Kortom iedereen blij :-)

Boekrecensie “Wicket in Action”

Sunday, April 19th, 2009

Ik heb met veel plezier het boek Wicket in Action gelezen van Eelco Hillenius en Martijn Dashorst.

Voor het Java Magazine heb ik een recensie geschreven, deze is te lezen in nummer 2 van jaargang 8 (April 2009).

Bekijk de recensie hier.

Presentatie op J-Spring!

Wednesday, April 1st, 2009

Ik heb een presentatie gegeven over Sonar op de J-Spring, gehouden op 15 april 2009. Het NLJUG event in het voorjaar.

Als onderwerp heb ik gekozen ‘What is your code saying?’ Hierbij gaat het over het Code Quality Measurement Platform Sonar.

Lees hier mijn ingestuurde paper.

Wat voor een werk doe je?

Sunday, March 1st, 2009

Een veel gestelde vraag, onbekende mensen op een verjaardag van vrienden: Wat voor ‘n werk doe je? Java Developer, de ICT? Is mijn eerste antwoord. Als de vragende blik blijft, poging twee: iets met computers.

Vooral voor de oudere generatie blijft de IT sector een vage branch. Wat doen al die gesjeesde jongeren eigenlijk met de computer. De IT professionals heb je in alle soorten en maten, van bouwer tot beheerder. Van ontwikkelaar tot architect. Van MBO-er tot Academicus.

Het gesprek gaat verder. Wat doe je dan precies?
- Ik ontwikkel webapplicaties in Java.
Webapplicaties, Java. Zijn dat een soort websites, is dat iets voor internet.
- Ja, inderdaad dat is een website, maar dan met wat meer mogelijkheden dan een ‘normale’ website.
O, dat doet mijn neefje ook. Die heeft zo’n pagina waar al zijn vrienden op staan. En daar zet hij dan foto’s op, en wat hij zoal beleefd heeft. Iets met Hype noemt hij dat dan.
- Hyves, bedoel je denk ik. Ja, maar hetgeen dat ik doe komt wel iets meer bij kijken…

Vroeger werkte ik bij een bedrijf dat ondersteunende software schreef voor kwaliteitsprocessen, documentmanagement, klachtenmanagement, etc. Nu werk ik – gelukkig – voor OHRA een grote verzekeraar. En kan ik praten over de website voor het afsluiten van een autoverzekering of inboedelverzekering. Maar hoe leg ik nu goed uit wat ik eigenlijk precies doe? Misschien is een analogie wel op zijn plaats.

Om een huis te laten bouwen heb je veel verschillende disciplines nodig. Mensen die het huis ontwerpen, mensen die zorgdragen dat alles ordelijk verloopt en zorgen dat het huis op tijd afkomt en mensen die het huis daadwerkelijk gaan bouwen. Het begin van een bouw van een huis begint bij de mensen die graag een ander huis willen hebben. Deze mensen (stockholders) hebben bepaalde wensen (requirements) waaraan hen nieuwe woning moet voldoen en gaan met dit setje naar de aannemer (projectleider).

Thuis heb ik een oud beestje staan en eigenlijk wil ik wel eens een keer een nieuwe aanschaffen, vervolgt zich het gesprek. Jij als expert kan mij vast wel van wat tips voorzien.
- Ehh, ik heb niet zo heel veel verstand van computer an sich. Ik zit meer in de software, de programmatuur van computers.
O, maar je werkt toch met computers. Hmmm…

De aannemer zal met samen met een collega (requirements analist) de set van wensen en eisen doornemen. Daarna komt de architect (interaction designer) in beeld die het huis gaat ontwerpen. De architect spant samen met de aannemer (project architect) om te praten over te gebruiken materialen, technieken, etc. Als dit alles afgekaart is komen de bouwers in beeld. De metselaar (frontend bouwer), de timmerman (backendbouwer), de loodgieter (servicebouwer), etc. Dit zijn de mensen die hun vak verstaan. Bouwen wat er is afgesproken met de aannemer en ontworpen door de architect. Zonder gereedschap (computers) en zonder aanvoer van bouwmaterialen (infrastructuur) is het niet mogelijk om de bouw tot een goed einde te brengen.

Dus eigenlijk ben ik een soort timmerman, of metselaar. En ook neem ik al een beetje de rol van aannemer op mij. Leuke baan heb ik hè!