Dec 16, 2024 - Dec 19, 2024

Magento Backend Bootcamp course

Get started with Magento 2 fast

Get started with Magento 2 fast

Can't miss one developer too long? But you still want to make sure that that developer gets in-depth fast? Our bootcamp concept offers a quick solution: A set amount of time to cover numerous topics in a fast pace.

See the details below Or see our Shopware portfolio
You will notice Jisse his knowledge and experience in just a few moments. Despite the many topics, there is still depth that gives you that little bit of extra information to improve your work. These courses are highly recommended!
Tristan Nederhoff (Vendic)

Details of this bootcamp

Start date
Monday, December 16, 2024
End date
Thursday, December 19, 2024
Daily times
09:30 - 16:30
4 days
Yireo, Baarn, NL
Minimum of attendees
Maximum of attendees
€1795 (excluding VAT)
Lunch, snacks, fruit, drinks, goodies, courseware
Contact us for details

Day by day outline

Dec 16, 2024 Day 1

Magento architecture
Magento installation
Simple module setup
Dependency Injection configuration
Dec 17, 2024 Day 2

Console commands
Blocks, ViewModels, layout & templating
Controllers & Routing
Setup & Declarative Schemas
Dec 18, 2024 Day 3

Database models & repositories
Events & observers
EAV & Extension Attributes
Dec 19, 2024 Day 4

Admin Panel modifications
Caching & Varnish
Backending in the checkout

Topics of this bootcamp

Managing PHPStorm File structure of Magento Installing Magento via composer Deploying code to production Dependency Injection explained properly Types and Virtual Types Factories and proxies Plugins and interceptors Creating a simple module Rendering output via ViewModels and Blocks Practical examples of DI Adding a new Command class Running cron jobs Sending an email Events and observers Adding a database setup Best practices for coding modules Troubleshooting tips & tricks Getting started with Magewire Simple components Magewire binding handlers and modifiers Understanding the concept of dirty Initializing properties via Magento DI Magic actions Form components Nesting components Component hooks and other hooks JS events, Magento events, Magewire events Entanglement with AlpineJS JS customizations Hydrators Strong typing and Magewire DOM diffing Component resolvers Observers and events Examples with DI Working with Virtual Types Layout Processors Routing and controllers Adding your own custom router Backend actions Analysing the Front Controller Simple Data Objects vs Value Objects AbstractSimpleObjects Running database setups Declaritive schemas Modules with database models and EAV Extension Attributes basics Extension Attributes vs EAV EAV source, backend and frontend models Models, resource models and collections Building your own repository Rundown of Magento Framework Unit testing with PHPUnit Backend UIcomponents basics Connecting your module to the REST API Optimizing Magento 2 performance

The following lessons are included in this bootcamp

With this bootcamp, you will get access to all online video lessons as well

Quick peek at Magento 2 architecture  
Magento 2 frontend landscape  
Setting up PHPStorm   17m 49s
Running cron   09m 34s
Cache clean vs flush  
Cache handling   09m 13s
Changing the admin path  
Maintenance mode   09m 37s
Using Redis  
Redis caching   09m 05s
Using Redis as session storage  
Installing a module free 21m 38s
Preparing for module creation free 08m 53s
Creating a module free 05m 11s
Composer file   05m 47s
Module XML file   04m 18s
Module registration   03m 44s
Module commands   09m 54s
Module entrypoints   03m 28s
Adding Blocks via XML layout   16m 48s
Using the store configuration free 11m 53s
Adding a simple CLI command free 09m 14s
Logging from your module   05m 35s
Application layers   14m 31s
PHP interfaces in Magento   13m 41s
Backward Compatibility  
Sandbox script free 07m 12s
Introduction to Dependency Injection   12m 00s
Object Manager free 13m 55s
DI Preferences free 16m 04s
DI types free 20m 15s
Virtual Types essentials   33m 39s
DI factories free 39m 22s
Creating a custom factory   20m 30s
DI proxies   37m 39s
DI plugins / interceptors   08m 43s
DI recipees  
Inject the App State and check for the area  
Checking for the Developer Mode in your code  
Injecting a configuration value free 20m 33s
Inject the current product   07m 08s
Injecting the registry  
Injecting URLs into your class   08m 52s
Creating a custom logger  
Injecting the customer session   05m 41s
Injecting the layout   08m 16s
Getting your module path  
Creating a Slack logger  
Can you inject a Virtual Type?  
Using the product repository   13m 51s
SearchCriteriaBuilder or SearchCriteriaBuilderFactory?  
Using product stock   10m 23s
Adding console commands  
Calling other commands from your own Command-class  
Tips on commands  
Frontend routes   17m 42s
Action results   11m 20s
Dealing with form keys  
Adding messages   04m 21s
Adding complex messages   23m 18s
Adding a cronjob   05m 01s
Creating an email template  
Block caching  
Adding database changes via a module   07m 18s
InstallSchema   10m 55s
InstallData   12m 50s
Why the Uninstall schema does not make sense  
Declaritive schemas   21m 34s
Declarative Schema patches   17m 09s
Scenario: Add CMS Block to PHTML  
Scenario: Add product pricing per customer  
Solving tickets efficiently  
Troubleshooting tips  
Course introduction  
About Magewire  
What is MageWire? free 06m 10s
Requirements for this course  
My Development Setup free 04m 53s
Magewire installation free 05m 25s
Troubleshooting MageWire installation  
Example module with MageWire free 11m 48s
Binding handlers   12m 31s
Magewire with lists   14m 38s
Modifiers for binding handlers   23m 20s
wire:select modifier   06m 03s
Example counter with MageWire   08m 00s
Example counter with MageWire (advanced)   10m 02s
Magewire being dirty   04m 58s
Example: Switch the block template   18m 58s
Magewiring forms   14m 00s
Magic actions   09m 42s
Add Hyva styling to your component   24m 41s
Initializing content via wire:init   07m 58s
How MageWire loads data   07m 51s
MageWire HTTP calls   16m 22s
Component classes   15m 32s
MageWire, ViewModel or Block?   02m 50s
Combining MageWire with Alpine   29m 22s
Component hooks   09m 17s
Client-side hooks   04m 26s
Events and listeners   16m 39s
JavaScript events   04m 20s
Magento events   11m 34s
Different events, different scenarios   03m 09s
The Magewire JavaScript object  
Hydrators   13m 05s
Nesting components   11m 24s
Nesting components with the same class   06m 56s
Strong typing and Magewire   08m 32s
Dom Diffing issues  
A product finder based on Magewire free 00m 07s
Adding Magewire to the minicart  
Declarative schemas (basics)   06m 06s
Data models   09m 46s
Resource models   04m 47s
Collections   07m 18s
Naming model classes   04m 53s
AbstractModel or AbstractExtensibleModel?  
Example data model via CLI commands   28m 23s
Example data model with integration tests   13m 38s
Improving your models   08m 23s
Improving your resource models   24m 32s
Event observer  
Finding events  
Dispatching events  
Observer or Plugins  
Routing overview   14m 55s
Backend routes   20m 32s
Override a controller action   14m 32s
Logic of the FrontController class   25m 14s
Routers   31m 21s
How 404 pages work   35m 55s
How the SecurityTxt module works   24m 12s
Creating a custom router   31m 23s
Quiz: Routers  
CMS Blocks  
CMS pages  
Adding a custom page type  
Content Security Policy   05m 04s
Toggling CSP mode free 06m 21s
Example of CSP with external CSS   04m 43s
Whitelisting values for CSP   02m 51s
Example with whitelisting external CSS   09m 26s
CSP in the Yireo GoogleTagManager module   01m 54s
Dummy $secureRenderer   07m 16s
Whitelisting inline JavaScript in the checkout   15m 51s
Disabling CSP  
Useful CSP extensions  
Using the filesystem  
Reading files  
Writing files  
Repositories   09m 00s
Sorting lists with repositories   02m 55s
Using filters with repositories   09m 21s
Debugging SELECT queries with repositories   11m 23s
Using filter groups with repositories   14m 05s
The bad side of repositories   14m 36s
Creating your own repository   12m 16s
Adding CLI classes for the repository   22m 28s
Integration tests for our custom repository  
Custom helper classes for your repositories   18m 14s
Data objects  
Builder pattern  
No more Helpers  
Declarative schemas (advanced)   11m 31s
DB schema patches   17m 39s
Adding startSetup and endSetup   05m 35s
Manual SQL queries  
Future changes in database layer  
EAV attributes  
Creating an EAV entity  
About attributes  
Attribute models  
Working with the configuration  
Attribute sets  
Category attributes  
Extension Attributes  
Example product extension attribute  
Backend routes   20m 32s
Adding Store Configuration settings  
ACL rules  
Adding a menu to the Admin Panel  
Basics of adding UiComponents  
Extending a UiComponent grid  
Creating a UIComponent grid  
Hyva Admin  
Custom backend theme  
Indexing overview  
Where to look for indexing  
How indexing works  
Tuning indexing  
Creating a custom indexerer  
ConfigProviders for window.checkoutConfig   10m 56s
Layout processors free 23m 12s
Adding a new Layout Processor   15m 52s
The Vault  
Multi Source Inventory overview  
Source Selection Algorithms (SSA)  
Configuring MSI  
Simplest setup of MSI  
Coding samples with MSI  
Database tables for MSI  
The old Stock Registry  
Web APIs  
Get your ticket for this bootcamp now

Meet the teachers

Jisse Reitsma

Jisse Reitsma

Jisse Reitsma is the developer of 60+ Magento extensions and has given technical Magento trainings for years. Besides his ability to understand complex technology, he is skilled in making this knowledge understandable for everyone. With him, you can expect in-to-depth guidance plus lots of practical tips. Jisse is the mastermind of MageTestFest, Reacticon and MageUnconference and former Magento Master.

Len Lorijn

Len Lorijn

Len worked - as a Magento backend developer - through the years for various agencies, among which Guapa, Youwe and Elgentos. He also helped organize MageTitans Groningen and was a volunteer at MageUnconference NL. He knows the tech, he loves the tech, he is the right man to guide you in the tech. In his free time, he does photography and works at a pop podium.

Target group

Target group

  • Trainees or interns that need to get hooked to Magento
  • Junior backend developers that need to get kickstarted fast
  • Senior Magento backenders who are looking for the finishing touch


  • Some Magento experience
  • Knowledge of Magento 2 XML layout
  • Experience with PHP OOP

These are the options we give you

At your place or ours?

Everyone learns at her/his own pace. We provide both in-house training and public training throughout Europe - whatever suits your team best. When 3 or more developers are attending, a custom training is often more economical. Contact us for more details.

You'll get courseware

Every workshop is accompanied with official Yireo coursematerial. Attendees are sent a digital version of this material after the training. It contains slides, comments and references. Additionally, our GitHub repos contain numerous more code samples.

Online classrooms

Online trainings are also our training: Via Zoom or Google Hangout sessions, our teacher is able to connect with your team. The benefit here is that the team is able to connect from various places itself as well, timeframes are more flexible. Afterwards, a video recording will be shared with all attendees for reference.

On-demand self-paced training

This training is also available as an On-Demand training: Via numerous video lessons, including accompanying student notes (equalling a book on their own), you'll learn about the topics in your own pace. And when you bump into questions, you can fall back to the teachers guidance.


Yireo could be the right partner for you

We have trained 5000+ developers in numerous disciplines since 2005

  • Professional training at affordable prices
  • Truely active with numerous open source projects in the community
  • Trainings, bootcamps, hackathons, events
  • Passionate, enthousiastic, knowledgable in the right combination

Customer quotes

After the Magento 2 bootcamp, my fear of cold feet has subsided. Jisse gives a broad picture of Magento 2 and I now understand a lot better what is possible. Maartje Meering (MDL Online)
Jisse explains the relevant technology in an understandable way that is very useful in practice. The training is intensive, at a high level and of great added value because important concepts are made clear and you receive many useful tips. Oscar Hilbelink (Madia)
Even when you think you know a few things about Magento, Jisse still manages to tell you about useful details that you never thought about. Ruben Zuidervaart (Epartment)
Read more quotes of our customers

Some of the customers that we have trained in the past years

See a more complete listing of our customers