SlideShare une entreprise Scribd logo
1  sur  75
Télécharger pour lire hors ligne
BECOMING
CERTIFIEDBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Who here has sat in
one or more Magento 1 exams?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Who here has sat in
one or more Magento 2 exams?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
SO LET'S NOT TAKE
THIS TOO SERIOUSLY
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1 Certificaton
!=
Magento 2 Certification
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
How so?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1 &
Magento 2:
Questions are developed by a
Community Advisory Board
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1 &
Magento 2:
Each question is written to fit an
Exam Blueprint Objective
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1 != Magento 2:
Time frame and
Review Process
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1:
Months of online meetings and reviews
Magento 2:
One week focus group, all in one room
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1:
Rather contrived, memorization friendly
Magento 2:
Scenario based, real life, more natural
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 1:
Questions about Config XML Paths and Class Names.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
The Reasoning was:
"Magento Developers with experience will have written
them countless times and know them by heart."
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
This was before Magicento existed...
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magicento:
▸ Code generation
▸ Autocompletion
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento 2:
No questions about things
with IDE autocompletion
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
How do the questions look like?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Each item has 3 Parts:
▸ The Scenario
▸ The Stem
▸ The Options
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ The Scenario
Information required to choose the correct answer
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ The Stem
The question
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ The Options
The possible answers
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Valid answer keys:
▸ Choose 1 out of 4
▸ Choose 2 out of 4
▸ Choose 3 out of 5
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
If more than one answer has to be selected,
the number of required options is stated like this:
"Which three actions do you take? (Choose three)"
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
For questions with multiple answers,
the right number of options have to be selected and
all selected answers have to be correct.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ No trick questions
▸ No “none of the above”
▸ No “all of the above”
▸ No “which of the following are true”
▸ No double negatives
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
ACTIONABLE
QUESTIONS!
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
"How do you fix the issue?"
"What actions do you take?"
"What is the effect of that code?"
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
EXAMPLE
QUESTIONBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
(1/2)
You are working for an extensions vendor who protects their
intellectual property by validating licenses against a license server.
Customers are complaining that running any bin/magento command is
very slow after installing one of the companies extensions.
The extension adds a command to bin/magento.
While investigating, you discover the following code in the
command class:
public function __construct($license)
{
$this->isLicenseValid = $this->validateLicense($license);
parent::__construct();
}
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
(2/2)
public function __construct($license)
{
$this->isLicenseValid = $this->validateLicense($license);
parent::__construct();
}
How do you resolve the issue?
A. Implement local license validation instead of over the internet
B. Move the validateLicense() call into the execute() method
C. Check the license at random samples instead of every time
D. Cache the validation result in the Magento config cache
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Answer:
B. Move the validateLicense() call into the execute() method
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento Technical Guidelines
2.3. Class constructor can have only dependency
assignment operations and/or argument validation
operations. No other operations are allowed.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Example Excerpt:
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
But why?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Why?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
(back to the topic of exam questions)
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
SOME QUESTIONS HAVE QUALIFIERS.
What are qualifiers?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Qualifiers are part of the Stem:
▸ Keeping simplicity in mind ...
▸ Keeping maintainability in mind ...
▸ Keeping compatibility in mind ...
▸ Keeping testability in mind ...
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
WHAT IS THE PURPOSE OF QUALIFIERS?
They guide us to the correct answer.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Magento is flexible.
There are many ways to accomplish a goal.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
We often have to make decisions
how to implement a requirement.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
For questions with qualifiers
often more than one answer is technically correct.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Do we use ...
a preference,
a type argument configuration
or a plugin?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Do we use ...
an ORM model
or a Api Data model?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Do we inject ...
an interface
or a concrete implementation?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Depending on the circumstances,
every approach could be valid.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Faster development vs. better maintainability
More upgradable code vs. more performant code
...
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ lifetime of the project
▸ project budget
▸ developer skill level
▸ security considerations (internal / external access)
▸ use of third party modules
▸ desired code reuse
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Qualifiers tell us which answer to choose
for the given scenario.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Maintainability?
Probably rules out options where code is copied.
Favor answers that make changes and upgrades simpler.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Compatibility?
Rule out options with a higher
extension conflict probability.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Simplicity?
Favor expressive options using the
least number of elements.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Testability or Reusability?
Favor answers that allow replacing collaborators
with test doubles or other classes.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
EXAMPLE
QUESTIONBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
You need to customize the Magento_Checkout/js/proceed-to-checkout
JavaScript module.
How do you do that, keeping compatibility in mind?
A. Add a path override configuration to the requirejs-config.js
B. Add a global map alias override to the requirejs-config.js
C. Copy the file proceed-to-checkout.js to the folder
Magento_Checkout/js/ of the active frontend theme
D. Add a JavaScript mixin to the requirejs-config.js
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Answer:
D. Add a JavaScript mixin to the requirejs-config.js
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
GETTING
READY
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Study Guide
The study guide is based on the exam blueprint.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
SWIFT OTTER STUDY GUIDES
Based on the Magento U study guide
but much expanded.
The Official Technical Developer Guidelines
(ask Why?)
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Don't memorize OOP patterns and principles for the exam.
Without experience, that does more harm than good.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Better to go from first principles:
▸ What is a source code dependency?
▸ What are the consequences of a dependency?
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Deeper understanding
of the principles behind the labels.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
▸ Interfaces and the Liskov Substitution principle
▸ Coupling and Cohesion
▸ Favor Composition over Inheritance
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Familiarize yourself with
Kent Beck’s 4 rules of simple design.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
1. Passes all tests
2. Expresses intent 3. No duplication
4. Fewest possible elements
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
When a question has the qualifier
“Keeping simplicity in mind...”
apply these rules.
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
SMART
GUESSING
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
And finally...
Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
Becoming Certified - MageTitansMCR 2018

Contenu connexe

Tendances

Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015David Alger
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]M-Connect Media
 
Magento 2: Modernizing an eCommerce Powerhouse
Magento 2: Modernizing an eCommerce PowerhouseMagento 2: Modernizing an eCommerce Powerhouse
Magento 2: Modernizing an eCommerce PowerhouseBen Marks
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhubMagento Dev
 
How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)Magestore
 
Max Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & QualityMax Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & QualityMeet Magento Italy
 
Oleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performanceOleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performanceMeet Magento Italy
 
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015Joshua Warren
 
Magento 2 Development
Magento 2 DevelopmentMagento 2 Development
Magento 2 DevelopmentDuke Dao
 
Magento 2 Modules are Easy!
Magento 2 Modules are Easy!Magento 2 Modules are Easy!
Magento 2 Modules are Easy!Ben Marks
 
Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015David Alger
 
MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2Mathew Beane
 
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksMagento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksYireo
 
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Joshua Warren
 
The journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersThe journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersGabriel Guarino
 
Sergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions DistributionSergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions DistributionMeet Magento Italy
 
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...Meet Magento Italy
 
Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Mathew Beane
 
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max PronkoMagento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max PronkoMax Pronko
 

Tendances (20)

Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015
 
How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]How to Install Magento 2 [Latest Version]
How to Install Magento 2 [Latest Version]
 
Magento 2: Modernizing an eCommerce Powerhouse
Magento 2: Modernizing an eCommerce PowerhouseMagento 2: Modernizing an eCommerce Powerhouse
Magento 2: Modernizing an eCommerce Powerhouse
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhub
 
How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)
 
Max Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & QualityMax Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & Quality
 
Oleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performanceOleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performance
 
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
 
Magento 2 Development
Magento 2 DevelopmentMagento 2 Development
Magento 2 Development
 
Magento 2 Modules are Easy!
Magento 2 Modules are Easy!Magento 2 Modules are Easy!
Magento 2 Modules are Easy!
 
Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015
 
MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2
 
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksMagento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
 
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015
 
The journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersThe journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developers
 
Sergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions DistributionSergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions Distribution
 
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...
Guillaume Thibaux - Can we win the fight against performance bottlenecks? Les...
 
Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2Madison PHP - Getting Started with Magento 2
Madison PHP - Getting Started with Magento 2
 
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max PronkoMagento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko
Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko
 
Magento 2 development
Magento 2 developmentMagento 2 development
Magento 2 development
 

Similaire à Becoming Certified - MageTitansMCR 2018

Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Meet Magento Italy
 
Modern goal tracking stratgies for the web
Modern goal tracking stratgies for the webModern goal tracking stratgies for the web
Modern goal tracking stratgies for the webMichael Freeman
 
Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)vinaikopp
 
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by DefaultJS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by DefaultJSFestUA
 
SMX West 2014 - Schemas & Microdata
SMX West 2014 - Schemas & MicrodataSMX West 2014 - Schemas & Microdata
SMX West 2014 - Schemas & MicrodataBenu Aggarwal
 
Most Advanced GTM Deployment. Ever!
Most Advanced GTM Deployment. Ever!Most Advanced GTM Deployment. Ever!
Most Advanced GTM Deployment. Ever!Phil Pearce
 
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...How to recover from an unsuccessful SEO relaunch by activating your data (SMX...
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...Christopher Gutknecht
 
Schemas and Microdata
Schemas and Microdata Schemas and Microdata
Schemas and Microdata Benu Aggarwal
 
Architecture in-the-small-slides
Architecture in-the-small-slidesArchitecture in-the-small-slides
Architecture in-the-small-slidesvinaikopp
 
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтів
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтівYuriy Chapran: Cyber Shield - від запуску до перших клієнтів
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтівLviv Startup Club
 
QSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & AQSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & APalakMazumdar1
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOSteve Lock
 
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...Tatvic Analytics
 
Extension Submission to Marketplace
Extension Submission to MarketplaceExtension Submission to Marketplace
Extension Submission to MarketplaceWagento Kangiya
 
ClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNvinaikopp
 
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens
 
Overdose / The Left Bank / WeWork - What Does Google Want
Overdose / The Left Bank / WeWork - What Does Google WantOverdose / The Left Bank / WeWork - What Does Google Want
Overdose / The Left Bank / WeWork - What Does Google WantJason Mun
 
SOS UiComponents
SOS UiComponentsSOS UiComponents
SOS UiComponentsvinaikopp
 
Setting Up a Machine Learning Platform
Setting Up a Machine Learning PlatformSetting Up a Machine Learning Platform
Setting Up a Machine Learning PlatformChristopher Mohritz
 

Similaire à Becoming Certified - MageTitansMCR 2018 (20)

Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules Vinai Kopp - How i develop M2 modules
Vinai Kopp - How i develop M2 modules
 
Modern goal tracking stratgies for the web
Modern goal tracking stratgies for the webModern goal tracking stratgies for the web
Modern goal tracking stratgies for the web
 
Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)
 
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by DefaultJS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
JS Fest 2019. Minko Gechev. Building Fast Angular Applications by Default
 
SMX West 2014 - Schemas & Microdata
SMX West 2014 - Schemas & MicrodataSMX West 2014 - Schemas & Microdata
SMX West 2014 - Schemas & Microdata
 
Most Advanced GTM Deployment. Ever!
Most Advanced GTM Deployment. Ever!Most Advanced GTM Deployment. Ever!
Most Advanced GTM Deployment. Ever!
 
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...How to recover from an unsuccessful SEO relaunch by activating your data (SMX...
How to recover from an unsuccessful SEO relaunch by activating your data (SMX...
 
Schemas and Microdata
Schemas and Microdata Schemas and Microdata
Schemas and Microdata
 
Architecture in-the-small-slides
Architecture in-the-small-slidesArchitecture in-the-small-slides
Architecture in-the-small-slides
 
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтів
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтівYuriy Chapran: Cyber Shield - від запуску до перших клієнтів
Yuriy Chapran: Cyber Shield - від запуску до перших клієнтів
 
QSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & AQSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & A
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEO
 
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...
How to Maximize Revenues on Your Customer Loyalty Program using Predictive An...
 
Extension Submission to Marketplace
Extension Submission to MarketplaceExtension Submission to Marketplace
Extension Submission to Marketplace
 
ClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRN
 
Ruby 2010
Ruby 2010Ruby 2010
Ruby 2010
 
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
 
Overdose / The Left Bank / WeWork - What Does Google Want
Overdose / The Left Bank / WeWork - What Does Google WantOverdose / The Left Bank / WeWork - What Does Google Want
Overdose / The Left Bank / WeWork - What Does Google Want
 
SOS UiComponents
SOS UiComponentsSOS UiComponents
SOS UiComponents
 
Setting Up a Machine Learning Platform
Setting Up a Machine Learning PlatformSetting Up a Machine Learning Platform
Setting Up a Machine Learning Platform
 

Plus de vinaikopp

Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023vinaikopp
 
Property Based Testing in PHP
Property Based Testing in PHPProperty Based Testing in PHP
Property Based Testing in PHPvinaikopp
 
Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019vinaikopp
 
ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017vinaikopp
 
Lizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17deLizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17devinaikopp
 
Stories from the other side
Stories from the other sideStories from the other side
Stories from the other sidevinaikopp
 
Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)vinaikopp
 
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)vinaikopp
 
Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)vinaikopp
 
Modern Module Architecture
Modern Module ArchitectureModern Module Architecture
Modern Module Architecturevinaikopp
 
The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014vinaikopp
 

Plus de vinaikopp (11)

Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023
 
Property Based Testing in PHP
Property Based Testing in PHPProperty Based Testing in PHP
Property Based Testing in PHP
 
Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019
 
ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017
 
Lizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17deLizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17de
 
Stories from the other side
Stories from the other sideStories from the other side
Stories from the other side
 
Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)
 
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
 
Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)
 
Modern Module Architecture
Modern Module ArchitectureModern Module Architecture
Modern Module Architecture
 
The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014
 

Dernier

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 

Dernier (20)

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 

Becoming Certified - MageTitansMCR 2018

  • 1. BECOMING CERTIFIEDBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 2. Who here has sat in one or more Magento 1 exams? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 3. Who here has sat in one or more Magento 2 exams? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 4.
  • 5.
  • 6.
  • 7. SO LET'S NOT TAKE THIS TOO SERIOUSLY Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 8.
  • 9. Magento 1 Certificaton != Magento 2 Certification Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 10. How so? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 11. Magento 1 & Magento 2: Questions are developed by a Community Advisory Board Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 12. Magento 1 & Magento 2: Each question is written to fit an Exam Blueprint Objective Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 13. Magento 1 != Magento 2: Time frame and Review Process Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 14. Magento 1: Months of online meetings and reviews Magento 2: One week focus group, all in one room Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 15. Magento 1: Rather contrived, memorization friendly Magento 2: Scenario based, real life, more natural Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 16. Magento 1: Questions about Config XML Paths and Class Names. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 17. The Reasoning was: "Magento Developers with experience will have written them countless times and know them by heart." Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 18. This was before Magicento existed... Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 19. Magicento: ▸ Code generation ▸ Autocompletion Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 20. Magento 2: No questions about things with IDE autocompletion Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 21. How do the questions look like? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 22. Each item has 3 Parts: ▸ The Scenario ▸ The Stem ▸ The Options Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 23. ▸ The Scenario Information required to choose the correct answer Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 24. ▸ The Stem The question Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 25. ▸ The Options The possible answers Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 26. Valid answer keys: ▸ Choose 1 out of 4 ▸ Choose 2 out of 4 ▸ Choose 3 out of 5 Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 27. If more than one answer has to be selected, the number of required options is stated like this: "Which three actions do you take? (Choose three)" Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 28. For questions with multiple answers, the right number of options have to be selected and all selected answers have to be correct. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 29. ▸ No trick questions ▸ No “none of the above” ▸ No “all of the above” ▸ No “which of the following are true” ▸ No double negatives Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 30. ACTIONABLE QUESTIONS! Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 31. "How do you fix the issue?" "What actions do you take?" "What is the effect of that code?" Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 32. EXAMPLE QUESTIONBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 33. (1/2) You are working for an extensions vendor who protects their intellectual property by validating licenses against a license server. Customers are complaining that running any bin/magento command is very slow after installing one of the companies extensions. The extension adds a command to bin/magento. While investigating, you discover the following code in the command class: public function __construct($license) { $this->isLicenseValid = $this->validateLicense($license); parent::__construct(); } Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 34. (2/2) public function __construct($license) { $this->isLicenseValid = $this->validateLicense($license); parent::__construct(); } How do you resolve the issue? A. Implement local license validation instead of over the internet B. Move the validateLicense() call into the execute() method C. Check the license at random samples instead of every time D. Cache the validation result in the Magento config cache Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 35. Answer: B. Move the validateLicense() call into the execute() method Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 36. Magento Technical Guidelines 2.3. Class constructor can have only dependency assignment operations and/or argument validation operations. No other operations are allowed. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 37.
  • 38. Example Excerpt: Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 39. But why? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 40. Why? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 41. (back to the topic of exam questions) Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 42. SOME QUESTIONS HAVE QUALIFIERS. What are qualifiers? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 43. Qualifiers are part of the Stem: ▸ Keeping simplicity in mind ... ▸ Keeping maintainability in mind ... ▸ Keeping compatibility in mind ... ▸ Keeping testability in mind ... Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 44. WHAT IS THE PURPOSE OF QUALIFIERS? They guide us to the correct answer. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 45. Magento is flexible. There are many ways to accomplish a goal. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 46. We often have to make decisions how to implement a requirement. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 47. For questions with qualifiers often more than one answer is technically correct. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 48. Do we use ... a preference, a type argument configuration or a plugin? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 49. Do we use ... an ORM model or a Api Data model? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 50. Do we inject ... an interface or a concrete implementation? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 51. Depending on the circumstances, every approach could be valid. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 52. Faster development vs. better maintainability More upgradable code vs. more performant code ... Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 53. ▸ lifetime of the project ▸ project budget ▸ developer skill level ▸ security considerations (internal / external access) ▸ use of third party modules ▸ desired code reuse Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 54. Qualifiers tell us which answer to choose for the given scenario. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 55. Maintainability? Probably rules out options where code is copied. Favor answers that make changes and upgrades simpler. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 56. Compatibility? Rule out options with a higher extension conflict probability. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 57. Simplicity? Favor expressive options using the least number of elements. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 58. Testability or Reusability? Favor answers that allow replacing collaborators with test doubles or other classes. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 59. EXAMPLE QUESTIONBecoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 60. You need to customize the Magento_Checkout/js/proceed-to-checkout JavaScript module. How do you do that, keeping compatibility in mind? A. Add a path override configuration to the requirejs-config.js B. Add a global map alias override to the requirejs-config.js C. Copy the file proceed-to-checkout.js to the folder Magento_Checkout/js/ of the active frontend theme D. Add a JavaScript mixin to the requirejs-config.js Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 61. Answer: D. Add a JavaScript mixin to the requirejs-config.js Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 62. GETTING READY Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 63. Study Guide The study guide is based on the exam blueprint. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 64. SWIFT OTTER STUDY GUIDES Based on the Magento U study guide but much expanded.
  • 65. The Official Technical Developer Guidelines (ask Why?) Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 66. Don't memorize OOP patterns and principles for the exam. Without experience, that does more harm than good. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 67. Better to go from first principles: ▸ What is a source code dependency? ▸ What are the consequences of a dependency? Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 68. Deeper understanding of the principles behind the labels. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 69. ▸ Interfaces and the Liskov Substitution principle ▸ Coupling and Cohesion ▸ Favor Composition over Inheritance Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 70. Familiarize yourself with Kent Beck’s 4 rules of simple design. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 71. 1. Passes all tests 2. Expresses intent 3. No duplication 4. Fewest possible elements Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 72. When a question has the qualifier “Keeping simplicity in mind...” apply these rules. Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 73. SMART GUESSING Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10
  • 74. And finally... Becoming Certified - (c) @VinaiKopp - #MageTitansMCR - 2018-11-10