• DE
  • ES
  • EN
  • NL
Google+twitterfacebook

Blog

Welke vragen te stellen tijdens een sollicitatiegesprek met een kandidaat Magento ontwikkelaar


Dit artikel is oorspronkelijk in het Engels gepubliceerd op het Magentron blog als Questions to ask when interviewing a candidate Magento developer.

Geplaatst op zondag 6 mei 2012 door Jeroen Derks.

Aangezien er een hoop werk te doen is voor Magento, ben ik op zoek gegaan om wat hulp te vinden. In mijn ervaring is het zeer moeilijk om de kennis en expertise van een kandidaat vast te stellen totdat hij/zij daadwerkelijk meedraait in een project. Tijdens mijn zoektocht heb ik een lijst samengesteld van vragen om te beslissen met wie daadwerkelijk te gaan praten. Wanneer je dan in gesprek gaat met een kandidaat, kunnen de vragen gebruikt worden om de verschillende onderwerpen meer inhoudelijk te bespreken.

Omdat naar mijn mening niet alleen Magento/Zend/PHP kennis is noodzakelijk voor een goede Magento programmeur, maar ook algemene kennis van (programmeer-) methodieken en het systeem (OS, Apache, enz.), bevat de lijst ook vragen met betrekking tot meer algemene thema's die nauw verwant zijn aan het runnen van een (Magento of anderszins) website.

Bij het gebruik van deze vragen is het belangrijk ervoor te zorgen dat de kandidaat die vragen niet alleen met een simpel ja of nee beantwoordt. Des te meer details worden gegeven, des te beter (ik heb bijv. antwoorden ontvangen op vragen naar een beschrijving welke slechts uit een aantal woorden bestonden, wat meestal niet voldoende beschrijvend is).

Heb je nog aanvullingen, verbeteringen, of andere opmerkingen, laat het me weten opdat ik deze lijst kan verbeteren, bij voorbaat dank!

Dus, hier is de lijst met vragen:

Magento

Hoeveel jaar ervaring heb je in Magento?
Kun je iets zeggen over de technische uitdagingen die je hebt opgelost in Magento?
Wat voor problemen ben je tegengekomen, hoe heb je een antwoord gevonden en hoe heb je deze problemen opgelost?
Wat voor Magento projecten heb je gedaan? (bij voorkeur voor meerdere projecten, per project, minimaal een regel beschrijving van wat voor soort functionaliteiten je hebt geïmplementeerd)
Bent je Magento Certified Developer?
Hoe zou je beginnen met het maken van een nieuwe extensie?
Weet je van moduleCreator? Heb je het gebruikt? Wat vind je ervan?
Wanneer zou je wijzigen aanbrengen in core bestanden?
Ben je bekend met de rewrite functionaliteit in de config.xml? Hoe heb je deze gebruikt?
Heb je een oplossing voor rewrite conflicts in Magento? Wat zijn de verschillende oplossingen die je hebt gebruikt?
Ben je bekend met modman? Heb je het gebruikt? Wat vind je ervan?
Kun je je (programmeer-) ervaring beschrijven met betrekking tot de volgende onderwerpen in Magento:

  • Belastingen
  • Winkelmandje
  • Bestellingen
  • Facturen / Kredietnotities
  • EAV (klant, catalogus, product, etc)
  • Meertalige website
  • Verzending
  • Betaling
  • Rewrite modellen / blokken
  • Rewrite controller
  • Config XML
  • Debuggen
  • Prestatie (performance)

Debugging

Ben je bekend met xdebug? Welke aspecten van xdebug gebruik je, hoe en waarom?
Heb je wel eens code doorlopen door debug stepping functionaliteit te gebruiken?
Heb je ooit gebruik gemaakt van xdebug trace functionaliteit? Waarom? Hoe?
Heb je ooit gebruik gemaakt van xdebug profiling functionaliteit? Ben je bekend met cachegrind?

Logging

Weet je hoe je het wegschrijven van (fout-)meldingen in PHP kan configureren? Hoe?
Waarnaar worden foutmeldingen weggeschreven?
Weet je hoe je meldingen kunt wegschrijven naar logbestanden in Magento? Welke levels heb je gebruikt? Hoe?
In welke situaties in de code zou je meldingen wegschrijven naar logbestanden in Magento?
Vind je het beter om zo min mogelijk of zo veel mogelijk te loggen ? Gelieve toe te lichten.

IDE / Editor

Welke editor gebruik je? Op welke platform (s)?
Beschrijf je linux/unix ervaring?
Maak je gebruik van Apache op je ontwikkelomgeving? Waarom wel/niet?
Welke editor heeft je voorkeur en waarom?
Welke editor gebruik je voor het daadwerkelijk programmeren in Magento?

Versiebeheer

Ben je bekend met version control systemen zoals git, svn, mercurial, etc?
Hoe ga je het liefst om met veel ontwikkelaars die werken aan hetzelfde project met betrekking tot versiebeheer?
Weet hoe je branches kunt maken en merges te doen? Kun je beschrijven hoe je conflicten oplost?
Kun je het proces beschrijven dat je gebruikt om code te committen? (Bijv. doe een diff voor het committen, enz.)

Quality Assurance (QA)

Ben je bekend met unittesting: PHPUnit, Mage_Test, Ecomdev_PHPUnit, Selenium? Hoe en wanneer zou je deze gebruiken?
Beschrijf je kennis/ervaring met Mock objecten
Wat zijn je ideeën over code kwaliteit?
Maak je gebruik van coderingsstandaarden? Waarom? Hoe/welke?
Beschrijf je kennis/ervaring met unit testing (incl. code coverage rapporten, CRAP score)
Beschrijf je kennis/ervaring met continue integratie (Continuous Integration; zoals Jenkins). Wat vind je ervan?
Kun je je proces beschrijven met betrekking tot release management? (Bijv. welke stappen zou je doen om code van je ontwikkelomgeving op productie te krijgen)
Geef ook de gereedschappen/programma's die je gebruikt hiervoor.
Hoe ga je om met verschillende configuraties voor Magento op deze verschillende omgevingen? (Bijv. verschillende URLs)

Issue tracking / Projectmanagement

Beschrijf je ervaring met het bijhouden van problemen en/of project management systemen om werkzaamheden/taken/kwesties bij te houden
Welke heb je gebruikt en welke heb je het beste bevalt en waarom? (Bijv. asana, montage, basecamp, centrale, redmine, git, trac, Mantis, Bugzilla, etc)

Apache

Kun je wat zeggen over je Apache expertise?
Beschrijf sommige complexe Rewrite regels en authenticatie configuraties in Apache die je hebt gebruikt

MySQL

Beschrijf je MySQL expertise
Heb je ooit versie gerelateerde problemen tegenkomen met MySQL? Kun je deze en de oplossing beschrijven die je hebt geïmplementeerd.

Cron

Weet je hoe je cron jobs kunt configureren vanaf de opdrachtregel op * nix?
Weet je hoe je cron jobs kunt configureren in Magento?

Laat me weten of je hier wat aan hebt gehad! (of niet)