【导读】:学习者综合征的主要表现:学而不用,不停学习,却没有真正实际应用知识来做东西。如果过去的一年里,学习的语言或框架超过三个,那可能已经感染学习者综合征了。Web 开发是重灾区咯。

你有学习者综合征吗?

好吧,这本不是什么值得说道的事儿,但我注意到最近出现了一种行为趋势,尤其是在技术和软件开发领域。我不知道它的确切名字,就暂且称之为「学习者综合征」吧。它描述的是一种行为特征:那些“感染者”会不停地学习新知识,却从不真正地去应用它们。

这个综合征的高发区在 Web 开发领域。最近几年我注意到, Web 框架的数量有了显著的增长。下图展示了一个大致的数量。

你看,过去的 5 年内,出现了大量的框架。我还注意到,Web 开发者都希望能了解并掌握一定数量的框架,这看起来是一种荣誉,并能代表他们的成就。那是什么造成了现在这种局面哪?

我本人也饱受学习者综合征的困扰,我必须站出来对抗它。学习一门新的语言或技术,对我来说通常是一个有趣的经历。我发现自己在构建简单的 Web 应用程序时,会用到以下框架:

  • Go

  • TypeScript

  • NodeJS

  • React

  • Angular

  • Spring

  • … x100

这个列表还在不断更新。我创建了许多 todo 应用程序,已经远超我愿意承认的数量。我现在甚至都认为自己很擅长做 todo 应用程序,恩?这点可能要放到我的简历上。

面试官:你有实际做出一些东西?

我:基本上没有,但你可以从我的档案看到,我做了许多 todo mvc web 应用程序,是用 NodeJS 的一个同构 react 服务器创建的。

要成为一名“优秀”的 Web 开发者,你需要了解并掌握许多技术(包括后端),这是众多技术带来的最大问题。但我认为这一点也不公平。几年前,前端和后端的界限十分清楚;而今天,这条界限已经模糊了,甚至不存在了。前端和后端现在已经合并,称之为“全栈(full-stack)”。这听起来更像是一个狡猾的借口/说辞,一名全栈工程师需要同时处理前端和后端两个方面,工作量反而翻倍了。

我自己对后端技术更感兴趣,但随着异构服务器的兴起,我发现自己也经常为前端编写代码。如果你不熟悉同构服务器,下图给你举了个例子。(译注:与异构相对,同构 JavaScript 应用指的是用 JavaScript 编写的应用,能够同时运行于客户端和服务器。这也让在客户端和服务器之间共享代码变成一种更普遍自然的选择。)

我觉得,当我学习了多种框架和技术时,我运用它们来做出有价值东西的能力会降低。这是因为我花在学习上的时间,超过了做东西所用的时间。如果我开始将时间投入做东西,我感觉会错过了学习新技术的时机,甚至担心被别人超过,而跟不上时代的潮流。

我认为解决这一切的办法,是找到一个平衡点。你必须专注于某一项技术,并且围绕它来分配你的时间。当然,你也可以学习新技术,但每天花在上面的时间不能超过一小时。你需要保证它只能是你的兴趣爱好,而不是一个会上瘾的坏习惯。如果在工作中你只使用一种技术,此时学习者综合征似乎更明显,因为我们大部分的业余时间都花在学习新技术上,而不是用于做东西。不过当你在一个能提升学习的地方工作,那在两方面都能做到最好。

我建议你现在退后一步并思考一下,过去的时间里,你学习了多少新语言或新框架?你创建了多少 todo 应用程序?如果超过 3 个,那你可能“学得太多了”。当然,你可以说这是因为你热衷于学习(新知识),但我觉得对于更多人而言,将时间专注于一门技术上能带来更大的收益。

【我有一个前端学习交流QQ群:328058344  如果你在学习前端的过程中遇到什么问题,欢迎来我的QQ群提问,群里每天还会更新一些学习资源。禁止闲聊,非喜勿进。】

你有学习者综合征吗?Web 开发是重灾区的更多相关文章

  1. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  2. Go web开发初探

    2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...

  3. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  4. .NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  5. web 开发自动化grunt

    现在web开发自动化已很流行,如何进行压缩文件,如何进行测试js是否正确,如何进行 检测html文件是否规范等等都可以通过web自动化技术进行实现,只要打一个命令即可. 本文主要是通过grunt进行实 ...

  6. eclipse SE增加Web开发插件

    最近接触了些java项目,之前安装了eclipse SE版本.没有Web开发插件,调试不了Web代码.点击“Window”--“Preference” 左边菜单栏是找不到“Server”项来配置服务器 ...

  7. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  8. 12款简化 Web 开发的 JavaScript 开发框架

    前端框架简化了开发过程中,像 Bootstrap 和 Foundation 就是前端框架的佼佼者.在这篇文章了,我们编制了一组新鲜的,实用的,可以帮助您建立高质量的 Web 应用程序的 JavaScr ...

  9. Golang Web开发时前端出现谜之空白换行的坑

    在使用Golang做Web开发时,有时候渲染出来的模板在前台显示时会出现一些奇怪的空白换行,具体特征就是查看css样式表并没有相关定义的空白部分. 分析: 查看出现问题页面的网页源代码,复制空白换行部 ...

随机推荐

  1. Oracle:datafile删除后,重启server报ORA-01110

    模拟实验: 创建一个表空间后,直接把数据文件删除了:然后重启server. 1. create tablespace w56 datafile '/u01/app/oracle/product/10. ...

  2. WebSocket使用教程 - 带完整实例--网址:https://my.oschina.net/u/1266171/blog/357488

    什么是WebSocket?看过html5的同学都知道,WebSocket protocol 是HTML5一种新的协议.它是实现了浏览器与服务器全双工通信(full-duplex).HTML5定义了We ...

  3. 「NOIP2005」「Codevs1106」篝火晚会

    题目描述 Description 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1 ...

  4. 【NOIP2012】 国王游戏

    [题目链接] 点击打开链接 [算法] 按ai * bi升序排序,贪心即可 [代码] #include<bits/stdc++.h> using namespace std; #define ...

  5. 【重要】Selenium2+python自动化44-元素定位参数化(find_element)

    转:https://www.cnblogs.com/yoyoketang/p/6551274.html 前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合 ...

  6. 数据库sql互转(oracle转mysql为例子)

    转自: https://blog.csdn.net/sinat_32366329/article/details/76402059 在PowerDesinger里找到 File -->> ...

  7. 利用jenkins和docker实现持续交付

    利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更 ...

  8. SCUT - 261 - 对称与反对称 - 构造 - 简单数论

    https://scut.online/p/261 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几 ...

  9. hdoj2859【DP基础】

    /* 看题解A的. 总结:小矩阵--> 大矩阵 dp[i][j]=min(t,dp[i-1][j+1]+1); */ #include <iostream> #include < ...

  10. .Net开发人员必备工具下载

    .Net开发人员必备工具下载   本人亲测下载地址: Win8.1破解工具下载: http://pan.baidu.com/s/1eQf2UiQ 可激活版本 Windows Vista Busines ...