As a Drupal developer, I know I can no longer continue to put off getting into Drupal 8, else I risk becoming obsolete and having to then play catch up by the time Drupal 8 goes main stream.
So here's what I did next:
I have to get into the Drupal 8 train early enough to future-proof my Drupal chops. But getting started is not going to be easy. For, beside having a zillion other urgent things to do, the changes introduced in Drupal 8 are so huge, and information sources are so few. And the few there is are scattered across so many places without any organization whatsoever. So what I need is a sort of a road map. A stable road map that I can follow consistently until, at least, I start to make sense of the fundamentals of the various novel concepts introduced into the Drupal ecosystem.
Establishing this road map was not going to be an easy task in itself. This is because most information relating to Drupal 8 tend to concentrate on specific aspects without any hint of a higher organization. Without a clear road map the alternative would be to start jumping from one information source to another until I cover enough of them to start making sense of the whole Drupal 8 paradigm shift.
This is not only going to be ineffective but, worse, it goes against my prefered method of learning, which is top-down theory-first approach. Following this path would burn me out pretty quickly, leading to a possible abandonment along the line. That would be fatal.
So my plan of action was to create this road map myself, if I can't find an already made one. I know that if I waited long enough someone would create one soon enough. But the problem is, when. It may come in too later, so that option was ruled out.
Fortunately for me, I did find one! It was published over a year ago, so how it escaped my radar all these while beats me. But on the bright side, it was near perfect for my purpose. It so nicely fitted that I decided to adopt it right away. My search for a road map was effectively over. I cleaned it up and formatted it into a hierarchical to-do battle plan ready to hit the road with.
Also, I decided to not only follow the road map, but also to document my journey and publish it as a series of blog posts. This will not only help clarify and solidify my Drupal 8 knowledge, but also to assist others in a similar situation.
Object oriented programming (OOP) forms a core part of the Drupal 8 system that it can not be ignored in any way, as was possible with Drupal 7. So it is a must-have skill for Drupal 8 development mastery. But because, am already familiar with OOP, I will be only glossing over its basics. But I will leave pointers to elsewhere where its basic concepts are better explained. Yet, there are some more advanced OOP knowledge that still trips me. These I will be concentrating on.
Long story short, I will be assuming some basic knowledge of OOP. Instead I will focus on the more advanced and modern aspects that I am not already familiar with.
The Road Map
- TECHNOLOGY STACK
- Modern PHP programming
- Programming patterns
- Factory methods
- Dependency injection
- Namespaces & PSR-0
- Modern Object-Oriented PHP
- Classes, objects, inheritance
- Late static binding
- New 3rd Party libraries: Guzzle, EasyRDF, Zend_Feed
- Modern PHP programming
- Entity API
- Configuration API & Configuration entities
- Object-oriented forms
- Other new APIs
Please note that I will not be going too deep into any of these topics, I don't have that capacity yet. Remember, am still learning myself. Non of these topics even make much sense to my yet, but I am determined to make sense of them all by the time am through.
My focus with this undertaking is solely on simple basic understandings. My areas of interest would be the underlying concepts, definitions of tough terms, and references to sources that treats them more deeply. In effect this is going to be just a more detailed road map of the simplified road map outlined above. (Imagine a Google map zoomed one or two levels closer).
So my main goal is to cover the fundamentals of these topics just deep enough to gain the level of confidence needed to tackle deeper topics in the future. To gain a bird eye view that would enable me to zoom in on deeper and more practical knowledge easily. Also to enable me start to comprehend the scope of what must be mastered to become a veritable Drupal 8 developer.
Since I am just equally learning, please do not take anything I say with any assumption of authority.
With the clarifications of my aims, objectives and battle plans out of the way, next I will be taking each subject from my road map, starting from the first, and working my way to the last.
I am excited about the interesting places (sources of information) this road map will lead to, and the precious little treasures (information/knowledge/skills/wisdom) I will uncover along the way. I can't wait to see how much of a Drupal 8 developer I'd become by the time I am through.
I hoped this journey will be equally rewarding to you, in case you chose to follow along.
Next stop: The Road Map Review.