「全栈开发」在就业市场的真正含义

大约在 2013 年,“全栈开发”这个词开始出现在招聘描述和博文之中。很多公司也意识到,雇用一个仅仅精通一种语言的开发者已经不能满足需求了。一个能处理各种任务和环境的 Web 开发者相当有用,这也开始成为了(公司人才招聘)的规范。

尽管如此,网络架构知识并未普及。很多开发人员虽然做过网站建设,却对“幕后”知识并没有很好地领会,(比如)Web 表单、高速缓存、HTTP 协议、Apache 等。这些(知识)都是次要掌握的。

在线学习对就业市场的影响

大概是受几年前开始兴起的在线学习的影响,自学的 web 开发人员对于底层技术的了解少的惊人。面向编程语言的课程不能全面覆盖 web 的知识,导致学生完全不知道 htaccess 文件是做什么的,或者怎样去重启 Unix 的守护进程,或者不同类型的 POST 编码是如何 工作的。

那么,一个全栈开发人员都应该知道一些什么(知识)呢?在工作描述中提及的通常是前端和后端技术的结合,像是JavaScript 和 Node、PHP 和 jQuery、Angular 和 Spring 等等。其实,在这个范围以外,还有相当多的信息可以提升个人建站的能力。那些固步自封,仅凭单一技术就能做出一番事业的日子已经一去不复返了。

descarga

如果只坚守你(所掌握的技术)已经不再能满足需求,那我们要怎么办呢,我们如何才能跟上 web 库以指数形式在增长的速度?如今,已推出的软件实在太多了,导致了技术间组合的可能性也在急速增加。这种组合的爆发将会把软件开发推向一个特别的领域。你所了解的使用技术 Y 和 Z 来解决问题 X 的几率在逐渐减小,而且 Google 可以为你提供的帮助也在以同等速率降低。这些做法很快就要行不通了。

黑客(Hacker):“反脆弱性”的程序员

被誉为“编程界的摇滚明星”的 John Carmack 的文章中介绍了这个非常有趣的概念(反脆弱性)。我节选了《反脆弱性(Antifragile)》这本书中的一段,它是这样描述的:

“就像人的骨头在施以压力时会变得更加强壮,流言和骚乱越是试图掩盖反而越会加剧一样,生活中的很多事会得益于压力,失序,波动和混乱。 塔雷伯所称的“反脆弱性(antifragile)”的意思就是,不但要从混乱中有所收获,而且还需要(依靠)它来生存和繁荣”。(译注:塔雷伯,知名思想家,经验主义者,金融业人士,风险工程学教授、哲学随笔作家,以《黑天鹅效应》一书闻名于世。来源:维基百科)

13530973

这个想法反映了曾被叫做“黑客”的这样一些人的态度。现如今,这个词有了负面含义,但是在早些时候,它指的是对科技抱有某种态度的一类人。正如在行话中定义的那样,黑客是“享受探索可编程系统的细枝末节和不断延伸自己能力的一类人,他们与大多数只按照最低需求来学习的用户完全相反。”

曾经有一段时间,当你有问题的时候去 Stack Overflow 查找是找不到解决办法的,很多软件即使有文档也都不可读。我记得小时候曾试图修复一个声卡,当我阅读这个声卡的手册时,只找到了汇编代码和中断代码。这是黑客蓬勃发展的环境,这也是我们迟早要回归的(环境)。当你想解决一个涉及到多种技术的复杂问题,你的第一反应是去 Google 搜索,那你就应该重新考虑一下你的工作习惯了。

确实,很多时候好奇心太盛会把你指向错误的道路上去,尤其是在这种时间永远不够的企业环境中。比如,在学习一个新的库的时候,用它来写一些基本用例会使你大有启发。但是想要讨老板欢心的程序员会选择更实在的途径,即从文档中直接复制实例,其实完全不知道它(这个库)的工作原理。作为开发人员来提供(自身)价值,需要一定的时间管理和期望设置的技能,为的是让你可以探索你需要的知识,从长远上节约公司的成本。

重新思考黑客这一角色

如何去找到黑客?你需要寻找这样一些人,他们有我所描述的特定的心态,独特的好奇心和坚持(的品质)。无关分析能力,也无关是否能记住一系列特定的学术算法,所以,在白板上徒手写算法的这种考察方式是行不通的,考察其费米估算的能力似乎也不是那么行之有效(也不能合理猜测出这个人是否是一个黑客)。(你可以)问一个候选人他在空闲时间都喜欢做什么,或是他会把什么有趣的项目作为爱好,你可能会有所发现。我见过很多程序员,他们在业余时间不喜欢写代码,这已经非常可靠地显示出他们是水平欠佳(低于平均水平)的程序员。

如果你是一个开发人员,你可能会担心自己没有那种动力或好奇心,那么对此你能做些什么呢?

这里有一些指引:

  • 每当你需要 Google 一些错误信息或问题,请阅读完所有答案,获取与问题相关的尽可能多的信息,不要只是满足于找到一个解决方法。
  • 了解一项技术,也要知道在它的设计和开发之中所做的权衡
  • 扪心自问,如果你想成为一个「全面」的开发者,你需要什么(技能),写下你达成目标所需要走的路径
  • 做其他人不愿去做的事,去其他人不想去的地方,你终将从这些经历中获得启发。

软件开发领域正在飞速发展,学习编程也变得前所未有的容易。我们将会生活在一个适者生存的环境之中。但最后的成功者不会是第一个学会(使用)酷炫的新框架的人,而是那个思考这个框架新在哪里,(与从前的框架)有什么不同之处的那个人。如果你想跟上技术栈的更新的步伐,那就要停止对不能跟上时代的担心,开始像黑客一样去探索吧。

打赏支持我翻译更多好文章,谢谢!

打赏译者

打赏支持我翻译更多好文章,谢谢!

4 8 收藏 5 评论

关于作者:刘唱

数据挖掘研究生 个人主页 · 我的文章 · 37 ·    

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部