{"id":1723,"date":"2015-07-04T16:04:55","date_gmt":"2015-07-04T15:04:55","guid":{"rendered":"http:\/\/www.jurecuhalev.com\/blog\/?p=1723"},"modified":"2015-07-04T17:36:00","modified_gmt":"2015-07-04T16:36:00","slug":"how-to-approach-learning-new-framework-and-not-get-overwhelmed","status":"publish","type":"post","link":"https:\/\/www.jurecuhalev.com\/blog\/how-to-approach-learning-new-framework-and-not-get-overwhelmed\/","title":{"rendered":"How to approach learning new Framework and not get overwhelmed"},"content":{"rendered":"<p class=\"p1\">It\u2019s that time of year where everything old is new again. JavaScript is the hottest kid on the block and it is time to update my approach to writing complex Web Applications. Django and WordPress are fine, but they are safe choices that do most of the computation on the server. What I want to learn is, if it\u2019s easier to make Single Page Applications.<\/p>\n<p class=\"p1\">After I realized last year that Angular 1, does not work for me &#8211; I decided to give Ember.js a try. Their web site resonated with me. It tells a story of community driven framework. It felt like Django, but with JavaScript. It\u2019s also a huge framework that felt overwhelming the first I tried to follow their official tutorial. It also does not help that they are in a middle big transition to a major 2.x release.<\/p>\n<p class=\"p1\">After not making much progress in first two days, I have decided to change my approach. I opted for a complete submersion into Ember.js community.<\/p>\n<p class=\"p1\">There are several steps and mistakes I made along the way:<\/p>\n<ul>\n<li class=\"p1\">First mistake was trying to build a new app, while learning fundamentals. Too many new things and wrong assumptions on my part.<\/li>\n<li class=\"p1\">I stopped reading about fundamentals from tutorials on blogs. They\u2019re just too short for someone without prior experience to understand what\u2019s going on.<\/li>\n<li class=\"p1\">I bought a book &#8211; (<a href=\"https:\/\/leanpub.com\/ember-cli-101\">Ember Cli 101<\/a>) and forced myself to do all the examples in book. By typing them out &#8211; no copy\/pasting. As Kathy Sierra tells us, we learn best when we write good examples of code.<\/li>\n<li class=\"p1\">Writing the code (and making mistakes) helped me learn ecosystem. It\u2019s also a good practice in how to use build-in debugging tools, what do coding errors look like and how to fix them.<\/li>\n<li class=\"p1\">I started listening to podcasts with Core Team members. They provide a general overview of ideas that are usually skipped at technical talks.<\/li>\n<li class=\"p1\">I started listening to talks given at different (Ember) conferences in the last year. It helped me understand the terminology and the technical challenges that community is facing. They\u2019re also great source of inspiration for the kind of apps, that people are building.<\/li>\n<li class=\"p1\">I started lurking on official IRC channel. It turns out, that if you read Q\/A that goes in there, you\u2019ll learn answers for problems you don\u2019t have yet. That way it\u2019s easier to identify later.<\/li>\n<li class=\"p1\">I&#8217;ve started to follow the discussion forums. It&#8217;s a good way to see longer discussions on common topics.<\/li>\n<li class=\"p1\">I\u2019m starting to read different bug reports and RFC\u2019s in Github.<\/li>\n<\/ul>\n<p class=\"p1\">All these activities are happening in parallel. After a week, I now know how to read the documentation and how to solve issues. I also understand what to watch out for and rough roadmap for the framework. I have yet to write my first app from scratch, but now I have example app that I can borrow code from.<\/p>\n<p class=\"p1\">To make it easier for other\u00a0developers that are coming to Ember.js ecosystem, I&#8217;ve started documenting my journey as I <a href=\"https:\/\/www.jurecuhalev.com\/blog\/learn-emberjs\/\">Learn Ember.js<\/a>.<\/p>\n<p class=\"p1\">So that was first 30 hours of deliberate practice with Ember.js.\u00a0Several hundred to go.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s that time of year where everything old is new again. JavaScript is the hottest kid on the block and it is time to update my approach to writing complex Web Applications. Django and WordPress are fine, but they are safe choices that do most of the computation on the server. What I want to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1725,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[925,14],"tags":[],"class_list":["post-1723","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ember-js","category-tech"],"acf":[],"jetpack_featured_media_url":"https:\/\/www.jurecuhalev.com\/blog\/wp-content\/uploads\/2015\/07\/tomster2.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/1723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/comments?post=1723"}],"version-history":[{"count":3,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/1723\/revisions"}],"predecessor-version":[{"id":1735,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/posts\/1723\/revisions\/1735"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/media\/1725"}],"wp:attachment":[{"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/media?parent=1723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/categories?post=1723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jurecuhalev.com\/blog\/wp-json\/wp\/v2\/tags?post=1723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}