
Communiceren naast coderen
Veel programmeurs denken dat hun werk begint en eindigt bij het schrijven van code. Helemaal onterecht is dat niet, want het is precies die vaardigheid die hen hun baan heeft opgeleverd. Maar er komt veel meer kijken bij het ontwikkelen van software. Denk bijvoorbeeld aan: bedenken wat je gaat bouwen en hoe je dat gaat doen, het beoordelen van de code van je collega’s, en presenteren wat je hebt opgeleverd aan stakeholders. Zulke taken hebben een gemene deler: communicatie.
Een GIF zegt meer dan duizend woorden
De mogelijkheid om eenvoudig met GIF-jes te kunnen communiceren is één van de meest gewaardeerde features die Microsoft Teams heeft, als je het mij vraagt. Maar waarom? Want strikt genomen kan het doel van die applicatie - asynchrone communicatie bewerkstelligen voor gedistribueerde teams - ook worden bereikt zonder deze feature. Sterker nog, misschien zou onze communicatie wel vlotter verlopen als ik niet elk gesprek ontspoor met bewegend beeld!
De noodzaak van refactoren
Ons team heeft een stakeholder wiens gezicht vertrekt, elke keer als we tijdens een Sprint Review aangeven tijd te hebben gestoken in het refactoren van onze applicatie. In zijn beleving is refactoren een verspilling van je tijd. Als we meer tijd hadden genomen om de wensen van onze gebruikers grondig te analyseren, redeneert hij, dan had zo’n dure, inefficiënte refactorslag kunnen worden voorkomen. Als ik iemand zo hoor redeneren, dan vertrekt míjn gezicht.
De rol van user stories
Wie The Art of Agile Development van James Shore doorbladert, doet heel nieuwe opzichten op. Zijn hoofdstuk over stories (ook wel bekend als user stories) deed me wel opveren, in elk geval. Shores stelling - mening? inzicht? - is provocatief: een story moet op een index card passen. de volledige story zou dus uit niet meer dan een zin of een kreet hoeven bestaan.
Hoe machines leren
Met de opkomst van kunstmatige intelligentie en Machine Learning, verschijnen er ook steeds meer toolkits voor softwareontwikkelaars om met deze technieken aan de slag te gaan. Deze bieden handvaten waardoor ontwikkelaars op een laagdrempelige manier kennis kunnen maken met deze techniek. Zulke toolkits schermen echter - met goede reden! - veel van de achterliggende complexiteit af voor hun gebruikers. Ontwikkelaars die zich daarin willen verdiepen, zouden zich kunnen wagen aan Hui Jiangs Machine Learning Fundamentals: A Concise Introduction.
Het probleem met cookbooks
Ik zeg het maar eerlijk, ik lees niet graag cookbooks. Dat ligt voor een deel aan mij, natuurlijk. Ik lees boeken namelijk het liefst van kaft tot kaft. En daar zijn cookbooks simpelweg niet voor bedoeld. Ze fungeren eerder als referentiemateriaal. Je hoort ze uit de kast te trekken wanneer je tegen een bepaald probleem aanloopt. Het probleem is: je hebt pas een goed idee wat erin staat als je het boek gelezen hebt. Hoe weet je anders waar je moet kijken?
De leercurve van Angulartests beklimmen - deel 4
Wat is de kern van ons onderhoudprobleem? Codeduplicatie - of liever: de duplicatie van informatie. Het opzetten van een bepaalde service en haar afhankelijkheden gebeurt voor elke (reeks) test(en) handmatig in de beforeEach
-methode. Als dezelfde afhankelijkheid in twee verschillende reeks testen voorkomt, moet de ontwikkelaar deze twee keer uitschrijven. Maar is dat nu echt nodig?
Twee gedichten over liefde en code
Sinds een dag of twee, / vlinders in mijn code.
De leercurve van Angulartests beklimmen - deel 3
Hoe onderhoudbaar was onze testopzet? Onze services verwachtte niet één afhankelijkheid, maar wel vijf of zes of zeven - en soms zelfs meer. En die afhankelijkheden verwachtten op hun beurt ook weer vijf, zes, zeven afhankelijkheden. Het was niet ondenkbaar dat een ontwikkelaar langer bezig zou zijn met het opzetten van al die afhankelijkheden om zijn test te laten compileren, dan het daadwerkelijk verifiëren van het gedrag van het stukje code waar hij in was geïnteresseerd.
Een reflectie op communicatiestijlen
Elk mens is uniek, maar laten we niet overdrijven. Het menselijk vermogen te generaliseren wint het met gemak van de uniciteit van het individu - dat is waar stereotypen vandaan komen. En stereotypen hebben hun functie. Ze geven ons handvaten in de omgang met individuen, in het bijzonder wanneer hun stereotype anders is dan het onze.