职场求生攻略
臧萌
PayPal 数据处理组技术负责人,《Java 入门 1 2 3》作者
立即订阅
1473 人已学习
课程目录
已更新 31 讲 / 共 33 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 学会如何工作,和学习技术同等重要
免费
职业素养篇 (6讲)
01丨优先级:工作中那么多事情,我要如何安排优先级?
02丨沟通:邮件那么重要,你还在轻视邮件吗?
03丨沟通:程序员为什么应该爱上交流?
04丨主观能动性:为什么程序员,需要发挥主观能动性?
05丨责任的边界:程序员的职责范围仅仅只是被安排的任务吗?
06 | 职业素养篇热点问题答疑
职业选择篇 (10讲)
07 | 职业规划:如何选择一个公司?
08丨管理者关系:怎么才叫“跟对人”?
09丨管理者关系:跟对人和做对事哪个更重要?
10丨职业规划: 跳槽之前你想清楚这些事情了吗?
11丨面试:如何准备简历和面试?
12丨外包:外包不也是写程序吗?有什么不一样的?
13 | 外派:大家都在一个办公室工作,有什么不一样?
14 | 职业规划 :转管理是程序员的终极选择吗?
15 | 职业规划 :程序员加入创业公司,这些事情你想清楚了吗?
16 | 答疑篇:为啥你工作八年,只抵别人一年?
职场情商篇 (5讲)
17 | 升职:看着周围的人都升职了,我什么时候才能升职?
18 | 职场政治:我只想好好干活,职场政治和我有什么关系?
19 | 职场政治:面对公司自上而下的技术更新,我该怎么办?
20 | 沟通技巧:如何跟自己的同事请教问题?
21 | 答疑篇:想升职,我该准备些什么?
技术成长篇 (6讲)
22 | 学习观:程序员如何定义自己的技术舒适区?
23丨技术观:做程序员,技术观为何如此重要?
24丨技术观:程序员在技术的成长之路上,有哪些陷阱?
25 | 系统架构:如何从写代码的程序员,成长为软件系统架构师?
26 | 系统集成:为什么最容易出问题的是系统集成?
27 | 答疑篇:什么样的技术观能够更快成长?
加餐 (3讲)
28 | 沟通原则:什么时候应该妥协,什么时候应该坚持?
29 | 加班:加班逃不过,如何用正确姿势加班?
30 | 焦虑:程序员怎样才能越干越给力?
职场求生攻略
15
15
1.0x
00:00/00:00
登录|注册

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

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

任务太多

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

提高自己的效率

如何应对这种情况呢?我们要去思考这些让自己效率低下的原因。为什么会效率低下?根据我的观察和切身体验,其实很多时候,加班并没有让自己的产出更多。程序员的产出是不能用代码量来衡量的。
如果非要衡量的话,可以用代码完成的功能这个维度来简单衡量。很多时候我们加班,并不是完成了更多的工作,而是用更长的时间,去完成自己本应该用作时间就可以完成的工作。这就是效率低。
回到增加业务用例的情况,我们可以问自己这样一个问题:如果系统重新设计重新做,是否可以让增加业务用例的时间大大缩短?如果是的话,现有系统架构陈旧就是效率低的原因。再看工具的问题,你能不能找到一个合适的工具,让系统更加简单自动化?
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《职场求生攻略》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(4)

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

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

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

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

    2020-07-22
    2
  • Sdylan
    加班对于哪个行业都比较常见,只是程序员这个行业加班不会按照加班工资给你算。所以出现很多问题,你的活没干完。其实加班要找到原因,到底是什么让你加班:是效率低还是被强制的。不要说什么996、007啥,哪些都是表象,实质到底怎么回事呢。

    有了家庭以后,强制性加班我也没有管。虽然也想在公司学习技术,但家里娃早上出门看一眼,晚上回家已经睡了。心里不忍心呀。

    作者回复:
    软件公司加班费确实不能按照工作时间给。就好像程序员的工作量不能用代码行数衡量一样。否则这个太好作弊了。所以这个事情没有什么好的解决方案,公司和员工在加班和加班费上肯定有一方会吃点亏。

    强制加班还是弊大于利的。毕竟自己没有主动权,对生活的影响就比较大。

    2020-07-22
    2
    1
收起评论
4
返回
顶部