I actually just recently finished the first phase of my first Magento 2 project for a client , and the learning curve was really steep , especially considering that I have no prior experience with Magento 1 . Personally , I believe that Magento 2 is guilty of being overengineered , especially it ' s theming system . But I think it is the best available open source ecommerce software currently out there . I basically created my theme by heavily relying on the dev d o c s devguidethemesthemecreate . html and a lot of trial and error . The Luma theme that comes with the default installation is a superb reference point . A few other tips that I ' ll like to share I used a custom forkvagrantfordevelopers of the Magento 2 developers ' Vagrant box as my dev environment . Really helped me in the initial stages when I was mucking about and trying to setup a consistent workflow that works for me . Magento 2 incorporates Less and Grunt for the management of front end styles . I personally prefer Sass and Gulp , and there is an open source projectfrontools that I used in my workflow to replace Less and Grunt with Sass and Gulp . Beware of thirdparty modules . I ' ve had a LOT of trouble with thirdparty Magento 2 modules in this project . I find that a lot of them cause problems when you put your Magento project in production mode and when you setup the Varnish cache . RequireJS . Nearly every JS feature in Magento 2 is a RequireJS module . If you are unfamiliar with lazy JS loading , you might be in for quite a bit of a learning curve .