每天14个小时,为什么程序员总有加不完的班

每天14个小时,为什么程序员总有加不完的班

PART01

工作难以量化

我们先不考虑就业环境和赶项目进度等因素,仅从工作性质来分析。程序员的工作很难被量化。

如果从事过项目管理,便会对此有更深刻的理解。例如司机师傅,通过计算其今天跑的公里数、接单数量、工作小时数这几个维度,就能轻松统计出工作量。但对于程序员,该如何衡量其工作量呢?

国企性质的公司常以代码量衡量,这其实是政策制定者不了解开发工作本质,将传统行业思维带入此领域而产生的重大误区。依据奥卡斯姆剃刀原则,若 AB 两方案都能实现一个功能,那么更简短的方案更优。从可读性角度看,代码越短,抽象程度越高;从健壮性角度讲,代码越短越易于维护。

PART02

工作时长难以标准化

程序员工作的价值难以量化,工作时长同样也不行。收发 100 件快递,AB 两个员工所需时长大致相同,但对于同一开发需求,AB 两个开发者的工时却可能不同。A 可能对业务理解更深入,能又快又好地完成;B 可能因不熟悉,仅实现一个能用但不好用的方案。而且,员工理解能力存在差异,A 可能逻辑思维好,更适合底层架构、存储、流量调度、监控等工作;B 业务思维好,能更快理解业务期望的效果。这些能力随机组合,可能有全能型人才,也有能力都不足的员工。

这给管理带来极大困难。在传统行业,如快递打包,一个高效员工单位时间的工作量最多是普通员工的两三倍。但一个优秀的开发者,其产出能轻松超过十几个甚至几十个普通开发者。比如有些优秀的开发者能在两天内解决一个令公司技术部门卡壳两周的难题。另外,作为技术组长,不仅要解决组员无法解决的问题,还要协调好效率,让团队 1 + 1>2。组长依赖的工时数据通常是组员自己评估的,一旦组员漏评或误解甲方需求,就会返工,导致延期。为了按时交付,只能加班完成。

可见,即便排除一些因素,导致加班的原因仍然多种多样。遇到问题就要解决,抱怨环境、行业、公司和领导并无实际意义。作为一线员工,在自身能力范围内能解决的加班原因只有一个 —— 没有合理评估任务工时。

PART03

如何正确评估工时

1. 做好沟通

首先要了解业务,站在使用者角度思考,更清晰地理解甲方需求。制定方案后,与产品和甲方确认,若项目复杂,甚至连技术方案的时间细节都需与他们确认。相信我,这会事半功倍。

2. 做好评估

可通过时间记录评估自己完成类似工作的历史数据,以此来准确预测工时。

3. 有原则

在完成上述两步,约定好完成任务的时限和功能要求后,拒绝接受新的改动,尤其是上线前后。若有改动,重新排期,重复上述 1、2 两步。很多重大事故都是因看似无害的改动,来不及做完整测试就发布而导致的。而且程序员性格一般不会与产品、甲方正面冲突,程序员的拒绝容易被误解为 “你不做是不是你不会做?” 或 “你是不是偷懒不想改?” 此时要态度硬气些,后续工作会消除这些质疑。

最后希望大家都能按时下班。

厦门唐普信息技术

2014年成立,深耕IT行业十余年。通过CMMI5和高新技术企业双认证,致力于为人才与企业之间搭建服务平台,为企业提供灵活用工模式。为客户提供技术咨询、技术开发、项目实施、系统运维、培训、管理、服务、风控为一体的企业信息化整体解决方案。拥有1000+专业团队、80万+人才库,1 分钟快速响应用户需求,全面保障客户项目交付速度和质量。与建发、国贸、阳光电源、柳工、招商局、科大讯飞、锐捷网络、华谊集团等700多家企业客户建立长期稳定的合作关系。返回搜狐,查看更多

相关推荐