前言:本文是转载文,文章中的我指原作者
我在进Facebook之前在某知名大公司做过几年前端,但后端也做。我前端应该说非常精通了。
Facebook允许自己选组,我最后选了后端,主要原因是:
(1) 前端的确相对容易。换个全新的Framework,看20分钟教程,基本上心里有个数:基础理论都是一个思路,差不多的思维。有人跳出来说不是这样啊,前端技术也很深很多很难,我不否认,但事实就是:我刚进Facebook时Boot camp的UI小任务,全新语言陌生环境陌生产品,我大概一天不到就做出来并且checkin了,无他,我做惯了前端,照猫画虎可以完全在不懂语言、架构、code base的状态下,参考已有代码(纯靠text search)和Google,就能完成任务(并不代表我真懂)。
肯定有人说你来重新写一个什么什么再来吹牛不迟。这是个投资问题、分配问题,让我从头写一个,行啊,我也有信心,只不过钱得给足、时间得给足。换个角度想:重新写一个后端不是更难么?
(2)前端重要性相对下降。我哥们的著名名言:什么是后端?离开了前端都是后端。有人也可以分出来中端啊,business logic啊,其实我觉得都是文字游戏,实际意义并不大,每个project有侧重点,程序员的能力更多的是扩展和神速上手,什么端并不重要。
(3) 前端需求高,后端价格高。我哥们当时劝我千万不要继续做前端,最重要的一个理由就是:做前端,你肯定会混得舒服,但后面再跳槽,要不出价格来。
顺便给大家推荐一个裙,它的前面是 537,中间是631,最后就是 707。想要学习前端的小伙伴可以加入我们一起学习,互相帮助。群里每天晚上都有大神免费直播上课,如果不是想学习的小伙伴就不要加啦。
(4)后端复杂度越来越高,前端相对稳定。这个可以理解:什么大数据啊ML、DL啊都是关于data的,而前端就那么些button和fields,虽然也会相应变得复杂,但复杂度赶不上后端的复杂度变化。那么可以想象——后端的回报和需求,会进一步增加。
这个在美国(我想中国也是)还涉及到一个问题:因为前端相对稳定,所以建立新东西时developer会很舒服,但一旦稳定了,经常会外包给印度,或是裁员,或是组内因怕裁员而政治斗争严重。后端相对好些。我在之前的前端组几年,完美地经历了这个过程:干活——拼命干活——出成品——内斗——散伙。
这个问题是年经坑,总拿出来喷,其实没什么意思。
我的想法是:程序员是没有界限的,最好的情况就是:前端也能做,后端也能做,什么都涉猎。但涉及到经验和精力问题,所以我是觉得没必要过于纠结前后端,但也没必要认为自己只能做什么。理论上,只要公司工资给足、文化优良技术先进,自己快速学快速入手,当一个普通程序员就绰绰有余了。
但是如何当大牛,我是100%不懂。我个人的体会和直觉就是:公司的平台,远远重要于个人的选择;就是说,能进Top Tier的公司,要远远比选择前后端、哪门语言或是架构重要得多,尤其是相对菜鸟的程序员。所以管你什么技术,就靠内部少量资料、已有代码和Google,一天半天就开始出活先。
所以说,补充一点:我个人认为,由于IT更新神速、进步神速,什么技术都靠不住。传统认为“精通一门技术——进入好公司——卖个好价钱”的思路我觉得不是最靠谱的,相对收益更大的路线是“进入好公司——接触热门或是实用技术——工作中学习——跳槽——卖个好价钱”。我最大的体会是,公司的平台太重要了,个人再怎么看教程读书,不如上手做。
原文标题:前端程序员应该往全栈方向发展吗?还是坚守前端?
原作者:年树先生
来源:https://www.qdfuns.com/article/51117/5039897c51f1cadf72737906822cb11c.html
网友评论