0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全栈工程师的定义

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-01 09:30 次阅读

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

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

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

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

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

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

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

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

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

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

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

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

重新思考黑客这一角色

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

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

这里有一些指引:

每当你需要 Google 一些错误信息或问题,请阅读完所有答案,获取与问题相关的尽可能多的信息,不要只是满足于找到一个解决方法。

了解一项技术,也要知道在它的设计和开发之中所做的权衡。

扪心自问,如果你想成为一个「全面」的开发者,你需要什么(技能),写下你达成目标所需要走的路径。

做其他人不愿去做的事,去其他人不想去的地方,你终将从这些经历中获得启发。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1571

    浏览量

    68555
收藏 人收藏

    评论

    相关推荐

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题(一) Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师三者有什么区别? A:FPGA 算法工程师
    发表于 09-23 18:26

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    用二创,1:1复刻工程师的职场现状

    工程师
    扬兴科技
    发布于 :2024年07月19日 18:30:07

    嵌入式软件工程师和硬件工程师的区别?

    、机器人等。 定义和工作职责 嵌入式软件工程师的主要职责包括但不限于:设计、开发、测试和调试嵌入式软件应用程序,以满足特定硬件和软件要求。他们需要理解并掌握嵌入式系统的基本原理,熟悉相关硬件接口
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    OVP过压保护芯片:为何电子工程师需要它?功能、作用解析

    OVP过压保护芯片:为何电子工程师需要它?功能、作用解析
    的头像 发表于 03-06 10:27 6195次阅读
    OVP过压保护芯片:为何电子<b class='flag-5'>工程师</b>需要它?功能、作用<b class='flag-5'>全</b>解析

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩一个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49