为什么后端开发要了解前端技术——从独立电影到独立音乐人再到独立程序员

·  阅读 2477

引言:事情是这样的,前阵子互联网圈大裁员,本人所在公司也未幸免,随着团队人员骤减而需求未减反增的情况越发严重,作为部门共享资源的前端工程师也越发捉襟见肘起来。怎么办?这时公司提出了“向管理要效率”的口号。可问题是,管理并不能产生生产力,生产最终还得靠干活的人。莫非这口号错了?当然不是!相反这句话可谓一针见血。因为管理虽然不产生生产力但是它可以阻碍生产力啊!于是乎,作为一名基层管理者,我赶紧端正屁股,想到要写这么一篇文章。

  看完引言,你可能会想:废什么话,说到底还不是想让程序员付出更多吗?如果你真这么认为的,这篇文章或许你应该认真看完。

  简单说,本文想表达的观念是:程序员本不应该存在前端和后端这样的区分(之所以有区分是因为企业迷恋“分工细化会提高生产力”这个经济学理论),而应从个人职业发展的角度出发,要像电影人和音乐人那样,做一名不被束缚的独立程序员。

  下面让我们回到标题,展开说一说。

  所谓后端开发,就是写的代码主要运行在后台服务器端,其功能主要是接收前端请求、执行相关逻辑处理和数据库读写等操作。而前端开发,就是写的代码运行在前台客户端(通常就是浏览器端),其功能主要是进行界面渲染和与用户交互以及必要的数据校验等前台逻辑处理。

  由此可见,前后端的分离,其暗含的前提是,系统整体是一个C/S或B/S的架构(注意B/S是一种特殊的C/S)。作为后端工程师来说,多半会有一种莫名的自豪感,觉得自己比前端更牛一些。虽然这只是一种错觉,但我觉得维持这种错觉也没什么不好,只要你是真的牛。而真正牛的后端哪有不懂前端技术的?如果你的职业发展方向是架构师的话,我想这是你永远绕不开的话题。因为对一个系统而言,是前端和后端合在一起才构成了系统整体架构

  任何一个行业,但凡能靠近大师级水平的,一定是对本行业全局有着综合了解,且具备独立完成全部工作能力的人。让我们回到本文的副标题,来看看电影和音乐这两个行当的案例。

  很久之前看过贾樟柯的《小武》这部电影,不得不说我对此类电影有种莫名的喜爱。于是乎,本着追本溯源的精神,我便了解了一下这部电影的一些背景知识,从此知道了“独立电影”这个概念。所谓独立电影,是指电影人为摆脱电影公司的控制,自筹资金,甚至自己编写剧本,自己担任导演,拍摄出与商业电影截然不同的思想性很强的一类电影。可见,独立电影对电影人有着相比商业电影更高的专业要求。

  无独有偶,后来看过鲁豫采访许巍的一个节目,其中许巍谈到自我定位时,并没有说要做什么摇滚歌手民谣歌手之类的话,反倒是很认真地说自己想做的是独立音乐人。于是乎,我又对独立音乐人搜索了解了一番。所谓独立音乐人,是指没有和任何唱片公司签约的音乐人,自己作词、作曲、录歌,自己宣传。可见,独立音乐对音乐人的专业要求相对来说也是更高更全面的。

  同为手艺人,既然搞电影的和搞音乐的能独立,何况我们搞程序的?于是乎我搜索了独立程序员和独立开发者,发现这个身份还是很难混的。甚至对于什么是独立程序员这个概念似乎也没形成统一明确的认识。但意思多半也差不多。简单理解,独立程序员就是能独立开发一款程序或一个系统的开发者。

  回到正题来,事实上这些年前端技术的发展可谓日新月异。大概5年前,我因为同今天类似的原因,在工作中引入了当时还不那么流行的vue框架,起初是想解决系统前后端代码严重耦合的问题,借用vue进行了前后端分离,并实现前端工程化开发,意外的是竟然还培养了一名优秀的前端工程师(当然更多是靠他自学,虽然他后来跳槽去了阿里,但是我们也实现了向阿里反向输送人才的sao操作不是吗^)^)。由此可见,一个优秀的后端开发是不应该拒绝学习前端技术的,而一个优秀的程序员一定是前后通吃的。

  最后我想说,前后分离的职业设置对企业而言或许没有错,术业有专攻嘛,为了提高效率这无可厚非。但对程序员而言,我们不应束缚于此,坚持做T型人才应是我们的原则,而打造T型甚至π型团队应是每个技术管理者义不容辞的责任。同时,上纲上线地说,我们要对“让开发者能专注于业务逻辑实现”这样充满狂妄、自负和阶级性的言论保持高度警惕。如果你是一个热爱自己专业的人,你应该为维护自己专业的独立性而不懈奋斗,而不是落入企业制度的陷阱,自我设限。

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿

分类:
代码人生
标签:
收藏成功!
已添加到「」, 点击更改