edit-article
Home
Up
Delete
Article Name:
Article Description:
[SUMMARY] by Ustun Ozgur - Ustun outlines his experience In javascript development
Chapter ID/Name:
Status:
Write
Writing
Written
Add Photo:
Owner ID:
Content:
use HTML
Edit Content
<h1 style="text-align: center;">How to be a great JavaScript software developer</h1> <h2>[WHAT]</h2> <ol> <li>] In this post, I outline the techniques and resources I used to become a good JavaScript developer, based on my experience in the last 5 years.</li> </ol> <h2>[WHY]</h2> <ol> <li>] Most of the web developers nowadays face the same problem: They have to excel at multiple different fields, from databases to backend architecture to frontend user interfaces to polishing these UIs with good knowledge of CSS.</li> </ol> <h2>[WHERE]</h2> <ol> <li><strong>[READ THE FULL ARTICLE]</strong></li> <ol> <li>] <a href="http://blog.ustunozgur.com/javascript/programming/books/videos/2015/06/17/how_to_be_a_great_javascript_software_developer.html" target="_blank">http://blog.ustunozgur.com/javascript/programming/books/videos/2015/06/17/how_to_be_a_great_javascript_software_developer.html</a></li> </ol></ol> <h2>[WHEN]</h2> <ol> <li>] 2015-06-17</li> </ol> <h2>[EXAMPLE - auto summary by smmry.com]</h2> <ol> <li>For JavaScript, start with the following books: JavaScript the Good Parts is like the bible of JavaScript.</li> <li>If you are looking for good books, take a look at JavaScript Allongé, You Don't Know JS and Eloquent JavaScript.</li> <li>Not a book but Mozilla's Developer Network has a good guide on JavaScript.</li> <li>The second important thing for improving your JavaScript skills is to read these libraries' source codes.</li> <li>A friend of mine, Armagan, who is an excellent JavaScript programmer and teacher uses the book Pro JavaScript Design Patterns in his lectures, so this book is worth checking out.</li> <li>On Twitter, try to find influential JavaScript developers.</li> <li>Finally, as Ustun Ozgur Software, we are looking for talented JavaScript developers in Istanbul, Turkey.</li> </ol> <h2>[HOW-TO]</h2> <ol> <li><strong>TLDR</strong></li> <li><strong>Start with <span style="text-decoration: underline;">reading books</span></strong> as they give you distilled information.</li> <ol> <li>] Written word is how we pass knowledge from generation to generation, in a concentrated form. One problem with becoming an expert on Web technologies is that you have to learn when to stay away from the Web itself. Web itself presents a chaotic and distracting medium for learning stuff, so the first suggestion I will make is to read books on the subject matter.</li> <li>] start with <span style="text-decoration: underline;">list </span></li> </ol> <li><strong><span style="text-decoration: underline;">Learn fundamental libraries</span></strong> such as jQuery, underscore, Backbone; but also read their source codes.</li> <ol> <li>] If the books teach you how to read a language, the libraries teach you how to speak it. There are two important things you can do with libraries: use them and read their source code.</li> <li>] jQuery, Backbone, underscore and one of React, Angular or Ember. This is not to say you have to use these libraries, but any decent JavaScript developer should at least have s</li> <li>] I highly suggest Backbone and underscore’s source codes, as they are written beautifully. Reading and understanding underscore will improve your functional programming skills. Another good library for reading the source code, as recommended to me by several developers is mootols ome experience (good or bad) with these libraries. </li> </ol> <li><strong>Do exercises</strong> and try to <strong><span style="text-decoration: underline;">explain common JavaScript concepts</span></strong> such as inheritance in your own words. Give lectures and talks on these subjects.</li> <ol> <li>] do a lot of exercises. Ideally, these exercises will be focusing not on DOM, but the language, so make sure to have a test harness that can run in node.js.</li> <li>] Do small, but plenty exercises in node.js. Do katas and go through different ways of using JavaScript: closures, prototypes, array-extras (map, filter) etc. While doing the exercises, always have a list of fundamental ideas in JavaScript in your mind</li> <li>] Try to answer questions such as: How does prototypal inheritance work? What defines a closure? How does the meaning of this keyword change? How does one use apply/bind/map/filter/call?</li> <li>] Gather a list of common source points JavaScript developers face and try to explain it in your own words. Explaining these concepts to another person in written or verbal form will help improve your skills immensely. While doing the exercises, try to go over those where you discover “What if?” scenarios. For example, “What is the meaning of “this” if I use bind twice? How does jQuery make sure that the <code>this</code> keyword refers to the jQuery object and not the global object? How does this library achieve a certain feature?” are some common questions you should be asking yourself.</li> </ol> <li><strong>Read through the new versions of <span style="text-decoration: underline;">the standard</span>, and <span style="text-decoration: underline;">start using the latest additions</span> to the language.</strong></li> <ol> <li>] Grab a copy of the latest EcmaScript standard and try reading it. Doing this, also try to learn more about the upcoming features in JavaScript, as brought in ES6 and ES7. There have recently been a flux of new features like promises, modules, generators, comprehensions and again,</li> </ol> <li><strong>] get the best out of web resources </strong></li> <ol> <li>] Hacker News is a good source, however tracking it constantly will usually cost more time than needed, as the signal to noise ratio will be low.</li> <li>] aim for weekly digests such as <a href="http://javascriptweekly.com/" target="_blank">JavaScript Weekly</a>.</li> <li>] Over time, you will see which libraries or techniques are getting traction.</li> <li>] On Twitter, try to find influential <a href="http://code.tutsplus.com/articles/33-developers-you-must-subscribe-to-as-a-javascript-junkie--net-18151" target="_blank">JavaScript developers</a></li> </ol> <li><strong>CONCLUSION</strong></li> <li>Constantly <span style="text-decoration: underline;">repeating these</span> and <span style="text-decoration: underline;">making lots of projects</span> will improve your JavaScript skills immensely</li> </ol> <h2>[REFERENCE]</h2> <ol> <li>] SRC = hn, <a href="https://news.ycombinator.com/item?id=9731230" target="_blank">comments</a></li> <li>]</li> </ol> <h1 style="text-align: center;">comment - mine</h1> <p><a href="https://news.ycombinator.com/user?id=smlacy" target="_blank">user: smlacy</a></p> <p>No. Not this. Net even close to this. Let me illustrate:</p> <p>How to become great at Sports: - Read books about sports. - Watch other people play sports. - Read in-depth analysis of past sports games.</p> <p>How to become great at Playing Violin: - Read books about playing violin. - Real sheet music by the great masters. - Listen to many concerts.</p> <p>How do you become good at anything? You practice it. You do it. You have a coach or teacher or mentor who can give you pointers, but lets you make mistakes. You have someone who lets you get things wrong the first time, so that you can see the consequences.</p> <p> </p> <p><a href="https://news.ycombinator.com/user?id=mattdesl" target="_blank">mattdesl</a> </p> <p>It took me a while. My background was Java, Python, ActionScript and a few other languages sprinkled in. After about a year working JS, its now my preferred dev environment. The turning points for me:</p> <p>- modularity - npm has really changed the way I program, for the better</p> <p>- Node.js tooling (including a Browserify, Babel, Webpack) will greatly improve your experience with the language</p> <p>- live reloading, zero compile time, instant visual feedback</p> <p>- the breadth of Browser/Node/npm APIs can make it a ridiculously productive language to work in</p> <p>- IDE plugins and linters can catch a lot of errors as you type</p> <p><span style="color: #000000;">- above all else; it has an amazing community of enthusiastic developers, tinkerers, scientists, artists, etc.</span></p> <p> </p> <p> </p> <h1 style="text-align: center;"> </h1>