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

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

3天内不再提示

程序员加班的意义

工程师人生 来源:简书网 作者:等风来_354c 2020-01-03 16:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在互联网行业工作过的,肯定都听过“加班汪”这个词。而对于一个开发人员来说,加班的概率比普通工作要更多,加班是互联网行业永远的痛,项目节点定下来后,为保证项目节奏,程序员们基本上陷入天昏地暗永无止境地加班中。

首先,假设这个程序员是一位职场新手甲。他刚大学毕业,没有工作经验。来自产品的需求,他要理解很久才能做。然后开发的过程中会遇到各种问题,如果经验不足以支撑他快速完成任务,那么只能求助于网络,书籍,熟人。如果这些都帮助不了他。他需要求助于同事。但是次数频繁,同事会厌倦于帮他解答;他也会羞于咨询。这时,他一天下来,基本都会卡在一个很简单的问题上。下班了,他还没有完成任务。没错,他需要加班了,因为他的编程能力非常差。

大概没有人会知道他是因为需要处理一个并非高科技的问题。不懂技术的上司以为他是个勤奋的员工,非常看重他。可是,这什么进度还是会这么慢呢?创业的公司可等不起。这一切,如果招到一个有经验的开发人员,这一切的加班似乎都不需要。

好吧,公司开除了这名程序员或者他因“个人原因”辞职了或者公司再招到一个相对有经验的程序员乙。当然,有经验的代价就是公司要付双倍的薪水。所有之前的需求在他这边都没有遇到过加班的情况。他是一名非常有经验的程序员,他在过去的二年时间一直在处理相关的开发工作。到这边来,所有的问题都是小意思。他的优秀表现让公司惊喜和意外,公司觉得即使再招十个之前的员工也比不过他一个人。所以,双倍的薪水又有什么呢?

一段时间后,公司开始提各种各样的需求,他终于开始加班了。加班不是因为某段时间需求的总量多了。而是因为随着公司的快速发展,需求也越来越多样化。他的知识储备不足以令他总能轻松应付。他变得和第一个程序员一样,也加班了。只不过加班的原因不一样,第一个程序员是因为一些代码的调试的原因,而这位有经验的程序员是因为一些从没听说过的技术。他的加班让公司同样对他很重视,甚至认为是一位好伙伴。

与此同时,公司在招他的时候也招进来了一名优秀的毕业生。他同样是一名没有经验的程序员,但是他有很好的学习能力。开发进度缓慢让产品人员和运营人员都难以接受。但是他总能在最后关头交付代码,尽管上线后需要修修补补。他经常加班来学习以便攻克技术难点,公司对加班的员工表示欢迎,因为没有人让他们加班,也不需要给他们加班费或者调休。公司为所有加班的人员提供良好的晚餐。他可以接大大小小的各种需求,只是,开发时间要比较长。但是他不会遇到那种代码调试不通过的简单的问题。相比程序员乙,程序员丙由于经常拖慢进度经常被产品和运营建议开除或者调岗。

可是后来,公司对他欣赏有加。原因有二:一是他终于可以用和程序员乙接近的时间来做任务;二是在程序员乙那里看似不可能的任务,程序员丙总能在最近关头给出解决方案和代码,只是时间比较长。产品和运营的观点发生了改变,向公司建议开除程序员乙。程序员丙是一个学习型的员工,时间让他有经验后,他成长成为一名更优秀的员工。

公司有过教训后,终于不惜花重金去请各种优秀的程序员。因为只要有一名这样的程序员,就可以少请许多败坏项目的程序员。于是,公司有了程序员丁。他在过去的一段时间里有着不错的工作经历,帮助过所在的公司完成了各种重大的项目解决了相当多的行业技术难点。他的到来为公司带来了很好的活力,所有之前遇到的问题都不复存在。他成为了所有程序员的主管。后来,他还是加班了。因为公司的良好发展,于是聘请了更多的产品和运营。开发团队忙不过来了,他作为主管要求大家一起加班。

为了缓解这种局面,他向公司申请增加程序员。公司答应了并再招了二各分别类似乙和丙的程序员,没错,公司不会再招聘类似甲的程序员。团队不需要加班了。

好景持续不长久,一段时间后,加班的情况再次出现了,因为竞争对手的努力,让产品和运营提出更多的需求。他发现产品和运营的需求源源不断地输入。可是有些需求可能用户永远用不到或者三天后就变化了。为了解决这种局面,他找来领导和各部门的负责人来商讨解决的办法。有人提出走敏捷开发。公司决定新成立一个小团队来做测试。于是公司每一个敏捷开发团队成立了。时间证明了,这个新团队终于可以不加班了。而对需求的完成总体让产品和运营满意。乐观的局面总不能持续很久,因为线上出了一个令用户急剧下降的bug。他们需要加班通宵,或者回退代码,或者修复这个bug。没有使用很好的版本回退办法,只能是一场恶梦。持续集成和自动发布加入到他们的团队。没错,程序员丁开始在团队里实施非常好的项目管理的方案。起码发新版后,非工作时间在线上出bug,任何有权限的人员都可以轻松地一键回退。剩下的,上班再说。

这就是我要讲的程序员为什么要加班的几个故事,欢迎各位补充。以后我也会补充更多的故事。其实所有的后面都不重要,我只希望各位创业者,在招聘程序员时,避免遇到程序员甲,争取找到程序员丁。作为开发人员的我们,也要努力成为程序员丁,保证自己的职场竞争力。还是那句话,软件开发不是高科技的东西,这世上并没有软件科学家一说。我们能做的是让开发更像一门艺术。

责任编辑:wv

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

    关注

    4

    文章

    955

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    堆和栈的区别

    程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
    的头像 发表于 11-27 18:13 903次阅读

    软通国际亮相2025沙中开源与AI科技峰会

    2025年11月11日,由沙特程序员协会(parmg)主办的"2025沙中开源与AI科技峰会"在利雅得盛大启幕。
    的头像 发表于 11-14 17:45 1282次阅读

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 426次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 474次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    计算机网络排错思路总结

    明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。
    的头像 发表于 04-01 17:32 647次阅读
    计算机网络排错思路总结

    如何在 树莓派 上编写和运行 C 语言程序

    ,一本很好的书是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。这本书对经验丰富的程序员和想学习C语
    的头像 发表于 03-25 09:28 938次阅读
    如何在 树莓派 上编写和运行 C 语言<b class='flag-5'>程序</b>?

    零基础入门:如何在树莓派上编写和运行Python程序

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1524次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    本文讨论了一位程序员利用树莓派、摄像头、Gemini和Python构建PeregrineEye设备,使其成为“数字导盲犬”为视障者服务的项目经历,包括项目灵感、功能、构建过程、遇到的挑战及未来计划等
    的头像 发表于 03-25 09:20 1692次阅读
    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    LDC1000 EVM GUI驱动无法安装,怎么解决?

    每次打开LDC1000 EVM GUI就会出现这个驱动没有安装,请问程序员怎么解决这个问题啊!!!
    发表于 01-17 06:15

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Code
    的头像 发表于 01-09 11:16 956次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    学习硬件的第一节课:学习读懂原理图

    学习硬件的第一节课:学习读懂原理图 读懂原理图对嵌入式软件工程师和程序员尤为重要。在深入细节之前请注意,对所有的嵌入式设计人员来说、能懂得硬件工程师创建和使用的来描述其硬件设计的原理图和符号是非
    的头像 发表于 12-16 16:04 3666次阅读
    学习硬件的第一节课:学习读懂原理图

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册