Too Long; Didn't Read
Recently I was asked to develop a Mage 2 Shipping extension. I am basically a JavaScript developer and working in PHP with class heavy framework like Zend was hard battle initially. I would like to share my knowledge on what not to do or to consider. The module name can be comprise of any number of worlds but only the first letter should be capital. The solution to most of the problem in Magento 2 is to clear cache. This will generate Interceptors Class, in this process all dependency will be injected, also your whole code base will be compiled and throws any error.