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

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

3天内不再提示

一位52岁的IT工程师的自述

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-18 15:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我老爸常对我说,「孩子,别太着急。慢点来,你完成工作的速度会更快。」

我曾在旧金山湾区的很多高科技创业公司工作过。现在已经有52岁,我编程的速度不快,却经过深思熟虑再开始。我就像是一个写代码的设计师;随着你的深入阅读,这一点将会变得非常显而易见。

最近,我和一些年轻的程序员一起做项目,他们信仰快速开发,迭代修改,这使得我缓慢的编程遇到了困难。这份工作,鼓励我们在同一个代码仓库里面工作,就好像是一大锅汤,如果我们一起不停的大力搅动,一个奇迹就会从中诞生。

实际上并不会

这帮程序员信仰“所有的工程师都是可以被取代的”这种谬论,因而没有人需要为这些代码的任何方面负责;任何一个程序员可以在任何时候,改变代码的任何部分。毕竟,我们有像Github 这样特别赞的服务,来管理和合并来自任意数量的程序员们提交的任意数量异步开发的代码。只要每个人都频繁的提交(commit),不破坏任何东西,那么所有的东西都会好好的。

扯犊子

你不能期许省略设计过程。这一过程在人类文明开始时就存在了。当下最新最灵巧的开发工具,不论它多么灵巧,也不能替代那些建造了大教堂、铁路和拍出长篇电影的最佳实践和现实中的合作。

任何编程都没能创造这样一个工具,可以减少软件开发的时间,让一群猴子以它们可以接受的速度来工作。

心律不齐

在这样一群信仰快速开发的程序员中,做一个我这样缓慢编程的程序员的代价,就是某种形式的心律不齐——因为我自己的编程节奏都被其他程序员那机枪似的迭代开发搞乱了。我的编程风格是这样,由一些不同尺寸和时间尺度的弧线组成,开始是时候是探索、试验和出错,使用一些hacks和临时变量。基本上是在做一些构建工作。程序初露端倪。稍后,我会回头去做些修改。最后结束的时候,是完整实现的代码(「打扫战场」是完成我这个工作循环的一个必要的部分)我编写代码的这一流程与策略、设计方案、架构的出现是同步的。

有时候,当一个成熟的方案出现后,我会回头重新开始。因为我觉得我会有更好的点子。有时候我错了,有时候我是对的。在一个方案完整的呈现在我面前之前,我是没有办法去知道对错的。

总之,先回到“一锅汤程序员”吧。问题是这样的:总体上,软件生态系统并没有停一停的意思——没有机会去引入设计过程,那么怎么能有人,而且是快速开发程序员,做出好的设计呢?

那些认为快速编程和慢速编程一样(除了速度以外)的程序员,他们并不理解设计过程。同样,神经学家现在认为,像流体一样穿过大脑的神经元放电会产生颞混响,这和思考,意识息息相关,好的设计是需要花费时间的。

慢速编程运动

维基百科记载:「慢速编程运动是慢速运动的一部分。这是一种软件开发哲学,强调仔细的设计,高质量的代码,软件测试 和思考。 尽量避免豆腐渣工程,垃圾代码和过快的软件发布。」

维基百科同时还这样描述「慢速软件开发」:「作为『敏捷开发』运动的一部分,世界上各个软件开发者团体期待更有预见性的项目,意在获得可持续的职业生涯,同时保持工作和生活的平衡。他们进行了诸如结对编程,代码审查和代码重构等实践。这产生了更多可靠的,健壮的软件」

在旧金山湾区,那些由风险投资支持着的软件开发,火急火燎地开在快车道上。

资金被投资在研发过程中的那些非自然的需求上,实际上应该把它留给设计演进过程中那些符合自然节奏的点。快,并不总是一件好事。实际上,放慢速度有时候意味着快。数字科技是如何侵占我们自然的节奏的,这一个主题在 Rushkoff 的Present Shock 中有所阐述。

还有一个问题:对科技近乎宗教般的痴迷——以及对工具的迷恋。人们想知道为什么软件很糟糕(没错,它很糟糕)。软件之所以这样糟糕,主要是因为纸上谈兵。快速开发的程序员会编写一些工具,来帮助他们使用其他的一些工具,他们利用这些工具来编写自己的代码。

这就是我为什么认为我们需要一些年长的人,女性、教育者和艺术家参与到软件开发中。更多人与人的交流,更少工具与人的交流。我指的不是做一些外围的工作,提供问询或是装饰UI。我的意思是深入内部——确保软件能够和用户产生共鸣。

我庆幸自己不是打字员

我的一位朋友是一个成熟的女程序员,她曾有过这样精彩的吐槽:「软件开发不是比谁打字快。」每个人都明白这一点,但是时常这样提醒自己也不是什么坏事。

Brendan Enrick讨论过这样的问题。实际上,程序员们不停地用手指在键盘上猛戳,就好像这种肢体活动是和编程同步的。但是实际上编程是这样一种行为,它把思考、设计、语言、逻辑和一些心理层面的东西变成某种可以存放在电脑内存中的形式。

我的夫人经常会走到小院里,问我:「你在编程吗?」通常情况下我的回答是「是的」。实际上我正在用钳子修剪枝叶,或是到处施肥。

植物、泥土和剪刀和编程有很大的关系,就像与键盘和发光的屏幕一样。

我们正在从工业时代和经济纪元过渡到一个可持续发展的年代。是的,新的软件和新的商业需要增长。但是需要具有可持续性,它们要慢慢的,有爱的增长。就像美酒,就像宝贝。

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

    关注

    59

    文章

    1601

    浏览量

    70678
  • 编程
    +关注

    关注

    90

    文章

    3709

    浏览量

    96826
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    电子发烧友工程师看!电子领域评职称,技术之路更扎实

    。比如一位电源工程师,评职称前主要做基础电源调试;评上 “高级电源工程师” 后,受邀参与电子发烧友 “电源技术研讨会” 做分享,还接到厂商委托的高功率密度电源开发项目,项目成果被平台推荐为 “年度技术
    发表于 08-20 13:53

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    【华秋DFM】V4.6正式上线:工程师的PCB设计“好搭子”来了!

    款软件,更 是每一位工程师背后的“隐形助手” 。从设计之初的风险排查,到制造阶段的成本控制,再到装配环节的细节优化,我们始终致力于为工程师们提供更专业、更智能、更贴心的服务。 未来,
    发表于 05-22 16:07

    (仰天长啸)为什么受伤的总是硬件工程师...#MDD#MDD辰达半导体 #电子工程师

    电子工程师
    MDD辰达半导体
    发布于 :2025年04月27日 18:21:47

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    一位老电子工程师的十年职场感悟

    这里主要以个人经历谈谈电子工程师技术生涯可能面临的困惑、关心的问题以及对未来的期待。Chrent新手感兴趣的问题1、电子工程师矛盾心态——电子新手新没事做,没人教,工作没有技术含量?电子新手往往
    的头像 发表于 03-19 17:32 730次阅读
    <b class='flag-5'>一位</b>老电子<b class='flag-5'>工程师</b>的十年职场感悟

    嵌入式软件工程师就业好不好?

    的发展机遇。 无年龄危机 嵌入式软件工程师需要跨学科学习、跨行业应用、多技能储备以及终身学习,这意味着他们直处于知识和技能的积累状态。 因此,嵌入式软件工程师不存在35的年龄危
    发表于 02-20 10:19

    笑死,掌握眼识别资深硬件工程师的诀窍了!# #电路知识 #电工 #硬核拆解

    硬件工程师
    MDD辰达半导体
    发布于 :2024年12月20日 17:48:17