在 Web 开发的道路上,每当心力交瘁深感学海无涯时,我就会安慰自己:坚持,总有一天我会打通任督二脉(前端+后端)

事实上,这不是一篇我的心得,而仅仅是把我自己的这个问题摆出来,希望通过文字帮助梳理下。写和想有很大的不同,写出来后自己先读一遍,就好像新的想法跟自己对话,想法碰撞出新的思路,修改重新写,确实是一个帮助” 深层次 “思考、思考到底的好方法。下面的文字都是删改 N 次后留下的终的想法,相信后期回头来看时还会有不同的见解。一个 WordPress 网站建设 SEO 站群前端人员的感触!

自从踏入互联网开发的道路 (since 2013.3), 浩瀚,日新月异的开源技术让我这个有着学习计划强迫症的小白经常陷入这样的梦靥:计划多,实施少,学不完..

今天早上看了开源上的一篇博文您是否应该成为一名全栈工程师?

其中作者给了这样的建议:

如果想要向着全栈工程师的方向迈进,您应该掌握很多知识与技能,并且熟悉上面提到的各种组件。

此外,还要提升自己的个人沟通技能,这样才能管理并与 前端与后端开发者实现较好的协作。

好信息是未来对于每一类 Web 开发者来说都是光明的,无论是前端、后端,还是全栈。

要坚持学习一切有价值的东西;掌握新的框架、语言与平台;并且与开发者同事及终多用户保持高效的沟通。

在这种情况下,无论世界发生什么变化,您都会始终立于不败之地。

OK, 学不完的互联网技术是毋庸置疑的了,那我应该怎么做?

个人专案/团队专案 – 专案定位

程序设计师圈里经常讨论的” 全栈工程师 “,在我看来,先要有个前提条件,” 为什么 “要做全栈?

(个人) 纯粹为了学习实践互联网 [流行的新技术],那这个” 全栈工程师 “真的很难,要付出很大的时间和精力才跟得上这” 潮流 “, 基础技能 List:

Linux/Git/Pip/Npm/Composer…

Apache/Nginx

Mysql/MongoDb/Redis..

PHP/Python/NodeJS

Javascript/jQuery/ExpressJS/AngularJS/ReactJs…

HTML/HTML5

CSS/CSS3/SAAS

浏览器开发工具与侦错程序

(个人) 为了实现某个专案 (假设只是个网站),那很容易,根据专案型别和您自己的技能情况确定架构,定” 一个栈 “即可

LAMP+Bootstrap 重后端轻前端

Linux/Git/Pip/Composer…

Apache/Nginx

Mysql

PHP/Python

一天入门 Bootstrap 库

MEAN+ThinkPHP 重前端轻后端

Linux/Git/Pip/Npm…

MongoDb/Redis..

NodeJS/PHP

Javascript/jQuery/ExpressJS/AngularJS/ReactJs…

HTML/HTML5

CSS/CSS3/SAAS

浏览器开发工具与侦错程序

一天入门 ThinkPHP 框架

(团队) 就是一个商业化的成熟专案,前后端都很重

前端工程师 [深入] 挖掘潮流的前端工具和库,对前端高效能负责; 根据自身专案业务搭建自己的前端框架

笔者能力有限,就不列清单了

后端工程师 [深入] 研究高并发大流量以及资料效能,对后端高效能负责; 根据自身专案业务搭建自己的后端框架

笔者能力有限,就不列清单了

注意,上面列出的都是” 基础技能 “List,要是商业化的大型专案,清单长度和技能深度都要翻个番;
当然,大型专案中,每个工程师每天做的工作其实都只是专案中的一块业务,比如支付,那他还要去研究各个支付渠道的 api

因此,要搞清楚自己目前的工作状况、专案状况、业务状况,给自己在团队/专案中定好位。

OK,我目前的定位是…

如果定不出来,每天的学习列表都完不成,那就理所当然了

因为您的目标是凌乱的,一会想实现自己的某个想法,一会想着公司的某块业务,一会想着朋友让帮忙做的网站..

前端? 后端? 全栈? – 技能定位

技能定位,能在很大程度上砍掉学习清单上的一部分(我认为是小于 50% 的)

比如定位了前端,就不要去过多深究 Nginx,PHP..

反之定位了后端,就不要去深究 AngulaJS,Backbone..

定位全栈…

我也说说全栈工程师

全栈工程师的流行,在我的认知里,主要有以下几方面促进因素:

NodeJS 生态的流行让一部分前端工程师 (尤其是后端通过掌握了 Node 转前端) 自然定位自己为全栈

Bootstrap 等非常强大的前端 UI 库让后端工程师很容易搭建起一个 Web 系统

目前互联网创业风行,大多数创业公司在初期专案开发阶段,都会希望有一个全栈开发工程师坐镇以节约人力成本

前后端的分家,很大程度上我认为是因为 “前端” 分了出去,并在当今多用户体验至上的环境中占着跟” 后端” 同等重要的地位。但另一方面,随着日新月异的技术发展,随着运维复杂度的提升,服务与框架都拥有自身的特性, 一个人很难掌握所有的技能。
有几年经验的前端,或者后端,从某一方面讲,都可以自称 “全栈”,但从更严格的方面,很少有人能真正做到” 与时俱进 “的” 全栈 “

还记得开始带我入门的一个后端开发跟我说过:样式/特效都没必要研究,别人一个 wget 就都拿到了,专心搞后端吧。
那是 13 年初,前端应该还没有特别火,不像现在各种招聘 H5,H5,H5…所以,可以理解,当时后端会鄙视前端。但是现在,您还敢吗?
前端工程师无论在就业难度还是薪资方面,都压了后端一点点。。

说道鄙视 “前端”,还有一种 “伪前端 “现象:在前端工程师人才缺口大的情况下,许多美工 UI/刚毕业参加了培训班的,直接应聘做了” 前端 “; 不懂 linux,不懂 node,不懂 sass 的前端,说实话在二线城市如武汉,真的一抓一大把。

扯了这么多,如果还是要定位” 全栈 “(专指下面这一种),那就要做好每天增加 3 个小时学习时间的准备吧。。。

(个人) 纯粹为了学习实践互联网 [流行的新技术],那这个” 全栈工程师 “真的很难,要付出很大的时间和精力才跟得上这” 潮流 “, 基础技能 List:

OK,我目前的定位是:别折腾,做一个安安静静的美后端吧..

坚定不移的几个原则

这几年的教训,我想也是宝贵的,在今后更是要坚定不移的遵循:

think your own way, 程序设计师还是要有自己的程序设计思想

write more, 好的作家都不会惜字如金吧

run code up, 而不仅仅是敲出来

show me your project, 实践实践再实践,没有什么方式比参与一个具体的专案更能检验学习的有效性

resolve it now, 遇到问题现在就解决!不能拖!不能拖!不能拖!

学习的任何语言/框架/库,都要有一个”project” 为载体;

WordPress 网站建设认为:无论是因为想要 GET 这个技能而想出的一个 Project,还是因为有一个 IDEA 而去学习支撑 Project 的各种技能,都是 OK 的。