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. 搜索(DFS)---填充封闭区域

    填充封闭区域 130. Surrounded Regions (Medium) For example, X X X X X O O X X X O X X O X X After running y ...

  2. win32 socket编程(二)——TCP/IP

    一.大端.小端法定义 1.1小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端. (主机字节顺序) 1.2 大端法(Big-Endian ...

  3. mysql安装,卸载; 库和表的基础操作

    数据库  """ 1.什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件 2.存储数据的位置:内存.硬盘 3.什么是系统:运行在硬件基础上 ...

  4. eclipse codeFormatter 和 codeTemplates 模板

    下载  eclipse_modles.rar 好用高效的eclipse的注释和代码风格模板.     版权声明:本文为博主原创文章,未经博主允许不得转载.

  5. Java虚拟机——类加载机制

    转自:http://blog.csdn.net/ns_code/article/details/17881581 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载 ...

  6. 洛谷 P2783 有机化学之神偶尔会做作弊(Tarjan,LCA)

    题目背景 LS中学化学竞赛组教练是一个酷爱炉石的人. 有一天他一边搓炉石一边监考,而你作为一个信息竞赛的大神也来凑热闹. 然而你的化竞基友却向你求助了. “第1354题怎么做”<--手语 他问道 ...

  7. ltp-ddt eth iperf

    ETH_S_PERF_IPERF_TCP_8K_1448B source 'common.sh'; run_iperf.sh -m -M 1500 -f M -d -t 60 -w 8K run_ip ...

  8. 去除重复嵌套的html标签函数

    去除重复嵌套的html标签 function strip_multi_tags($str, $tag = 'div'){ preg_match_all('/<'.$tag.'>|<\ ...

  9. golang test模块

    1 创建文件夹testing101 2 被测试程序 package testing101 func Sum(numbers []int) int { sum :=0 for _,n :=range n ...

  10. django之类视图

    一:类视图 1. 为什么使用类视图? # 以注册请求逻辑为例 def register(request): if request.method == "GET": render(r ...