Andrea, tu sei il primo programmatore ad aver conseguito la doppia certificazione di Magento in Italia. Sei Magento Certified Developer ed anche Magento Certified Front End Developer.
Sì, ma, aspetto con ansia che arrivi presto un* second*, un* terz*, un* quart* sviluppatore/sviluppatrice, perché certificarsi è un'ottima idea! Prendere le due certificazioni mi ha messo di fronte ai miei limiti, ho dovuto ripensare al modo con cui lavoravo fino al giorno prima in Magento.
Ora posso dire di aver acquisito più sicurezza nel modo di approcciare lo sviluppo.
Magento per te non ha segreti. Com’è nata questa tua passione per Magento?
Magento per me ha ancora segreti, anche perché è uno strumento in continua evoluzione, nel core ma anche e soprattutto nelle estensioni sviluppate dalla community. Dall'esperienza che sto facendo in WEBFORMAT, ho imparato che non esiste quasi mai un'esigenza abbastanza standard da non avere bisogno di alcuna estensione o customizzazione.
È un software che copre le esigenze di eCommerce più disparate, dal sito con configurazioni standard, temi semplici e senza checkout… al più complesso multistore, integrato con ERP, che richiede lo sviluppo di nuovi moduli/estensioni per soddisfare specifiche esigenze. Per non parlare del design del frontend!
Per questo non si può mai dire di aver imparato tutto di uno strumento, anche perché le possibilità di miglioramento, ottimizzazione ed integrazione sono potenzialmente infinite.
È vero, tuttavia, che man mano che si procede nell'apprendimento di uno strumento si ha più tempo per risolvere i problemi veri, invece di doversi scervellare per creare magari una banale interfaccia CRUD di backoffice.
Vista la tua esperienza, quali consigli vuoi dare alle persone che si stanno preparando per conseguire queste due certificazioni, Magento Certified Developer e Magento Certified Front End Developer?
Sono due certificazioni diverse che richiedono competenze diverse. Ma entrambe richiedono una pratica costante e soprattutto una conoscenza delle best practice che fanno di una estensione una buona estensione e di un tema un buon tema.
Nel 2013, solo dopo aver preso la prima certificazione, ho partecipato ad un corso residenziale ad Amsterdam, tenuto da Vinai Kopp. Nonostante fossi già certificato, è stato un corso che comunque ha chiarito diversi dubbi perché proponeva ogni argomento in modo logico e lineare.
Per questo motivo, è stato per me relativamente più semplice prendere questa seconda certificazione (Frontend) rispetto alla prima (Developer), per la quale era indispensabile avere familiarità con un insieme di pattern che un anno e mezzo fa non avevo ancora mai utilizzato.
I miei consigli per prepararsi fanno tutti riferimento ad un modo sensato di affrontare il duro (sic!) lavoro del programmatore: mai, mai, mai re-inventare l'acqua calda. Per cui:
- Affrontate ogni task dello sviluppo in modo cosciente e attenendovi il più possibile agli standard Magento. In tutti i sensi:
- Rispettate le naming convention
- Usate correttamente le fallback mentre pensate al design
- Utilizzate il pattern Event/Observer, e dove non è possibile, utilizzate le Rewrite ma solo dove necessario. In ogni caso evitate di riscrivere codice del core, per mantenere l'installazione di Magento upgrade safe!
- Per lo stesso motivo, pensate al layout.xml, come unico punto dove modificare il layout del frontend (e perché no, anche del backend).
- Con Magento nulla è impossibile. Capite quando trasgredire le regole per raggiungere un obiettivo particolarmente difficile.
- Ma prima di trasgredirle… pensateci ancora una volta: sono davvero il primo a dover risolvere questo problema?? :D
- Leggete il codice del Core. Abbiamo la fortuna di lavorare con uno strumento che è stato pensato veramente bene. Per cui è un piacere metterci il naso dentro! Ed allora... iniziate dalla prima riga di index.php (be', la prima dopo i commenti) ed arrivate fino al rendering di un block. Questo aiuta a comprendere la logica di routing e rendering di Magento.
- Studiare almeno un modulo del Core Magento, capire come è stata realizzata l'interfaccia del backend, la creazione di tabelle DB, update del layout frontend/backend.
- Creare moduli helloworld!, creare pagine di backend con form e grid, logiche ACL e system configuration. Fatelo avendo sotto mano una documentazione online o guardando un modulo standard del Core. Se siete riusciti a farlo senza aver mai avuto l'impressione che una cosa funzioni per fortuna o che qualcosa non andasse fatto proprio così... allora vuol dire che siete pronti per la certificazione!
Non c’è il due senza il tre. A quando la certificazione di Developer Plus?
Spero molto presto, magari entro la fine dell'anno!
Grazie!
Grazie a te :)