首页»程序人生»Web开发学习之路是否有尽头

Web开发学习之路是否有尽头

来源:ganiks.me 发布时间:2016-01-21 阅读次数:

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

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

  自从踏入互联网开发的道路(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”为载体;

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

QQ群:WEB开发者官方群(515171538),验证消息:10000
微信群:加小编微信 849023636 邀请您加入,验证消息:10000
提示:更多精彩内容关注微信公众号:全栈开发者中心(fsder-com)
网友评论(共0条评论) 正在载入评论......
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共0条评论
登录会员中心
大发国际网址 麻江县| 游戏| 鲜城| 革吉县| 麻阳| 平遥县| 海晏县| 册亨县| 闻喜县| 乌恰县| 龙门县| 正镶白旗| 论坛| 青海省| 股票| 建水县| 城口县| 玉树县| 湘潭县| 枞阳县| 视频| 江永县| 上犹县| 宣武区| 宝应县| 乃东县| 抚顺县| 类乌齐县| 饶平县| 桃江县| 武乡县| 武冈市| 会宁县| 双峰县| 合川市| 大同市| 疏附县| 凤翔县| 临猗县| 克什克腾旗| 家居| 阿城市| 新和县| 花莲县| 都安| 堆龙德庆县| 淳安县| 云浮市| 时尚| 金山区| 昌吉市| 临安市| 南木林县| 镇原县| 松溪县| 靖江市| 昌黎县| 公主岭市| 阜南县| 忻州市| 大石桥市| 华亭县| 藁城市| 临高县| 望城县| 铜鼓县| 南平市| 东乡族自治县| 怀化市| 唐海县| 台中县| 平安县| 富顺县| 咸丰县| 石林| 静海县| 衡南县| 融水| 浦东新区| 大同县| 北川| 阿鲁科尔沁旗| 黄大仙区| 永和县| 鄂尔多斯市| 开封县| 霍城县| 卓尼县| 察雅县| 乳山市| 东乌珠穆沁旗| 措勤县| 宝清县| 镇远县| 天祝| 博乐市| 离岛区| 景东| 安阳县| 赣榆县| 屯昌县| 亚东县| 盐城市| 宣威市| 鹤壁市| 大悟县| 汉源县| 清水县| 罗甸县| 贡觉县| 资阳市| 芜湖县| 石阡县| 依安县| 南京市| 陆良县| 萨迦县| 吉水县| 大同市| 南溪县| 武清区| 德安县| 韶关市| 福建省| 怀化市| 开原市| 抚顺市| 大荔县| 色达县| 江西省| 安阳县| 开封市| 泰和县| 遂宁市| 漠河县| 常德市| 栖霞市|