Advertorial

Door Tweakers Partners

"Als developers bij HR2day besteden we geen tijd aan randzaken"

28-06-2021 • 08:00

21

Bij HR2day werken developers aan HR- en payrollsoftware die impact heeft op honderdduizenden werknemers en pensioendeelnemers. Om te zorgen dat de software voor alle gebruikers goed blijft werken, zijn de developers in staat steeds sneller oplossingen te bouwen, te testen en uit te rollen.

"Ik kan me een situatie herinneren waarbij een gebruiker van onze software vertelde dat er iets mis was gegaan bij de salarisbetaling van een medewerker. Die medewerker kreeg daardoor onverwacht de melding ‘onvoldoende saldo’ bij het betalen van zijn boodschappen. Het ging om een probleem waar meerdere mensen tegenaan liepen. Dat is behoorlijk geëscaleerd." Aan het woord is Eric van Zuilen, dev lead bij HR2day. Het is een heftig voorbeeld, maar veel mensen krijgen elke maand te maken met een financiële puzzel. "In dit voorbeeld bleek de oorzaak een administratieve handeling te zijn die was blijven liggen bij de klant zelf, maar het kan ook weleens om een bug in de software gaan. Als we zo'n melding binnenkrijgen op onze servicedesk, staat iedereen op scherp en moeten we het meteen rechtzetten. Ons systeem wordt ook gebruikt voor de betaling van honderdduizenden uitkeringen; pensioen, lijfrente, dat soort dingen. De uitbetaling daarvan moet gewoon op tijd gebeuren, met het juiste bedrag. We zijn een schakel in de hele keten, maar wel een cruciale. Ik zou ons best maatschappelijk relevant durven noemen."

Een echte developers-club

Onlangs verscheen op Tweakers een artikel dat inging op de techniek achter - en de uitdagingen bij het ontwikkelen van - de oplossing van HR2day. Van Zuilen werkt als dev lead aan verschillende modules, waaronder documentmanagement, processen en autorisaties. "Ik schakel veel met product managers, de mensen die aangeven wat er gebouwd moet worden. Voordat we daarmee aan de slag gaan, is het een van mijn taken om te zorgen dat alles 'bouwklaar’ is: zijn de specificaties duidelijk en is alles goed omschreven? Van daaruit bepalen we hoe we het gaan aanpakken." In zijn rol schakelt hij veel met zijn collega Marian Buchlij, product manager bij HR2day. Marian: "Ik ben ook begonnen als developer en daarna doorgegroeid naar mijn huidige rol. Ik vind het leuk om te onderzoeken hoe we de processen van onze development-afdeling kunnen verbeteren. Op dit moment hou ik me bezig met het Interactions Center, een startpagina voor gebruikers van HR2day waar zij allerlei zaken rond hun salarisadministratie kunnen regelen, maar ook zaken zoals verlofaanvragen en ziekmeldingen."

Terug naar de bug uit het begin van dit artikel: hoe gaan developers van HR2day daarmee om? "Om te beginnen zijn we echt een developersclub. Er zit niet nog een managementlaag boven waar we voortdurend mee bezig zijn. Onze directeur is zelf developer, dat zegt wel iets. Het betekent dat we geen tijd verspillen aan randzaken zoals het bepalen waar de schuld ligt als er iets misgaat. Als er een probleem is, maken we gewoon iemand eigenaar en gaan we er wat aan doen. Een probleem komt meestal binnen bij de servicedesk en vervolgens zoeken we uit wat de oorzaak is en zorgen we voor een oplossing. Afhankelijk van de prioriteit voeren we een update door in de volgende versie - we brengen drie keer per jaar een grote update uit - of patchen we. Als het echt moet, bijvoorbeeld bij een probleem met de verloning, wachten we natuurlijk niet op de volgende versie en kunnen we in principe zelfs midden op de dag patchen voor een klant. Het belangrijkste is immers dat hij wordt geholpen."

Spannende momenten

De meest uitdagende update voor Marian was het uitbrengen van het nieuwe Interaction Center. Na een lange periode van testen, veel klantcontact en tal van overlegmomenten was de lancering nog altijd een spannend moment. "We waren heel benieuwd hoe het zou worden ontvangen. Op het moment van de uitrol vraag je je toch af of je misschien nog gekke dingen hebt gemist of bugs die niemand heeft voorzien, ondanks dat je uitgebreid hebt getest. Gelukkig is het vrijwel helemaal goed gegaan, er waren geen grote problemen. Iedereen kon bijvoorbeeld gewoon blijven inloggen en alle functionaliteiten gebruiken. In de dagen erna kwamen wel een paar kleine bugs aan het licht, maar die hebben we snel opgelost."

Als een issue met hoge urgentie binnenkomt, is de eerste afweging altijd of een softwarematige oplossing nodig is. Eric: "Het kan best zijn dat we de klant met een workaround verder helpen zodat we op een later moment kunnen patchen. Denk maar aan een klant die een nieuwe medewerker niet kan aanmelden. Onze servicedesk kan dat dan handmatig doen, terwijl wij op de achtergrond samen verder zoeken naar een oplossing. Vervolgens reproduceren we de situatie in een test- of ontwikkelomgeving en kijken we of we de oorzaak kunnen vinden." Voor dit laatste is het van belang dat developers bij HR2day het volledige eigenaarschap nemen over het probleem en het ook helemaal zelf kunnen oplossen. "In principe ben ik nergens afhankelijk van. Alles doen we in overleg met de product manager en de servicedesk, maar in principe beschik je zelf over de kennis en tooling om de beste oplossing te verzinnen, te testen en uit te rollen."

Werken voor honderdduizenden gebruikers

Het belang van het werk is voor Marian heel duidelijk, vertelt ze. "Omdat het in de frontend zit, kijken alle medewerkers die het pakket gebruiken naar iets waar ik verantwoordelijk voor ben. Als de interface te ingewikkeld voor ze is of het er gewoon niet goed uitziet, voel ik me geroepen er iets aan te doen. Ik spreek regelmatig met klanten en hoor dan hun feedback. Als zij iets niet handig vinden, ga ik het meteen zelf uitproberen en dan merk je soms dat iets inderdaad onhandig in elkaar steekt. Aan de andere kant vind ik het ook heel leuk om te zien dat al die mensen werken met een workflow en interface die ik zelf hebt ontworpen, en dat zij deze doorgaans als prettig ervaren."

Eric herinnert zich dat hij ooit intensief contact had met een grote onderwijsinstelling. "Dat ging over het personeelsdossier. In het onderwijs zijn diploma’s en de ‘verklaring omtrent gedrag’ belangrijke vereisten om als docent aan de slag te mogen. Voor de Belastingdienst en UWV heb je ook diverse stukken nodig. Het project om al die documenten te inventariseren en te digitaliseren had twee jaar gekost. Het slotstuk was het onderbrengen in onze applicatie en daarvoor werden wij ingeschakeld. Wij moesten vooral op het gebied van autorisatie nog de nodige aanpassingen doorvoeren. Sommige stukken mochten bijvoorbeeld wel aan de medewerker, maar niet aan de leidinggevende worden vrijgegeven. Op het moment dat we live gingen, kregen de HR-adviseurs inzicht in alle documenten en konden ook duizenden medewerkers bij hun eigen dossiers. Dat was vrij essentieel, want uiteindelijk gaat het om de kwaliteit van het onderwijs. Op zo'n moment voel je nog meer het belang van wat je doet."

De payroll-engine in Salesforce is de kern van HR2day. Als het nodig is, wordt met chirurgische precisie de code aangepast. "Een patch heeft functionele impact op diverse plekken in de applicatie", zegt Marian. "Bij dermate complexe materie is de analyse het grootste deel van het werk. De daadwerkelijke code aanpassen is soms een kwestie van het wijzigen van enkele regels, maar er zijn veel onderlinge schakelmomenten en reviews nodig. Als je een foutje maakt, staat de volgende dag de telefoon immers roodgloeiend. Het mooie van onze cloudoplossing is dat je in vergelijking met een on-premise oplossing veel gemakkelijker software distribueert. Het risico is dat een fout direct op elke gebruiker impact kan hebben. Soms kiezen we ervoor om aanpassingen bij een beperkt aantal gebruikers te activeren, via een feature switch. Dat verkleint het risico. Maar we doen vooral veel aan testen. Sterker nog, onze ontwikkelmethode is ‘test driven’.”

Marian vervolgt: “Al heel vroeg in het traject bedenk je je testscript. Vooral bij complexe aanpassingen werkt dat goed. Voor het verplaatsen van een veldje op een scherm is dat niet nodig, maar bij het uitwerken van een nieuwe pensioenregeling kan het eigenlijk niet anders. Een testscript is overigens ook gewoon code. Het zijn aparte klassen en methodes die situaties nabootsen en voorspellingen doen over het resultaat van een transactie. Elke keer als we een patch willen maken, worden alle testscripts automatisch uitgevoerd. Vrijwel al onze code is dus gedekt door testscripts en ook als slechts één validatie niet lukt, kan de hele patch niet worden uitgerold. Dit is ook de reden waarom er bijna nooit plotseling midden op de middag gepatcht hoeft te worden; we werken heel nauwkeurig. Zo zorgen we ervoor dat iedereen op tijd z’n salaris of uitkering krijgt bijgeschreven en daar meteen een notificatie van op de telefoon krijgt. Dat is het resultaat van teamwerk."

Wil je meer weten over werken bij HR2day of ben je benieuwd of er vacatures zijn die passen bij jouw profiel als developer? Ontdek het hier!

Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij HR2Day en Tweakers Partners. Dit is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers-events zoals meet-ups, Developers Summit, Testfest en meer. Kijk hier voor een overzicht van alle acties en events. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen.

Reacties (21)

21
21
15
4
0
5
Wijzig sortering
Dan hoop ik dat er gekwalificeerde mensen worden aangenomen. Ik gebruik (helaas) deze software door mijn werkgever, maar wat een slecht programma. Vast nooit van UIX gehoord bij HR2day. Zowel webbased als de app zijn slecht ontworpen.
Je hebt bijna een studie nodig om de logica van het programma te snappen en dat alleen maar voor wat HR zaken.
Ken het pakket niet, maar als ik naar de screenshots op de website kijk kan het wel een likje verf gebruiken idd.

[Reactie gewijzigd door JustFogMaxi op 23 juli 2024 15:06]

Zoals ze aangeven "Als developers bij HR2day besteden we geen tijd aan randzaken".
UI staat niet hoog op hun ranking om te doen :)
Tegenwoordig noem ik een duidelijk interface geen randzaken meer. Software staat ten diensten van en ter ondersteuning van de gebruiker. Nu is het zo dat er eerst allerlei cursussen gegeven worden hoe het programma werkt. Voor het bedrijfsleven misschien minder een probleem, maar als het programma ook voor het onderwijs gebruikt wordt, dan kan het niet aan andere zaken besteed worden.
Zoals ze aangeven "Als developers bij HR2day besteden we geen tijd aan randzaken".
Verbazingwekkend, het zijn juist randzaken die van belang zijn voor correcte functie.
Komt heel erg over als sterk hierarchische sturing waar input niet gewaardeerd wordt.
Tussen de regels straalde het artikel het al uit. Het klinkt alsof de developer centraal staat, maar uit het artikel blijkt dat niet.

Zo is er geen management laag maar zijn er al wel meerdere productmanagers die verantwoordelijk zijn. Hierbij is de lead-dev het schakelpunt is tussen hun en de developers.

Dat klinkt al als twee management lagen boven de developers.
Dus de lead dev mag ook direct de rol van product owner op zich nemen richting het team? Fijn.

Moet heel eerlijk zeggen dat ik de titel niet heel erg goed gekozen vind voor de advertorial. Als developer zijn bepaalde randzaken nou eenmaal voorwaardelijk.

Ben benieuwd wat ze dan randzaken vinden. Haak het niet echt uit het artikel.
Nouja, mijn ervaring als developer en UIX is dat het toch echt ZWAAR 'in the eye of the beholder' is, en wat de ene persoon fijn vindt, vindt de andere niet. Zeker bij administratieve software is daar een hoop verschil in hoe men wil werken en wat men wil zien.
Zeker met administratieve software ben ik zelf weer iemand die graag veel informatie in 1 keer wil zien en niet constant moet scrollen om die informatie te kunnen zien (dat laatste is iets dat tegenwoordig heel veel voor komt bij UIX designers). Leuk dat sommige zaken er op het eerste zicht mooi gelikt uit zien, maar voor dagelijks gebruik wil je gewoon praktisch zodat je snel je werk kunt doen.

Nou is HR software icm salarisverwerking juist best complex, zeker wanneer je een wat grotere werkgever wordt. Zie het zelf al te vaak dat iemand wel even denkt het er ff bij te kunnen doen en dan ineens van het pakket gaat verwachten dat die alle fiscale zaken voor jou afhandelt/uit zoekt, nee, dat is jouw taak als werkgever, het pakket moet jou alleen ondersteunen om het uiteindelijk te kunnen doen. Genoeg mensen die zich salarisadministrateur noemen, maar de ballen verstand hebben van salarisverwerking.
Maarja, UX/UI design is natuurlijk een randzaak, en ze zijn een échte developersclub!

Vrijwel ieder bedrijf dat een pakket heeft dat door developers ontwikkeld wordt besteedt weinig tot geen tijd/geld aan design, want ze hebben de kennis niet in huis en een derde partij inhuren doen ze een keer in de 10 jaar voor een audit die daarna weer 10 jaar blijft liggen. Vaak is de software dan ook zo geschreven dat het verwerken van zo'n rapport lastig is of het volledig herschrijven van een groot deel van de codebase vereist.

Ik spreek uit ervaring, helaas. Als ervaren front-end developer stoor ik me er mateloos aan, maar probeer maar eens in een team van echte back-end developers aan te geven dat we een hele release cycle moeten besteden aan design :+
Zou interessant zijn te vernemen of GDPR een randzaak is of niet, en hoe persoonsgegevens worden gecombineerd met een buitenlands cloud platform sinds Schrems arresten.
Waarom dient iedereen HR2Day te bashen? Ze hebben een succesvol software product ontwikkeld dat kennelijk aan veel behoefte van de klanten voldoet. Dat het niet voldoet aan jouw ideale technische plaatje is een tweede zaak. De meeste real world projecten die succesvol worden zijn niet perfect opgezet. Dit is ook niet realistisch.
De titel van het artikel triggert direct iets bij de (op deze site kritische) lezer. Hoezo besteedt je geen tijd aan randzaken? Wat beschouwen jullie dan als randzaken? Dan lees je 'we zoeken niet naar een schuldige bij een probleem', en dan denk ik: "Ok, dus jullie zijn niet helemaal infantiel". Dat is het probleem bij dit soort advertorials, het is toch vaak 'kijk eens hoe relaxed wij zijn, kijk eens hoe goed wij bezig zijn'. Lastig genoeg om de juiste toon te vinden. Dan is het logisch dat de gemiddelde tweaker kritisch is op dit soort stukjes...
De meeste real world projecten die succesvol worden zijn niet perfect opgezet.
Klopt, daar zit dan meestal ook geen marketing team achter met buzz woorden om developers aan te spreken.

Doelgroep is lastig, net als een "senior" vacature met 3 jaar werkervaring.
"Als developers bij HR2day besteden we geen tijd aan randzaken"
Ah, de documentatie mist.
Normale werkgever dus.
Ik heb helaas weinig goede ervaringen met HR software. Weet niet of een marketing campagne nou de oplossing is.
Hey HR2day gratis tip: maak je hele programma even overnieuw in een moderne taal en gebruik gewoon libraries ipv dat je alles van scratch probeert te maken. Je hebt echt geen honderden devs nodig om een betaal timertje te maken.
Hun website zou ook wel beter kunnen.

Contentleaders uit Amersfoort maakt hun WordPress website, maar een response van 2,90 s is echt bedroevend slecht.
https://developers.google...3A%2F%2Fwww.hr2day.com%2F
Maar dat kan natuurlijk ook aan Savvii liggen
Nouja, ik weet niet precies waar ze mee werken, maar een moderne taal hoeft echt niet beter te zijn. Ik ken salarispakketten die nog in VB6 geschreven zijn en die vele malen sneller zijn dan hun vernieuwde versies in C#. Maargoed, aan lokale pakketten komt relatief snel een einde. Alhoewel je als werkgever/accountant wel bewust moet zijn dat je minimaal 7 jaar toegang hebt tot je salarisadministratie, en daarmee dus met een cloudpakket heel goed moet indenken dat je dus eigenlijk minimaal 7 jaar lang moet blijven betalen om een oud jaar te kunnen blijven in zien. Dat wordt nog wel eens vergeten als men denkt, oh wat handig zo'n cloud pakket waarbij ik maandelijks kan stoppen....
Het gaat niet echt om snelheid maar vooral de beschikbaarheid van libraries. In plaats van alles van scratch te moeten maken bestaan er gigantisch veel prachtige UI libraries en vele andere functionaliteiten in Javascript. Als ik naar hun grafiekjes kijk hebben ze waarschijnlijk veel moeite gedaan om het er matig uit te laten zien terwijl je met libraries prachtige grafiekjes kan maken met veel minder moeite.
Ja nu ja, maar hoe lang heeft HR2day dit al (werkelijk geen idee hoe lang ze er uberhaupt al zijn), maar dan ook, welke library moet je gebruiken? Er zijn er inmiddels zo veel. En dit is dan iets waarbij het mogelijk is dat ze denken, if it ain't broken don't fix it, als ze er verder geen klachten over krijgen, waarom dan moeite doen om het er meer bling bling uit te laten zien. Zelf heb ik in zo'n situatie liever dat het gewoon werkt, dan telkens met de huidige hype/fabs mee te doen, want die zijn vaak bedacht door designers die toch niets meer te doen hebben en vaak meer wijzigen om het wijzigen dan om echte verbetering.
Redesigns (van de UI) doe je misschien 1x in de zoveel jaar, want je moet het vaak ook geleidelijk doen, want bestaande gebruikers zijn nu eenmaal een bepaalde manier van werken gewend, en ik heb al menig vernieuwde zakelijke pakketten zien stranden op nieuwe UI's omdat gebruikers dat niet willen, tenzij het ze echt veel extra tijd bespaart, maar voordat ze vaak aan de nieuwe UI gewend zijn, zijn ze dan al afgehaakt.
Zoals ik het hoor hebben ze bij HR2day juist een enorme behoefte aan een extra managementlaag...

Op dit item kan niet meer gereageerd worden.