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

 

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

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

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

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

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

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

我不由得想起,上个世纪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 下干活,更加简单、利索,一目了然,这种流畅和效率,也可算专属于程序员的宝贵财富。

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

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

MySQL 优化 - index_merge 导致查询偶发变慢 今天遇到了一个有意思的问题,线上数据库 CPU 出现了偶发的抖动。定位到原因是一条查询语句偶发变慢造成的,随后通过调整表中的索引解决。优化器通过某种机制检测到 index_merge 能带来性能提升,某些情况下不会带来提升,反而会耗费更长的时间,属于优化器的缺陷,可以通过调整表中的索引来解决。 阅读详情

相关推荐

浅谈专项测试之弱网络测试

浅谈专项测试之弱网络测试 一.弱网络测试背景 移动端产品的使用并非完全都是在流畅的wifi环境,大部分用户主要使用4G,3G,2G等网络,另外因为移动端产品使用的场景多变,如进公交,上地铁,坐电梯,使得弱网测试显得尤为重要。考虑到各种场景的客户端展示及容错,提升产品的印象和用户体验,提高产品的健壮性,弱网测试必不可少。 二.弱网络测试建议 网下需要进行功能点测试,无网络测试,网络切换测试等,测试过程除了关注功能点的实现,还应关注用户体验等各个方面 三.弱网络测试通用功能点总结 四.弱网络测试用例实例

ITstudy001的博客 1010

为什么你有10年工作经验,却根本不值钱?(深度好文)

你以为自己有十年工作经验,不过是一个经验用十年罢了。1 不想、不会、不能,绝大多数人都在被动成长为什么绝大多数人都会被动成长呢?什么是被动成长?有这么一个职场段子:一个人跑去问老板:我都有十年工作经验了,为什么您还不给我涨薪水呢?老板回答说:你是有十年工作经验呢,还是一年工作经验用了十年呢?说一句刻薄又现实的话,“人到中年,不如狗”。用来形容那些,努力工作五年、十年,却依然停留在20岁水平的人,再...

weixin_33691817的博客 676

银河麒麟V10离线安装VLC播放器:依赖处理与3.0.9.2版本实操指南

在国产化操作系统日益普及的背景下,软件安装方式成为政企内网用户关注的重点。离线安装作为一种不依赖公网源的部署手段,常用于解决内网环境下的软件获取问题。其核心在于理解Linux包管理机制,如dpkg与apt对依赖关系的处理逻辑。掌握这一原理,不仅能应对多媒体软件的部署,也能提升系统维护效率。VLC作为跨平台多媒体播放器,凭借强大的解码能力与协议支持,广泛应用于本地视频播放、RTSP拉流及监控大屏等场景。本文从离线安装的通用概念出发,结合银河麒麟V10桌面版的实际环境,详细梳理了VLC 3.0.9.2离线包的获

weixin_32247165的博客 367

通过putpixel画圆算法,效率不是很高

void circle1(int x,int y,double radius,int color) /*比一系统提供的效率要低些*/ { int i; double rx,ry; for(i=0;i<=450;i++) /* i的值得看分辨率和所画圆的大

zhaopeng2511的专栏 1143

Fluent新手避坑:遇到‘Floating point exception’别慌,这7个排查步骤帮你搞定

本文为Fluent新手提供了7个排查'Floating point exception'错误的实用步骤,包括边界条件检查、时间步长优化、求解器配置等关键技巧。通过系统化的诊断流程,帮助用户快速定位并解决CFD仿真中的浮点异常问题,提升计算稳定性。

weixin_42531886的博客 285

k8s架构、工作流程、集群组件详解

Kubernetes(简称K8s,是因为 k 和 s 之间有八个字符)是一个开源的容器编排平台,用于管理云平台中多个主机上的容器化应用程序。它提供了一种机制,用于自动化部署、扩展和管理容器化应用程序的集群。Kubernetes的目标是让部署容器化应用程序变得简单高效。它提供了应用程序部署、规划、更新和维护的基本机制,同时具备强大的扩展性和可靠性。Kubernetes采用主从设备模型(Master-Slave架构),其中Master节点负责核心的调度、管理和运维任务,而Slave节点负责运行应用程序的容器。

qq_51545656的博客 4382

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

在上一篇文章中提到,升薪的关键在于『你可以做别人做不了的事』。 程序员,就是整天与机器打交道的那群人。 在计算机并不普及的年代,这样的描述毫无疑问。 然而,这些年来,得益于计算机成本的不断下降,软件使用门槛的不断降低, 如今,昔日昂贵而又神秘不可莫测电脑,已经成了随处可见、人人能用的办公器材。 一句话:人机交互,不再是程序员的专利。 大家都可以用电脑干活,只不过,程序员用电脑写程

justjavac(迷渡) 3715

离散小波-DWT

前沿:      小波变换比较复杂,而且内容

tianchang2you的专栏 4647

为什么软件工程师的薪水和生产力如此不成比例

文/Mr. Jamie  算起来软件工程师大概是全世界最特別的一种职业,因为一个最好的 programmer 和一个最烂的 programmer,生产力相差至少 10 倍,有时候甚至可以高达 100 倍。这在其他的职业几乎是没听过的——像 Jordan (麦可‧乔丹)这样强的篮球

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1494

SAP采购信息记录批量维护实战:用BAPI ME_INFORECORD_MAINTAIN搞定价格等级和条件记录

本文深入解析SAP标准BAPI ME_INFORECORD_MAINTAIN在采购信息记录批量维护中的应用,特别聚焦价格等级和条件记录的技术难点。通过实战案例和代码示例,帮助用户高效处理供应商-物料价格数据,提升供应链管理效率。

weixin_42522320的博客 410

【史上最全面esp32教程】网络篇和tcp/ip的使用

ESP32史上最全面wifi和tcp/ip连接及示例程序

m0_62599305的博客 9520

你为什么薪水那么低

  在SCDN回复了我的博客的回复(有点拗口): 程序员之路, 因为回复字数有限制, 觉得没有说尽兴, 故写了一篇博文. 写的有点简单了. 拖控件, copy代码, 或者做几个小程序的人太多了(俗称“鼠标编程”). 但是如果你所能做到的, 别人也能做到, 你如何去竞争. 我觉得升薪的关键在于『你可以做别人做不了的事』. 当然了, 你比别人做的快也行(也许你有N年工作经验), 别人做完用...

dcj3sjt126com的专栏 98

IP-Guard分类管理详解

大家都知道在配置IPGUARD策略前需要做分类库进行设置和分类。 1、应用程序:可以分类,例如上班时间只能用OFFICE和WPS,记事本等办公软件,可以在分类里设置一个类 ;办公软件,在未分类里找到OFFICE,WPS等拖入心建的分类里就可以在配置策略里调用。 2、网站分类也不一样,可以按照自己方式自定义。也可以导入厂家已经收集到的网站分类。 3、邮箱分类:可以提前定义好一个或...

IP-Guard专栏 589

新年你的薪水能翻番吗

新年你的薪水能翻番吗

qq_43682817的博客 199

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

为什么软件工程师的薪水和生产力如此不成正比?

算起来软件工程师大概是全世界最特别的一种职业,因为一个最好的programmer和一个最烂的programmer,生产力相差至少10倍,有时候甚至可以高达100倍。这在其他的职业几乎是没听过的—像Jordan(麦可&#8231;乔丹)这样强的篮球员,平均一场比赛的生产力,顶多也只是菜鸟板凳的10倍。即使是其他脑力、创意密集的行业,例如:IC设计、建筑、商品设计等等,生产力的...

weixin_30612769的博客 150

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

写点东西《3 个让你陷入困境、沮丧且薪水低的神话 》

你看,自从你开始编码以来,你一直被灌输一些关于成为开发人员的神话,而这些神话正在毁掉你的职业生涯。当你的眼睛布满皱纹,你的背部疼痛时,你可能会到达那里。更糟糕的是,这些信念已经深深植根于我们开发人员的日常生活中,我们认为它们是理所当然的。当你问一位高级开发人员,你需要什么才能达到下一个水平,而他们不知道所需的具体技术和软技能时,他们只会推迟到多年的经验,而不会显得愚蠢。当你要求某事时,如果有人用“没有足够的‘经验年限’”的论点,不要让他们阻止你。实际上,它们是有害的偏见,阻碍你走出家门,建立你应得的未来。

Mr.Bone 1175

如何增加你的生产力

如何使生产力加倍呢?美国生涯规划与时间管理专家Brian Tracy,集20年实务工作经验与研究,发现了使生产力加倍的七个工作秘诀:   一、全心投入工作。   不要浪费时间,不要把工作场合当成社交场合,把头完全埋进工作里,如果你能长期实践这个秘诀,就能使你的生产力加倍。   二、工作步调快。   养成一种紧迫的习惯,一旦投入工作,维持一种快速的习惯,一旦投入工作,维持一种

m0_37988084的博客 392

新年你的薪水能翻番吗?(zz)

 新年你的薪水能翻番吗?      昨天是圣诞节的平安夜,收到一条手机祝福短信,内容是这么写的:“今天送你三个蛋: 首当其冲的是圣蛋,祝你健康又平安;接着要送元旦,祝你薪水翻一番;还有再送鸡蛋,祝你聪明又能干!” ,看到这个短信挺有意思,想想也需要骚扰一下朋友们了,就把这条短信群发出去了,想不到这条短信却是引发了几个小插曲。      首先回应的是部门的一个同事,他最近被外派到成都出差了,估计...

MatthewChen Piscesky 203

新年你的薪水能翻番吗?

广告:http://www.youkuaiyun.com/community2006/vote/index.rails?id=1如果你喜欢我的文章,请大家去上面的网址为我当选优快云 的MVB投我一票,最多投10票,可以少投,谢谢!! 昨天是圣诞节的平安夜,收到一条手机祝福短信,内容是这么写的:“今天送你三个蛋: 首当其冲的是圣蛋,祝你健康又平安;接着要送元旦,祝你薪水翻一番;还有再送鸡蛋,祝你聪明又能干...

shangjava 126
上一篇: 代码之谜(一)- 有限与无限(从整数的绝对值说起)
下一篇: 自己动手设计 PHP MVC 框架(一)——URL
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值