你有学习者综合征吗?Web 开发是重灾区
【导读】:学习者综合征的主要表现:学而不用,不停学习,却没有真正实际应用知识来做东西。如果过去的一年里,学习的语言或框架超过三个,那可能已经感染学习者综合征了。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 开发是重灾区的更多相关文章
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Go web开发初探
2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- .NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- web 开发自动化grunt
现在web开发自动化已很流行,如何进行压缩文件,如何进行测试js是否正确,如何进行 检测html文件是否规范等等都可以通过web自动化技术进行实现,只要打一个命令即可. 本文主要是通过grunt进行实 ...
- eclipse SE增加Web开发插件
最近接触了些java项目,之前安装了eclipse SE版本.没有Web开发插件,调试不了Web代码.点击“Window”--“Preference” 左边菜单栏是找不到“Server”项来配置服务器 ...
- Web 开发中很实用的10个效果【附源码下载】
在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...
- 12款简化 Web 开发的 JavaScript 开发框架
前端框架简化了开发过程中,像 Bootstrap 和 Foundation 就是前端框架的佼佼者.在这篇文章了,我们编制了一组新鲜的,实用的,可以帮助您建立高质量的 Web 应用程序的 JavaScr ...
- Golang Web开发时前端出现谜之空白换行的坑
在使用Golang做Web开发时,有时候渲染出来的模板在前台显示时会出现一些奇怪的空白换行,具体特征就是查看css样式表并没有相关定义的空白部分. 分析: 查看出现问题页面的网页源代码,复制空白换行部 ...
随机推荐
- 进程调度函数schedule()分析
1.功能简述: 最主要作用就是 从就绪进程中选择一个优先级最高的进程来代替当前进程运行. 2.代码分析 schedule(); struct task_struct *tsk = cur ...
- codeforcfes Codeforces Round #287 (Div. 2) B. Amr and Pins
B. Amr and Pins time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- html5--6-5 CSS选择器2
html5--6-5 CSS选择器2 实例 学习要点 掌握常用的CSS选择器 了解不太常用的CSS选择器 什么是选择器 当我们定义一条样式时候,这条样式会作用于网页当中的某些元素,所谓选择器就是样式作 ...
- hdu 4022 Bombing(map,multiset)
题意:n个基地放在2维平面,然后m个炸弹人,每个炸弹人可以炸一行或者一列,输出每个炸弹人炸掉的基地个数. 思路:用map<int,multiset<int> >对应起来一行或者 ...
- rsync(二):inotify+rsync详细说明和sersync
以下是rsync系列篇: inotify+rsync 如果要实现定时同步数据,可以在客户端将rsync加入定时任务,但是定时任务的同步时间粒度并不能达到实时同步的要求.在Linux kernel 2. ...
- centos安装xen虚拟机并且配置bridge
主要参考的几个官方文档: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0 http://wiki.cen ...
- linux中fork对打开文件的处理
1 子进程复制父进程的数据段.BBS段.代码段.堆空间.栈空间和文件描述符 2 对于文件描述符采用共享的方式 后面这个例子可以清晰的看出 #include <sys/types.h> #i ...
- typeof操作符返回一个字符串,表示未经计算的操作数的类型。
typeof操作符返回一个字符串,表示未经计算的操作数的类型. 语法 typeof运算符后跟操作数: typeof operand or typeof (operand) 参数 operand 是 ...
- CodeForces 615C
题意: 给定两个字符串s1,s2利用s1去构造s2,s1有无限个,可以翻转,你最少要用几个s1才能构造s2.输出每一次使用的s1的有效区间. 伪思路: 据说是暴力就能过的题目.然而自己就是暴力差,模拟 ...
- StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得
http://stackoverflow.com/questions/17684664/retrieve-the-structlayout-attribute-of-a-struct 这是一个type ...