A few weeks back, Rebecca Murphey tweeted out a link to a survey she was running involving how people learn JavaScript and how it has impacted their careers.

Have you worked on getting better at JS in the last year? I’d love your inputhttps://t.co/qEGaIWW6ha I’ll share what I’ve learned soon!

— Rebecca Murphey (@rmurphey) January 12, 2016

More recently she shared the raw results as a CSV dump and I thought it would be fun to parse the results. I was genuinely interested in the data and I thought it would give me a chance to play with a JavaScript charting engine. I’ve taken a stab at rendering the data and I thought I’d share the results. I’ll link to the demo at the end, and please note that any mistakes are entirely on my end, and not Rebecca’s fault.

I began by looking into CSV parsing with JavaScript. A quick search turned upPapaParse which has an incredibly simple API. Here’s what I had to do to parse the data.

 Papa.parse("./learning-js.csv", {     download:true,     header:true,     complete:function(results) {         allData = results.data;         doCharts();     }    }); 

That’s pretty darn simple. PapaParse has quite a few options so I definitely recommend checking it out.

I then looked into charting the results. I began with Chart.js which was pretty and easy to use, but I couldn’t figure out how to make the pie chart labels show up all the time and not just on mouse over. I found a workaround, but honestly, it just kind of bugged me that I couldn’t do it easier so I punted and went over to Chartist.js . Personally it was the mascot that sold me.

The API was a bit weird in places, but I was able to get some basic charts written out. I thought the engine made some odd choices for colors. For example, a two-slice pie chart would use a red and then a near-red color. You could distinguish the slices, but they were pretty close. You can tweak the colors of course, but the defaults for the pie chart seemed odd in my opinion.

Anyway, here are the questions and results, taken out of my ugly demo app and positioned a bit nicer.

Have you focused specifically on improving your JS skills at any time in the last year?

Absolutely no surprise here.

Which resources did you use to help you learn?

Kinda surprised how high blogs rank here, especially since blogs seem to be better for one offs, like, “How do I do cowbell in X”, versus more broad training. Then again, maybe people need more concrete examples versus learning JavaScript at a broad level.

During your learning, which areas have been particularly challenging?

Just an FYI, I skipped a few question. Anyway, the chart. And I apologize, this is a big one.

The labels are pretty much unreadable there. You can find a larger versionhere. Again, just click for the “full” view. Top three issues were:

  • Build tools
  • Understanding how to apply things to the real world
  • Lack of mentoring/guidance

Number two in that list is a particular pet peeve of mine. I’ve seen far too many examples that are so far removed from reality that they are near useless. (And to be fair, I’ve done it myself.)

Which technologies do you use in your current role?

Again, no real surprises here, although I would have thought Node would have been higher. I apologize for the clunkiness of some of the labels.

How long have you been working professionally in web development?

Woot - I’m not the only old person in tech! I’m squarely in the 10+ years bar there. I began working with the web around 1994 or so.

How would you rate the improvement of your JS skills in the last year?

This is a good chart. Well, not my design - I don’t like the lack of space. What I mean is - it looks like most people are improving, and improving at least a little bit. Hey, you don’t have to go from noob to demigod in one year. Baby steps is just fine.

Have you gotten a new job, a promotion, or new responsibilities since improving your JS skills?

I’d say that’s a damn good chart too.

The full report

Ok, I should clarify - this isn’t a full report - I didn’t chart the questions focused on the one resource that was best/worst. But you can view everything here:http://static.raymondcamden.com/rmurphey/

Please - for the love of God - do not view source. Seriously. I’m not being humble. This is absolute crap code. Thanks again to Rebecca Murphey for creating this survey. I’d strongly recommend checking out her js-assessment project as well.

Survey Results for Rebecca Murpheys Learning JavaScript Survey的更多相关文章

  1. Multimodal Machine Learning:A Survey and Taxonomy 综述阅读笔记

    该笔记基于:Multimodal Machine Learning:A Survey and Taxonomy 该论文是一篇对多模态机器学习领域的总结和分类,且发表于2017年,算是相当新的综述了.老 ...

  2. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  3. AMD - Learning JavaScript Design Patterns [Book] - O'Reilly

    AMD - Learning JavaScript Design Patterns [Book] - O'Reilly The overall goal for the Asynchronous Mo ...

  4. Learning JavaScript with MDN & 使用 MDN 学习 JavaScript

    Learning JavaScript with MDN & 使用 MDN 学习 JavaScript Learn JavaScript with MDN 和 MDN 一起学习 JavaScr ...

  5. Learning JavaScript with MDN (call, apply, bind)

    Learning JavaScript with MDN (call, apply, bind) call, apply, bind Object.prototype.toString() 检测 js ...

  6. Developer Survey Results 2017

    概观 今年,超过64,000名开发人员告诉我们他们学习和升级的方式,他们使用的工具和他们想要的东西. 自2011年以来,Stack Overflow每年都会向开发者询问他们最喜爱的技术,编码习惯,工作 ...

  7. Learning JavaScript Design Patterns The Module Pattern

    The Module Pattern Modules Modules are an integral piece of any robust application's architecture an ...

  8. Learning JavaScript Design Patterns The Observer Pattern

    The Observer Pattern The Observer is a design pattern where an object (known as a subject) maintains ...

  9. Learning JavaScript Design Patterns The Singleton Pattern

    The Singleton Pattern The Singleton pattern is thus known because it restricts instantiation of a cl ...

随机推荐

  1. ansible组

    安装公钥:服务器互通需要公钥和秘钥 https://www.cnblogs.com/yaozhiqiang/p/9951606.html 配置完成pulic ssh key(公钥和秘钥)之后 进入/e ...

  2. C++11常用特性总结

    非原创,转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于 ...

  3. linux 根目录扩容

    之前搭建了一个CentOS(7.0, x64)的VM,一直没留意它的硬盘空间.昨天,系统突然弹出警示,说 根目录 空间不足了. 这样的话,就只能给它增加空间呗. 我自己其实已经增加过硬盘空间了,但是为 ...

  4. 【转载】JDK8 特性 stream(),lambda表达式,

    Stream()表达式 虽然大部分情况下stream是容器调用Collection.stream()方法得到的,但stream和collections有以下不同: 无存储.stream不是一种数据结构 ...

  5. linux清理 clientmqueue 垃圾文件防止 inode 被占满

    #find /var/spool/clientmqueue/ -type -f |xargs rm -f

  6. 手机端 css 样式重置

    @charset "utf-8"; body, div, ul, li, ol, h1, h2, h3, h4, h5, h6, input, textarea, select, ...

  7. Nginx优化_自定义报错页面

    自定义返回给客户端的404错误页面 1. 优化前,客户端使用浏览器访问不存在的页面,会提示404文件未找到 client]# firefox http://192.168.4.5/xxxxx      ...

  8. Spring Cloud Stream监听已存在的Queues/Exchanges

    环境准备 rabbitmq已运行,端口5672,控制台web端口15672,用户名密码guest/guest 引入spring cloud stream依赖 compile('org.springfr ...

  9. idea中ehcahe配置中 Cannot find the declaration of element 'ehcache'.

    ehcahe.xml 中报错: Cannot find the declaration of element 'ehcache'. 打开settings->languages&frame ...

  10. bzoj4127 Abs 树链剖分+线段树+均摊分析

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4127 题解 首先区间绝对值和可以转化为 \(2\) 倍的区间正数和 \(-\) 区间和.于是问 ...