Succesvol (junior) software engineers opleiden

In een serie van verschillende blogs vertellen wij je graag meer over het werken bij Moneybird als software engineer. In dit blog vertelt Moneybird-oprichter Joost Diepenmaat over hoe het opleiden van junior software engineers verweven is in onze manier van werken.
Bedrijfsvoering
· 02-08-2022

Het aannemen van software-engineers is tegenwoordig één van de belangrijkste uitdagingen voor veel ondernemers. De markt is nog nooit zo intens geweest met remote-werk en stijgende salarissen. Ook voor ons is het een uitdaging. Veel bedrijven houden er niet van juniors aan te nemen. In plaats daarvan geven ze de voorkeur aan de "perfecte senior engineer"; Software engineers die al weten hoe ze zelfstandig moeten werken, doordachte beslissingen nemen en vanaf het begin productief zijn

Wij doen het tegenovergestelde. Bij Moneybird hebben we veel junior software engineers aangenomen na hun stage of afstudeerproject. We hebben nu ruim twintig software engineers waarvan de helft begonnen is in een juniorfunctie rechtstreeks van de hogeschool of universiteit.

We betrekken junior engineers vanaf de eerste dag bij bedrijfsbrede strategische beslissingen. We luisteren naar elkaar, geven elkaar feedback en herhalen. Op die manier leren we van elkaar en helpen de junior software engineers te groeien in hun functie.

De eerste software engineers

Moneybird bestond vijf jaar en had serieuze tractie als boekhoudpakket in Nederland toen we voor het eerst ons team gingen uitbreiden. Het aannemen van nieuwe software engineers was toen ook al een uitdagende taak voor ons. Niemand van ons had ervaring met het bouwen van een team. Dus we hadden een blanco vel dat in de loop van de tijd werd gevuld met geweldige mensen. Uit die periode heb ik een aantal essentiële lessen geleerd die ik graag wil delen.

Junior Software engineers zijn kwetsbaar

Het is een enorme uitdaging om iemands capaciteiten binnen twee tot drie jaar vanaf het begin van hun carrière te voorspellen. En dit gaat hand in hand met het feit dat de meeste juniors niet de tijd hebben om tijdens collegejaren diep in onderwerpen te duiken. Informatica omvat een enorm breed scala aan onderwerpen verpakt in een paar jaar onderwijs. We blijven daarom graag nieuwsgierig en genereus naar junior engineers. Ze kunnen verschillende ideeën, meningen en frisse visies hebben die je kwetsbaar moet behandelen. Als werkgever heb je de taak het potentieel te ontplooien en een junior engineer te begeleiden door alle mogelijkheden binnen een bedrijf.

Laat een junior engineer niet alleen

"Hier is een ticket, fix de bug en laat me weten wanneer het klaar is. Trouwens, ik ben bezig met iets belangrijks. Stoor me alsjeblieft niet met vragen". Dit is niet de aanpak die ik kies. Dagenlang niet in staat zijn om die foute regel code op te sporen kan het zelfvertrouwen van een software ontwikkelaar beschadigen. Het is prima om juniors moeilijke dingen te laten uitzoeken, maar ondersteun ze als dat nodig is. Dat is één van de redenen waarom we ShapeUp-projecten uitvoeren in cycli van zes weken waaraan iedereen meewerkt.

Elke cyclus werken we aan vier tot zes projecten met drie tot vijf software engineers per project. Elk project heeft mensen nodig met de juiste competenties en vaardigheden. Vooral juniors zijn zich niet altijd bewust van hun capaciteiten (of zijn verlegen). Daarom vragen we elke software engineer in het team hoe zeker ze zijn met de competenties die nodig zijn voor elk project. Daarmee extraheren we de drie meest essentiële vaardigheden die nodig zijn om te slagen.

Bij elk project selecteren we de juiste software engineers

Stel je een project voor waarin we werken aan een nieuwe functie om facturen op banktransacties te matchen. De drie vaardigheden kunnen backend-ontwikkeling in Ruby, machine learning voor matching en Javascript voor de interactie zijn. We vragen elke software engineer om de kennis over de vereiste vaardigheid te beoordelen en transparant te zijn naar het team. De beoordelingscriteria zijn:

  1. Ik weet bijna niets over dit onderwerp
  2. Mijn kennis is gemiddeld en ik ken de basis
  3. Ik heb veel kennis over dit onderwerp en kan ook anderen op weg helpen

We zorgen ervoor dat elk project een medior of senior engineer heeft met een 2 en 3-rating voor de vereiste vaardigheden. We dagen junioren uit het onbekende pad te verkennen: durf in een onbekend onderwerp te duiken en ga op reis omringd door de mediors en seniors om te helpen.

Elke cycle is een kans om een ​​nieuwe vaardigheid te leren, nieuwe meningen, nieuwe gesprekken en nieuwe inzichten. Ga vooral samen avonturen aan: de eerste migratie op een productiedatabase kan een uitdaging zijn, maar er is geen reden om dit niet te doen met goede begeleiding.

Generalists for the win!

Je vraagt ​​je misschien af ​​waarom we geen specialisten inhuren, zoals mobiele of backend-ontwikkelaars? Dat doen we (op dit moment) niet. In plaats daarvan zijn we allemaal generalisten die als een team samenwerken.

Onze SaaS-software bestaat uit een reeks aan elkaar geketende technologieën. Daarom hebben we generalisten die aan de mobiele app werken, het ontwerpsysteem bijwerken, backend programmeren, complexe database-dingen doen, het bouwproces optimaliseren en werken aan de infrastructuur. De generalistische benadering is beter voor middelgrote teams. Er is vrijwel altijd iemand in de buurt die het probleem begrijpt. Natuurlijk hoeft niet iedereen elk onderdeel van Moneybird in detail te begrijpen. Maar we vinden het essentieel om het ecosysteem als geheel te begrijpen. En de junior engineers leren hier veel van.

Betrek software engineers bij de strategie

We betrekken junior engineers vanaf de eerste dag bij bedrijfsbrede strategische beslissingen. Iedereen in de organisatie beslist mee over welke projecten we kiezen. En ook een junior engineer kan een Shape-Up pitch indienen. Die is misschien niet vlijmscherp maar de ideeën zijn vaak verfrissend. We luisteren naar elkaar, geven feedback en herhalen. Op die manier leren we van elkaar en helpen we om de junior engineers te groeien.

Zorg dat een junior engineer de basis kent

Er is een overvloed aan IT-cursussen online beschikbaar. Sommige junior engineers hebben geen diploma en doen alsof ze junior zijn na het volgen van een tiental online cursussen. Misschien ben je enthousiast of heb je dringend engineers nodig. Maar het is essentieel om te erkennen dat de mediors- en senior engineers een onmisbare rol spelen bij het opleiden van de junior software engineer.

Elkaar helpen om te zorgen dat we groeien

Dingen weten en dingen uitleggen zijn twee verschillende werelden. Mediors en seniors verwachten een zeker basisniveau als ze dingen uitleggen aan een junior engineer. Helaas is dat basisniveau meestal geen bootcamp van drie weken (voor een bedrijf als wij). Daarom is een specifieke vooropleiding voor ons een basisvereiste bij het aannemen van een junior.

Neem de tijd

Ook bij het opleiden en begeleiden van junior software engineers loop je tegen uitdagingen aan. En een goede balans in het team tussen ervaren en meer junior engineers is belangrijk. Je wilt niet dat je ervaren engineers al hun tijd besteden aan het opleiden en begeleiden van een junior. Ga daarom niet te snel met teveel juniors tegelijk. En neem de tijd om ze echt te laten groeien in de organisatie. Uiteindelijk kunnen zij het stokje overnemen en zelf junior software engineers begeleiden.

Wil jij ook werken bij Moneybird? We zijn op zoek naar software engineers die ons team komen versterken. Wil jij meer weten over werken bij Moneybird? Ik ga graag met je in gesprek. Op onze website vind je ook meer info over werken bij Moneybird en de kansen die je als software engineer krijgt. 

Meer verhalen van onze engineers lezen? Hier vind je het verhaal van Remco over zijn werk bij Moneybird. En hier vind je het verhaal van Robbin over de technische uitdaging op support.

Joost Diepenmaat - Co-founder
Geschreven door Joost