职场求生攻略
臧萌
PayPal 数据处理组技术负责人,《Java 入门 1 2 3》作者
11259 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
结束语 (1讲)
职场求生攻略
15
15
1.0x
00:00/00:00
登录|注册

29 | 加班:加班逃不过,如何用正确姿势加班?

你好,我是臧萌。咱们程序员,尤其是互联网行业的程序员,都基本逃不过加班这件事。加班的原因,我总结了三个:任务太多,有紧急的事情以及强制加班。今天我就根据不同的加班原因,来仔细和你聊聊加班这档子事儿。

任务太多

首先就是任务太多,事情做不完。大部分情况下,造成工作任务繁重的原因,都是一些现实因素。
比如说系统的架构,已经不能够高效地应对现在的业务,每次增加新的业务用例都很繁琐,而且容易出错。又比如公司里各种系统都不好用,工作中用到这些系统,就费时费力,还可能来来回回折腾很多次。这些现实情况,让本来听上去没太大工作量的工作,实际做起来要用的时间却会多很多。

提高自己的效率

如何应对这种情况呢?我们要去思考这些让自己效率低下的原因。为什么会效率低下?根据我的观察和切身体验,其实很多时候,加班并没有让自己的产出更多。程序员的产出是不能用代码量来衡量的。
如果非要衡量的话,可以用代码完成的功能这个维度来简单衡量。很多时候我们加班,并不是完成了更多的工作,而是用更长的时间,去完成自己本应该用作时间就可以完成的工作。这就是效率低。
回到增加业务用例的情况,我们可以问自己这样一个问题:如果系统重新设计重新做,是否可以让增加业务用例的时间大大缩短?如果是的话,现有系统架构陈旧就是效率低的原因。再看工具的问题,你能不能找到一个合适的工具,让系统更加简单自动化?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

程序员加班是常见现象,本文从任务过多、紧急事件和强制加班三个角度探讨了加班原因及应对方法。对于任务过多,作者建议提高工作效率,选择合适工具或重构系统,以缩短完成工作时间。对于紧急事件,作者认为是技能提升的机会,建议防患于未然,增强监控,避免周五上线等。对于强制加班,作者建议遵守公司默认上下班时间,利用公司环境专注学习新技术或探索技术应用。总之,文章通过实际案例和建议,为程序员提供了应对加班的思路和方法。 文章提到程序员加班的原因及应对方法,强调了提高工作效率、技能提升和利用加班时间的重要性。作者建议程序员在面对任务过多时,应该寻求提高工作效率的方法,如选择合适工具或重构系统,以缩短完成工作时间。对于紧急事件,作者认为是技能提升的机会,建议防患于未然,增强监控,避免周五上线等。而对于强制加班,作者建议遵守公司默认上下班时间,利用公司环境专注学习新技术或探索技术应用。这些建议旨在帮助程序员更好地应对加班情况,提高工作效率,同时利用加班时间进行个人技能提升。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《职场求生攻略》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • sugar
    这篇谈及了软件工程师这个职位很大的一个痛点,加班问题。但是感觉老师可能是受限于种种约束,一个很关键的点没讲透。加班的非常普遍的一个原因:项目排期不准确。软件工程师打交道的东西是软件,而软件的开发存在诸多不确定性因素。不同于传统的工业制造,你问一个车间的工人这批零件什么时候能出来,经验足够的工人能给出非常接近准确的时间,小时级别甚至分钟级别都不是没可能,因为整个工序每个流程都是清楚的,之前都做过;软件的开发大不相同,事实上在我从业的职业生涯中,我很少做“重复”的事,如果一个SE(software engineer)总做重复的事,他的薪资一定很低甚至面临被淘汰的风险。这是SE本身的职场定位和精进目标所决定的,却也造成我们往往很难在项目开始之前对项目工期进行准确的预估。为什么会给出这么不准确的排期坑自己呢?(当然有些团队里,担任team leader的人会替别人排期)对这个问题的答案,我曾经迷信于求助 学院派提出的“软件工程”方面的很多理论知识,像《人月神话》(放在当今国内而言,该改为人日神话比较贴切)这样的书里描写的那样。然而,如今随着工作年限和经历过的项目,我越来越怀疑为软件项目提前预估排期是否科学?单纯地,对一个项目进行整个项目时间上的预估,有可能吗?我目前的看法是,如果一个人跑来问你,xx这件事要做多久你给我个时间点,你可以在脑中把这句话翻译为:“你tm给我加班吧”。所以对这种人或这类问题,你真正该做的不是拍脑袋给出一个x天/x周的绝对时间(这是最蠢的回答,如果你的答案还牵涉到你组里的其他小兄弟一起加班,那你更蠢),而是该给出一个 y = k * x + b 或者其他更高级的函数,y是他想要的绝对时间值,要用后边的变量经过一系列计算得出。 变量是你作为一名软件工程师无法确定的东西,而软件工程师的职业素养和能力也不体现在直接给出准确的y值,而是体现在给出这个公式的准确性上面,这需要经验了。这样给出的答案,也有一个言外之意是:“我是名软件工程师,是打工者,我可以提供我的专业能力尽可能让排期确定化,但确定化 != 确定,这其中的不确定因素带来的风险,不该由打工者来承担”。现实生活中听到的措辞肯定不是这样直接、不讲情面的话语,但我反复观察很多有经验的架构师、项目经理,其实越是有经验的软件行业从业者,他就越是会遵循y=kx+b的方式给出排期,而非直接给你一个绝对时间。 不知老师怎么看?是否同意我的观点呢,我也想听听老师的经验。谢谢!

    作者回复: 问题问的非常好,必须写一篇FAQ来聊聊~ https://xie.infoq.cn/article/b169d74e5509171260c0841ed

    2020-07-24
    2
    15
  • 卡卡
    单身的时候我是不排斥加班的,即使是强制加班我也会看一些技术书籍和博客,因为公司的环境还是相对利于静下心学习的。结婚后明显对无效加班心底里感到抗拒,因为家庭需要时间去经营,毕竟除了工作还有生活!

    作者回复: 是的,加班对生活的影响还是很大的。所以要提高自己的工作效率,减少加班的可能。

    2020-07-22
    5
  • 老艮额
    其实我感觉还是程序员不理解技术和业务的关系,很多时候要从业务的全局看问题,而不是从技术的全局看问题。但话说回来,一个公司,技术+业务都很厉害的又有几个呢

    作者回复: 所以物以稀为贵

    2020-11-06
    2
  • 王智
    加班倒是没啥,但是最近公司这个制度有点想吐槽,暑假期间996接受了,日工作表也接受了,但是每天都要统计代码行数就很麻烦,又耗时又没有任何的意义。而且合同不到期提前离职加班时长清空,加班时长无法兑换工资,只能申请调休,但是调休又不能一次调多天,还得想理由,无力吐槽,默默的坐着想着我就是个打工的!!!!!!!

    作者回复: 这个制度确实有点过于僵化和形式了,而且对员工不大又好。

    2020-07-22
    2
    2
  • 源以南
    对于强制加班,但是又没什么事情的情况下可以尝试做一些创造性的事情,会更提现价值。

    作者回复: 是的,这其实也算是一种“双赢”,公司用点“小恩小惠”把人留住,人在公司闲着反正没事,做点事情自我提高。

    2020-11-11
    1
  • Sdylan
    加班对于哪个行业都比较常见,只是程序员这个行业加班不会按照加班工资给你算。所以出现很多问题,你的活没干完。其实加班要找到原因,到底是什么让你加班:是效率低还是被强制的。不要说什么996、007啥,哪些都是表象,实质到底怎么回事呢。 有了家庭以后,强制性加班我也没有管。虽然也想在公司学习技术,但家里娃早上出门看一眼,晚上回家已经睡了。心里不忍心呀。

    作者回复: 软件公司加班费确实不能按照工作时间给。就好像程序员的工作量不能用代码行数衡量一样。否则这个太好作弊了。所以这个事情没有什么好的解决方案,公司和员工在加班和加班费上肯定有一方会吃点亏。 强制加班还是弊大于利的。毕竟自己没有主动权,对生活的影响就比较大。

    2020-07-22
    3
    1
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部