你有学习者综合征吗?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样式表并没有相关定义的空白部分. 分析: 查看出现问题页面的网页源代码,复制空白换行部 ...
随机推荐
- [Selenium] 如何在老版本的Chrome 浏览器上使用selenium
由于Chrome Driver 只兼容Chrome 浏览器12.0.712.0 和之后的新版本,会因此如果要在老版本的Chrome 浏览器上使用Selenium, 则只能使用 SeleniumRC ...
- 【Codeforces 947A】 Primal Sport
[题目链接] 点击打开链接 [算法] 不难看出,x1的范围是[x2-P(x2)+1,x2],x0的范围是[x1-P(x1)+1,x1] 我们可以先做一遍线性筛,然后暴力就可以了 [代码] #inclu ...
- caffe 入门实例3 fine-turning
占坑,使用fine-turning初始化参数...
- Hello World 4 JQuery
Hello World 4 JQuery <html> <head> <script type="text/javascript" src=" ...
- Gearman1.1.12安装与启动
1)安装 a)安装gcc4.4环境: i. yum install gcc44 gcc44-c++ libstdc++44-devel gcc-c++ -y ii. 在/etc/profile中添加 ...
- Android webkit 事件传递流程通道分析
前言:基于android webview 上定制自己使用的可移植浏览器apk,遇到好多按键处理的问题.所以索性研究了一下keyevent 事件的传递流程. frameworks 层 keyevent ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 23. 继续讲Tag Helpers 和复习View Component
当条件为true就渲染,否则就不渲染 ‘ 判断用户的登陆 更好的一点是做一个TagHelper.把这些明显的C#代码都去掉.最终都是用html和属性的形式来组成一个最终的代码 属性名称等于Confit ...
- apache禁止使用IP访问的实现方法
apache禁止访问目录列表 apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表. 找到Apa ...
- bzoj 1031: [JSOI2007]字符加密Cipher【后缀数组】
算是SA的裸题了 把串复制一遍接在原串后面,然后求SA,然后按着SA的顺序输出尾字符即可 #include<iostream> #include<cstdio> #includ ...
- 第十八篇 .NET高级技术之Linq与EF Code-First Fluent API基础讲解
1.FluentApi简介 在这里提供了一个fluentapi基础的DEMO然后咱们在进一步的学习,直接上干货. 第一步在数据库创建一个表:person 第二步:新建控制台程序FluentAPI 第三 ...