也快成为前端2年了,经历了不少事情,最近终于萌生转后端的欲望。
客户端之伤
复杂的生产环境
web前端,也可以认为是客户端的一种,而且是情况最复杂的一种环境。
- 浏览器
- 浏览器内核,微软的IE/Edge内核,firefox内核,chrome的webkit/blink内核,safari的webkit内核
- 每种浏览器还有数不清的版本,比如IE6/7/8/9/10/11.
- 每种内核还被修改,衍生出无数的第三方版本,比如360安全浏览器,qq浏览器,猎豹等等
- 系统
- 安卓,Ios,Windows,WP,Linux,ChromeOS同一个浏览器在不同操作系统上的表现也不是完全一致。
- 系统版本,windows xp/7/8.1/10,osx10.9/10.10/10.11/10.12, 安卓4.x-7.x等等,同一款浏览器在不同版本的系统下也不完全一致。
- APP内置
- 手机/平板设备中的APP应用,也是内置了浏览器,那就更加千奇百怪了,限制更加多,API更加混乱。
技术更新快
技术更新快,既是好处也是坏处。
- 优点
- 老技术不用再去浪费时间学习了,可以直接学习新技术
- 追赶老前端人员的技术比较快速,甚至超越也不是那么困难
- 前期技术提升非常快速,收入也提升快速
- 缺点
- 出了新技术就必须马上学习,不然就惨遭淘汰,随着年龄的增大,学习效率逐步降低。
- 技术更新快,可沉淀的知识少,相比新人,竞争力不强
- 之前掌握的核心技术,突然被淘汰,你的价值随之降低,而且而且浪费的时间,精力都白费了,而且浪费你的脑容量,比如IE6浏览器的兼容性知识
有瓶颈的职业生涯
很难以接受的事实是,客户端开发人员都没有前途。
- 薪水:一般客户端开发人员,15k-20k基本上就登顶了,不在会涨了
- 升职:技术路线上的升职没有客户端什么事情,能成为技术组长已经很不错了。担任首席技术官,CTO,技术主管,架构师等等岗位的,基本上是清一色的后端开发
- 重要性:永远不是核心人员,不会成为一旦离职,公司就塌了的那种,老板会千方百计挽留你的那种人员。只有后端人员,特别是掌握数据的后端/运维人员,那才是核心中的核心(测试人员,也一样,不会是核心人员)
- 时间:最可怕的就是像前端这种岗位,到达巅峰,仅需一点点时间,快则1年,慢则3年。也就是很快可以达到瓶颈。现在我国,基本上职业生涯要长达40年,3年,那是十分之一都不到的时间,你就无职可升,无薪可涨。
- 求职:很尬尴的一件事,大量人员涌入前端行业,虽然我不认为那些跨专业,零基础的人员能竞争过我,但是经济学原理告诉我们,劣币逐良币。按照目前的前端形式,不仅仅求职人数众多,而且由于从卖方市场(求职者)变成了买方市场(公司),前端的平均薪资在下调,连中高级的前端目前也受到影响。而且参考IOS开发人员的案例,预计未来2-3年市场不会恢复。
出路
2015年开始学习前端,到今天,快2年了,我的技术快要登顶了,我的薪水也离触顶不远了。但是每天,有密密麻麻的新技术诞生,当然还有很多我听都没听过的新知识死去。每次学习新技术都是一次豪赌,赌对了,我可以继续保持我的巅峰,赌错了,那我就浪费了一段时间,浪费了精力,暂时性的落后一步,运气好的话,还能沉淀一定技术、理论。运气不好,那就真的是血本无归。
所以,寻找新的出路,势在必行。
选择node
继续程序员
大学学的计算机专业,毕业后做过一段时间的公司网管,后来又做了前端,现在如果不在从事IT行业,我都不知道我能去干什么。去干其它行业,我和刚刚毕业的大学生相比,没有什么优势。所以继续我的老本行才是王道,毕竟我积累了不少知识与行业经验。所以,程序员的道路继续走下去。
选择web后端
排除客户端开发
前文也说过了,客户端的种种缺点,所以IOS开发,pc软件开发等等一类的客户端开发,那是一点都不考虑,不然还不如继续做前端呢。
排除大数据
大数据现在异常火爆,衍生出来的人工智能也是火热异常。但是翻遍所有的招聘要求,基本上是以java/python为主,这两种语言,恰恰我都没有什么积累,不适合我走。(如果是安卓开发的话,转这个倒是不错)
选中web后端开发
服务器端其实能干的事情还有好多,但是我身为前端,和web后端打交道是最多的,相对来说,对web后端是最熟悉的。
nodejs就你了
web后端开发,语言好多,php、java、aspx、python、ruby、golang等等.但我选择node,自然是有原因的。
能找到工作
俗话说:学会文武艺,货与帝王家。有公司要,才能活下去。现在真的很幸福,以杭州为例,在2014年,使用node的公司不超过10家,2015年的时候,杭州大概有个二三十家公司在用node了。2016年有一百多家公司使用node了。随着前端的火爆,node的未来更加让人看好,就业压力不大。
javascript优势
前端,对js是非常熟悉的,学习nodejs,直接省去了掌握js的过程,而且在前端工具严重依赖node的年代,其实我们前端对node也并不是完全陌生,或多或少基本上都了解一些的。而且js一脉相承,连思想就完整的继承了,写nodejs,我们前端有天然优势。
一个都不少
nodejs虽然是较新的,但是有十几年的js打底,各种库比较齐全,而且有强大的社区支持,一切都一应俱全,比起其它语言,还有没有历史包袱的优势。
总结
好了,本文就到此为止了。我去研究node去了!
日志
2016年11月26日 创建