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