`

你为什么薪水那么低(二):生产力

阅读更多

 

在上一篇文章中提到,升薪的关键在于『你可以做别人做不了的事』。

程序员,就是整天与机器打交道的那群人。 在计算机并不普及的年代,这样的描述毫无疑问。

然而,这些年来,得益于计算机成本的不断下降,软件使用门槛的不断降低, 如今,昔日昂贵而又神秘不可莫测电脑,已经成了随处可见、人人能用的办公器材。 一句话:人机交互,不再是程序员的专利

大家都可以用电脑干活,只不过,程序员用电脑写程序,其他人用电脑干其它事。

结果,普通人抱怨的问题,程序员也在抱怨:电脑不够聪明,不够智能,效率太低……

可是,电脑真的进化到了对程序员和普通用户“一视同仁”的地步吗?

我不由得想起,上个世纪80年代,温伯格在《技术领导之路》中提出的疑问:

(开办技术领导力学习班)也让我们产生怀疑,技术在当今社会扮演了重要的角色,我们的学习班,是否赋予了某些人太多的力量?

细细想来,当年,IT技术那么高深,只有少数人能够接触,因而程序员“理所当然”地借助了IT的东风,具有超常的力量。 可是如今呢?与常人无异的程序员(或者说,IT 技术人员),他们身上让人担心的“太大的”力量, 到底是被淘汰了,还是没有发挥出来?

对这个问题,不同的人或许有不同的看法。不过,读过 The Productive Programmer(中文版《卓有成效的程序员》)的人, 多半会选择后一个答案——程序员的实力还没有发挥出来。

The Productive Programmer 是一本奇特的书,它的 Productive(也就是“生产力”), 与新的语言、新的框架、新的系统完全无关,而是另辟蹊径:它只是提醒读者,作为程序员, 你与普通用户是不同的:其它人只是简单地“启动”程序,而你完全可以动用自己的专业知识, “驱使/调度”那些程序

这样的机会,普通用户想不到,也不愿意抓住,但是抓住它们,你的生产率就会成倍上升。 所以,这本书叫做 The Productive Programmer,而不是 The Productive Computer-User。

薄薄的一本书(英文版224页,中文版215页),共分16章,兼顾概念和实践两个方面, 既介绍了加速、专注、自动化等等提高生产率的“先进”思维观念 (譬如多用键盘少用鼠标消除干扰集中精力), 也给出了在设计、分析、构造、元编程、多语言编程等等多种任务中贯彻前述思想的若干实例 (譬如 用全面测试保证质量选用最省事的方式/语言完成任务),可以说是“麻雀虽小,五脏俱全”了。

不过,看完整本书,我最深刻的印象还是贯彻全书的思想。 说白了,就是尽量让机器做机器该做的事情,让程序和程序打交道, 发挥程序员在这方面的先天优势——他人眼中的普通工具,是程序员手里的有利武器

不信,你可以想想,虽然如今人机交互的难度已经大大下降,然而程序终究是程序,程序跟人打交道, 与程序跟程序打交道,效率差的不是一星半点:

  • 不用宏,你可能需要一次又一次地重复选择、修改、保存;
  • 不用脚本,你可能需要一次又一次地点击、配置、等待;
  • 不用自动化测试,你可能需要一遍又一遍地运行、调试;
  • 不用管道,你可能需要一次又一次地生成、删除中间文件;
  • ……

The Productive Programmer则会“教导”你:

  • 多用宏吧,启动它,你就可以迅速完成大量重复的工作;
  • 多用脚本吧,你可以提高运行的效率,避免变数和误差;
  • 多用自动化测试吧,你可以迅速定位问题,保证质量;
  • 多用管道吧,这样多个程序就可以“无缝结合”成一条生产线;
  • ……

没错,学习宏、脚本、自动化测试、管道(Shell),不是“容易”的事情。 但别忘了,身为技术人员,了解技术,学习技术,运用技术,正是你的职业, 你的优势,也是你的责任,你的生产力(所谓productive)所在

随便举个例子吧,在本书中文版的第196页有这么一段话:

……在我刚才提到的例子中,开发人员用了1小时58分建立正确的语法,然后用了不足两分钟运行。 在一些未曾培训过的人眼里,他的大多数时间都没有效率(这就是为什么他们反对使用正则表达式的原因), 但最后,他节省的是几天的时间!……

我还要补充的是,解决好这样的问题,“现在”能节省几天的时间,将来,更可以节省无穷无尽的时间! 就我的开发经历来说,平时多注重这样的细节,做些 “没效率”的事情, 积累起来,就可以节省大量的时间和精力——至少至少, 你不会抱怨,自己终日被一大堆“简单重复劳动”所困扰。

类似的例子,在书中随处可见,譬如作者讲到

几乎每个 nix 用户,都会有自己的 shell alias

真是于我心有戚戚焉:我自己积累了一大堆 alias,喜欢用 grep –color 把要找的内容标成高亮, 也喜欢在统计脚本里用不同的颜色标注不同的状态…… 在 Shell 下干活,更加简单、利索,一目了然,这种流畅和效率,也可算专属于程序员的宝贵财富

当然,也有读者会觉得很烦:作者几乎讲一个很小的例子,几乎都要强调一遍: “简单重复劳动是低效的(程序员不应该这么干)”。

不过,我丝毫没有觉得罗嗦,反而因此喜欢上这本一个下午就能看完的“轻量级”小书: 阅读它,你并不需要太多的期望,权当一次愉快的思维体操吧——你会发现, 专属于自己的高效率,就来自书中提到的点点滴滴。

23
10
分享到:
评论
7 楼 guji528 2012-10-23  
在项目维护阶段,每天都要对用户使用情况进行跟踪出报表,前两天要用大半天才统计完的数据,后来最多就两个小时搞完,这些都是脚本的威力(包括ftp取日志、搜索截取主要信息,统计等),即自动化代替手工操作
6 楼 guji528 2012-10-23  
在项目维护阶段,每天都要对用户使用情况进行跟踪出报表,前两天要用大半天才统计完的数据,后来最多就两个小时搞完,这些都是脚本的威力(包括ftp取日志、搜索截取主要信息,统计等),即自动化代替手工操作
5 楼 coffeescript 2012-10-22  
jinnianshilongnian 写道
nodejs 写道
justjavac大牛写的,必须顶啊。

尽量让机器做机器该做的事情,让程序和程序打交道

嗯,机器能做的还是机器做吧

+1
4 楼 jinnianshilongnian 2012-10-22  
nodejs 写道
justjavac大牛写的,必须顶啊。

尽量让机器做机器该做的事情,让程序和程序打交道

嗯,机器能做的还是机器做吧
3 楼 长脖鹿 2012-10-22  
惭愧,身为一个菜鸟的我完全没有一个菜鸟的自觉性~
2 楼 iranw 2012-10-22  
“生产力”   这个词应该对大牛、大神级人物更具效率
但是如果你是一个初级、甚至是中级程序员。还是实实在在用最笨的方法写程序(无所谓在乎什么快捷键呀/多键盘少鼠标的),因为这样,你更能熟记代码。

当然,如果你进入一个公司,肯定是以生产力为主。但是在生产力之余。作为程序员的我们应该多思考,多钻牛角尖。

当技术到了成熟的地步,生产力自然ok
1 楼 nodejs 2012-10-22  
justjavac大牛写的,必须顶啊。

尽量让机器做机器该做的事情,让程序和程序打交道
0 楼 artdialog 2012-10-22  
我太不合格了。

相关推荐

    省份新质生产力水平测算劳动生产率就业结构知识积累上市公司企业新质生产力测度高学历

    省份新质生产力水平测算劳动生产率就业结构知识积累上市公司企业新质生产力测度高学历 人员占比研发租赁费直接投入薪酬占比 省份新质生产力水平测算劳动生产率就业结构知识 积累上市公司企业新质生产力测度高学历...

    人工智能对生产力和薪酬的影响.pdf

    人工智能(AI)对生产力的影响是一个多方面且复杂的话题。它不仅能够通过自动化来提高生产效率,还能在诸多领域内实现任务执行的优化和加速。这种技术进步对薪酬结构、创作人员的收入来源以及创新过程都会产生深远...

    2024年薪酬的潜力:全球薪酬管理调研.pdf

    2. 薪酬转型的驱动因素:成本效率、数字化、运营/生产力效率、改善员工体验、多元化/平等/包容性、健全的数据安全性/隐私性等都是薪酬转型的驱动因素。 3. 薪酬管理的创新历程:薪酬管理需要不断整合新兴技术,提供...

    晋铝建设公司建设科学的薪酬和绩效体系,促进企业可持续发展第二阶段:薪酬体系报告.pptx

    晋铝建设公司正在致力于构建一套科学的薪酬和绩效体系,以推动企业的可持续发展。...这份报告详细阐述了薪酬体系设计的各个方面,为晋铝建设提供了全面的指导,有助于形成公平、透明且具有竞争力的薪酬结构。

    生产力分析(表格模板、DOC格式).doc

    生产力分析是企业管理中一个至关重要的环节,它帮助企业评估和优化运营效率,提升组织的整体效能。在给定的文件“生产力分析(表格模板、DOC格式).doc”中,主要涉及了几个关键指标,用于衡量员工绩效、生产力以及...

    以成果分享计划提升生产力之研究—以K公司为例.doc

    【研究成果】以K公司为例,探讨了如何通过实施成果分享计划来提升生产力。加入世界贸易组织(WTO)对台湾企业带来压力,尤其对于汽车工业,预计关税成本将大幅下降,加剧了竞争。在这种环境下,企业需提升生产力,...

    2021年薪酬报告系列之全国地区生产管理部门岗位薪酬水平报告.pdf .pdf

    报告标题提到的“薪酬报告系列之全国地区生产管理部门...企业人力资源部门可以依据报告中的数据,进行市场薪酬调研,确保本企业的薪酬结构和水平具有竞争力,同时也为求职者提供了对生产管理部门岗位薪酬水平的参考。

    PLA公司(行业)薪酬管理制度方案-薪酬设计方案资料文集系列.docx

    薪酬设计方案是指企业为了吸引、激励和留住人才所制定的薪酬管理制度,旨在提高企业的竞争力和生产力。以下是薪酬设计方案的知识点总结: 一、薪酬管理制度的重要性 * 薪酬管理制度是企业人力资源管理的重要组成...

    2022年临沂地区生产工程师职位薪酬调查报告.pdf

    2. 薪酬指南:根据报告,2022年临沂地区生产工程师职位的薪酬指南中,P25的薪酬水平为104,160元,P50的薪酬水平为118,935元,P75的薪酬水平为126,682元,P90的薪酬水平为134,446元。这种薪酬指南可以为企业和个人...

    2021年薪酬报告系列之长三角地区生产管理部门岗位薪酬水平报告.pdf .pdf

    根据提供的文件信息,这份《2021年薪酬报告系列之长三角地区生产管理部门岗位薪酬水平报告》详细探讨了长三角地区不同所有制企业生产管理部门岗位的薪酬水平。从文档的内容和描述中,我们可以提取出以下知识点: 1....

    企业薪酬管理论文:美国企业薪酬管理探索美国企业薪酬管理探索.pdf

    而浮动薪酬,包括刺激性工资和福利津贴,是企业用来激励员工提高生产力的手段,如计件工资、奖金和与产量挂钩的激励机制。 【岗位评价与市场定价】在确定基本薪酬时,美国企业会进行岗位测评,区分不同岗位对劳动者...

    2021年薪酬报告系列之无锡地区生产管理部门岗位薪酬水平报告.pdf .pdf

    文件标题为“2021年薪酬报告系列之无锡地区生产管理部门岗位薪酬水平报告.pdf”,意味着这是一份涉及无锡地区生产管理部门岗位薪酬数据的报告。描述部分重复了标题,没有提供更多细节。标签指明了报告的性质,即行业...

    企业薪酬管理专题讨论.pptx

    - **基本观点**: 假设雇主追求利润最大化,在完全竞争的市场下,工资水平由劳动的边际生产力决定。 - **政策意义**: 长期来看,工资水平与劳动生产率呈正相关。 5. **集体交涉工资论**: - **代表人物**: 克拉克...

    2011-2022年上市公司新质生产力测算数据(含原始数据+计算代码+计算结果).zip

    2011-2022年上市公司新质生产力测算数据(含原始数据+计算代码+计算结果) 1、时间:2011-2022年 2、来源:原始数据整理自csmar、wind 3、指标:证券代码、证券简称、统计截止日期、报表类型、营业收入、研发费用、...

    薪酬管理背诵版.docx

    - **经济保障功能**:为员工提供基本的生活保障,确保他们能够维持日常生活所需。 - **激励功能**:通过合理的薪酬激励机制提升员工的工作积极性和效率。 - **社会信号功能**:薪酬水平反映了员工的社会地位和职业...

    2022年北海地区生产经理职位薪酬调查报告.pdf

    - 本地私营企业的生产经理薪酬中位数为206,853元,相比外资和合资企业略低。 - 国有企业的生产经理薪酬中位数为209,674元,尽管稍高于本地私营企业,但总体上仍处于中等水平。 这份报告对求职者、雇主以及人力资源...

    企业薪酬制度与薪酬设计.pptx

    4. **边际生产力论**:马歇尔和克拉克提出的理论认为,在完全竞争的市场环境下,企业的工资水平取决于劳动者的边际生产力。这为理解长期工资变化趋势提供了一种视角。 5. **集体交涉工资论**:克拉克、庇古和多布...

    2022年中山地区生产线长职位薪酬调查报告.pdf

    《2022年中山地区生产线长职位薪酬调查报告》揭示了中山地区生产线长这...同时,对于行业观察者,报告揭示了中山地区不同所有制企业在生产线管理岗位上的薪酬策略和市场竞争力,为企业制定薪酬政策提供了有价值的信息。

    2022年山东省地区生产经理职位薪酬调查报告.pdf

    - 本地私营企业(Local Private Enterprises):本地私营企业的生产经理中位数为189,063元,较合资和外资企业稍低。 - 国有企业(State-Owned Enterprises):其生产经理的薪酬中位数为203,692元,略高于本地私营...

    2022年西宁地区生产主管职位薪酬调查报告.pdf

    - **国有企业**:生产主管的薪酬中位数为92,776元,高于本地私营企业,表明国有企业的薪酬结构可能更倾向于稳定且具有一定的竞争力。 3. **分位数分析**: - P25(25%分位数)表示有25%的生产主管薪酬低于这个值...

Global site tag (gtag.js) - Google Analytics