`
tomcat_oracle
  • 浏览: 317534 次
社区版块
存档分类
最新评论

程序猿为什么老是活得比狗还累?

    博客分类:
  • Java
阅读更多

一年多,我仗著自己年轻的身体,对电脑的热情,在工作上多使用蛮力,仿佛一个使用朴素演算法实现的程式,吭赤吭赤跑个不停。一开始,朴素演算法还能在指定的工作时间内完成任务;后来任务越来越多,工作时间之内肯定没法完成,我开始窃取时间,以更长的时间换取任务的完成。我知道这不是一种科学的工作方式,但是在那种时间压力、任务压力之下,也是无可奈何。

 

无论如何窃取时间,一天总归只有 24 小时。无论如何使用蛮力,也做不到不休不眠。迟早有一天,任务会多到让人感觉厌倦,只是没有想到,这种情况来的这麽快。

 

这种厌倦感已经没法抑制了,小学妹说我最近很萎靡,前辈也说我看起来很憔悴。有一次吃完饭回去的路上,前辈不经意间问道,为什麽我们干活干的这麽累。也许是职位的不同,作为主管,前辈需要更多优秀的工程师,更多优秀的应届生和实习生。当时我只是苦笑,回答不上来。

 

后来想想,是啊,为很麽我们干活干的这麽累?前几天去舟山的路上,我看完了久负盛名的Rework,中译本名叫《重来》(台湾中译本为《工作大解放》)。自恋一点,我也是一个优秀而高效的研发工程师,为什麽却被工作打败了?为什麽我们一群在「顶级」网路企业工作的优秀工程师,才服务了区区几万用户就已经累成狗,人家 37signals 几十个人就服务了几百万的用户?

 

先给自己打脸。

 

沉迷工作是企业文化中广受讚颂的一种「优良做派」。我们知道工作狂热衷于通宵达旦、加班加点,甚至在办公室打地铺。这些人以累死在项目中为荣,对他们来说,再大的工作量也不在话下。

工作狂的行为不但没有必要,而且愚蠢至极。过多的工作并不带把你对项目更关注,也不代表你做了更多贡献,这仅仅意味著你干了更多活而已……

工作狂的存在使那些不以加班为乐的员工感到无所适从。在工作狂扎堆的企业环境裡,就连「按时上下班」都让人觉得是一种无理的要求了……

工作狂不是英雄,他们没有力挽狂澜,不过是浪费时间而已。真正的英雄早已想出办法、搞定一切,然后回家了。

Jason Fried《重来》 卸负篇-工作狂

 

时间

关于码农的工作时间,有一个臭名昭著的说法是「弹性工作制」。虽然没有硬性的时间规定,但是也有一个约定的时间是 9 点上班 6 点下班,至于传说中的「把活干完之后没人管你干啥」永远只是传说。换个说法,就是上班时间可以比 9 点晚一些,下班时间一般不早于 6 点。在这九个小时中,排除中午吃饭和休息的一两小时,还剩七八小时。可是这裡面能让我们投入脑力劳动的时间有多少呢?可怜的不足 3 小时。其余的时间总被各种乱七八糟的事情打断,这个 IM 响个不停,那个邮件收个不停,还有人动不动弄出各种高端大气活动、培训来消费这所剩无几的工作时间。于是乎上班时间干不了多少活,好不容易等到别人都下班回家了,总算进入了 coding 时间。之前我总是说,6 点之后有 5 个小时的编程时间,就是这麽回事。

如果是一个普通的职业,普通的职位,自然是上班干活,下班走人。可是我们干的不是一般的职业,我们是码农啊。之前我实习的时候就听同事讲过一句精闢的话:「干别的职业请假了就没事了,当码农的请假回来了事还是你的,还得加班干活追赶请假落下的进度」。也许是出于这个原因,我很少请假。

所以说,别的职业时间被浪费就浪费,被占用就被占用,反正下班走人。可是我们是码农诶,弹性工作制诶,所以我们白天上班陪别人玩,晚上加班干活。

如果你总是为了工作而熬夜或者牺牲周末时光,其实并不是因为你有很多工作要做,而是因为你的工作状态不佳。而工作状态不佳就是由打岔引起的……

在这个时段内,封锁即时聊天工具,挂掉电话,关闭邮箱,叫停会议。唯一能做的就是闭嘴、干活。你会惊讶于自己居然能干这麽多活……

你的生活被各种干扰包围著,只有你自己才能去发起反击。

Jason Fried《重来》 效率篇-打岔是效率的敌人

有时真是羡慕那些真正的顶级网路企业的工程师,据说他们一个维运工程师可以维运上万台伺服器,这才是搞技术的,这才是效率,比我们不知道高到哪裡去。

我能做些什麽呢?尝试在固定时间段关闭即时通讯,关闭信箱,在上班时间给自己留出工作时间。反正也不会错过什麽重要的事情,如果伺服器挂了,没几分钟就收到简讯了,如果老板找不到人直接就电话了,至于好事,能有啥好事?

 

效率

马云那句「梦想还是要有的,万一实现了呢」随著阿里赴美上市传遍大江南北,于是平时听老板们演讲时总能听到的是「我们要给XX赋能,让他们效率更高,能够给消费者提供更好的服务,帮助他们实现梦想」之类的。

阿里巴巴正是透过帮客户赚钱,帮客户成长,最终才使自己赚取合理利润的,这也正是阿里巴巴能取得今天成绩的文化实质。在赚钱这一点上后天下之乐而乐是合理的,然而在帮助合作伙伴提升效率上,是否还能后天下之乐而乐,就值得商榷了。如果我们自己都在以一种低效的方式工作,怎麽能够做到帮助客户,帮助合作伙伴提升效率?

一直以来,我总是感觉单兵作战,比如我在做自己的业馀专案,或者为某个开源软体贡献程式的时候,效率最高。一方面可能是我能够随心使用业界各种帮助提升效率的工具,另一方面是程式本身来源于我自身真实的需求。

涉及到工作效率上,一方面是要想方设法提高自身的效率,另一方面是要防止自己的效率被外在因素降低。最高效的程式就是不执行任何程式的程式,同理,那些可做可不做的事情,每少做一件,效率就提高一点。

 

低头拉车,抬头看路。

一头栽进去,埋头干你自己认为应该干的事情,这很简单。而要从中抬头起来问问自己为什麽要这麽做,则难得多。你需要问自己几个重要的事情,以确定你是否在做真正有意义的事情:

为什麽要这麽做?你在解决什麽问题?这真的有用吗?你加上去的东西有价值吗?这种改变真的会起作用吗?这种方法更简单吗?有其他更值得做的事情吗?这样做值吗?

有时候放弃其实是一步好棋,即使你已经为之投入很多努力,也不要继续把大好的时间浪费在不值得做的事情上。

Jason Fried《重来》 效率篇-退出的理由

之前前辈跟我说过,接需求的时候先多想几个为什麽,不能随随便便来一个接一个。回想自己这一年来,还真是没做到,没做好。

 

工具

还没有到美国去当码农的经历,身不能至,心嚮往之。嚮往的理由之一,就是真正的科技型企业,是会对身在其中的技术人员产生技能加成的,让技术人员能做到之前做不到的事情。

公司有平台、有工具,也有流程、有包袱。前者帮助开发者提高生产力,后者帮助开发者降低生产力。很开心看到最近技术部的研发流程向著轻量化的方向迈进,果然是新 Boss 新气像的节奏。

说到平台和工具,不得不赞的就是阿里系技术栈中各种狂拽酷炫屌炸天的 Java Middleware。如果有一天我不想再做业务系统了,那麽Middleware也许是我的一个选择(当然我更想做的是当独立开发者用自己的作品养家糊口,然后心情好的时候为自由软件贡献程式)。然后除了Middleware,我们似乎就没有什麽比较通用的拿得出手的工具了,每个应用自己写自己的后台,自己做自己的工具。

说到平台和工具,不得不说的就是各种基础设施了,从程式仓库、集成系统,到知识库、文档库都不像是一个世界级的网路企业该有的样子,反而像是一个传统的国内软体企业。面对这样的基础设施,真的是连骂都懒得骂了,有这点骂的功夫,还不如想想怎麽把自己从刀耕火种中解救出来,然后开始行动。

其实有些地方企业没做好反而对员工来说是个机会,就像每出现一个看起来有前途的新语言新平台,一帮码农就蜂拥而至,仿佛开荒一般的贡献各种基础类库,然后成为新平台上的元老级开发者。

很多时候我们为开源专案贡献程式,一是希望世界因为我们的贡献变得美好一点,二是可以和来自不同地区的同行交流,高手过招(Github 是目前全球最大的男性同{敏感词}友平台),三是可以使用各种最新科技高效的做一些有意思的事情。

之前看过一篇文章,说的是《为什麽优秀开发者进入 Google 后就不参与开源了》,文中列举了几个原因,其中一个就是 「Google 的开发环境太好了」。虽然现在的 Google 已经不是当年的样子,但是至少它曾经是技术人员的理想环境。

开发者和公司之间的关系其实很微妙的,双方都希望对方先付出,自己后回报。开发者希望公司提供良好的工作环境,完善的基础设施,然后自己开始创造价值;公司则希望开发者先创造价值。这是一种博弈,也是自由市场的自由选择。

当我们不够强的时候,只好自己动手丰衣足食。虽然不可能让自己的工作环境变得向曾经的 Google 一样,但是能够向这样的目标前进一星半点,总归是好的。

 

挖坑

伯乐在线有一篇源自 Quora 的文章,《工程师如何做到『编程速度又快,Bug 数量又少』?》,把菜鸟工程师贬的体无完肤。工作一年来,回头看看,当年的我也给自己埋了不少雷,挖了不少坑;现在的我是不是在为将来的我埋雷挖坑,我自己都不知道。

其实我们在写程式的时候,是不会故意埋雷的,只不过受限于当时的能力、视野和经验,也就能够做到那种地步。只要我们还在不断练习,不断进步,回头看当初的程式,都会被当年的自己蠢哭。

有些坑因为没时间填,程式又还能工作,渐渐的变成了陈年老坑,随著时间的推移就越来越没法填了。接手的同事一看,这麽大一个坑,修养不好的当面就开骂了,修养稍好的恐怕也免不了心谤腹非。

少挖坑,多填自己的坑,也许我们的工作能因此变得更简单。少了陈年老坑的束缚,也许我就能做更多的事情,而不会像现在这麽累。

6
4
分享到:
评论
3 楼 alex280 2015-11-06  
总结得不错,已收藏到 http://www.jfox.info/my
2 楼 zqb666kkk 2015-11-05  
前面说的 有理 后面引用太多的 例子懒得看了
1 楼 heshifk 2015-11-04  
写的很不错,很喜欢“低头拉车,抬头看路”这句话

相关推荐

    程序猿ProMonkey v2.03.rar

    程序猿(ProMonkey)是一款基于WEB的轻量级程序员个人辅助工具 [ 更新日志 ]. 程序猿ProMonkey V2.03 Build 20130404 1.修正部分函数细节问题 2.完善安装页面 3.增加附件上传格式支持 4.修正图片/附件上传路径...

    程序猿ProMonkey v2.03

    程序猿(ProMonkey)是一款基于WEB的轻量级程序员个人辅助工具。   程序猿ProMonkey V2.03 Build 20130404更新日志 1.修正部分函数细节问题 2.完善安装页面 3.增加附件上传格式支持 4.修正图片/附件上传...

    程序猿专属表情包

    在IT行业中,程序员,或常被称为“程序猿”,是一群以编写代码为生的专业人士。他们用编程语言构建软件、网站、应用程序等,为数字化世界提供了基石。而在这个高度技术化的领域,程序员们逐渐发展出一种独特的文化,...

    安卓程序猿小说v1029纯净版

    【安卓程序猿小说v1029纯净版】是一款专为Android用户设计的免费小说阅读应用,它提供了海量的小说资源,旨在为读者带来极致的阅读体验。在这款软件中,用户可以一键搜索全网范围内的百万本小说,极大地拓宽了阅读的...

    程序猿ProMonkey 2.03.rar

    程序猿(ProMonkey)是一款基于WEB的轻量级程序员个人辅助系统。 程序猿ProMonkey 2.03 更新内容: 1.修正部分函数细节问题 2.完善安装页面 3.增加附件上传格式支持 4.修正图片/附件上传路径 [ ...

    一只程序猿告白的网页(转)

    【标题】:“一只程序猿告白的网页(转)”所蕴含的知识点 在这个标题中,我们可以看到一个程序员,通常被称为“程序猿”,利用自己的技术技能制作了一个特别的告白网页。这涉及到以下IT知识: 1. **网页开发**:...

    程序猿(ProMonkey)轻量级WEB辅助程序 v1.0.rar

    程序猿(ProMonkey)是一款基于WEB的轻量级程序员个人辅助系统。 [ 安装方法 ] 运行install.php 根据提示进行安装 默认用户名:admin 密码:admin 请登录后进入用户中心更改! [ 程序特色 ] 1、界面友好 ...

    Android程序猿面试秘籍

    Android程序猿面试秘籍,真正的面试题库,Android程序猿面试秘籍

    js爱心动态特效源码,程序猿专属浪漫,前端必备!

    js爱心动态特效源码,程序猿专属浪漫,前端必备! js爱心动态特效源码,程序猿专属浪漫,前端必备! js爱心动态特效源码,程序猿专属浪漫,前端必备! js爱心动态特效源码,程序猿专属浪漫,前端必备! js爱心动态...

    程序猿的爱情 love.rar

    在这个名为"love.rar"的压缩包里,我们可以想象它可能包含了一些关于程序猿如何在编程世界之外,用他们独特的方式去表达情感的故事、代码项目或者是一些浪漫的数字艺术。 爱情,对于程序猿来说,可能并不只是鲜花和...

    js实现爱心表白效果,html+css+js源代码,属于程序猿的浪漫之旅

    js实现爱心表白效果,属于程序猿的浪漫之旅 js实现爱心表白效果,属于程序猿的浪漫之旅 js实现爱心表白效果,属于程序猿的浪漫之旅 js实现爱心表白效果,属于程序猿的浪漫之旅 js实现爱心表白效果,属于程序猿的浪漫...

    js实现手动旋转相册,浪漫表白源代码,程序猿必看!

    js实现手动旋转相册,浪漫表白源代码,程序猿必看! js实现手动旋转相册,浪漫表白源代码,程序猿必看! js实现手动旋转相册,浪漫表白源代码,程序猿必看! js实现手动旋转相册,浪漫表白源代码,程序猿必看! js...

    学好算法与数据结构,程序猿的内功修炼

    让你见识到算法实际作用和魅力的课程,特别注重实用,通过一步步的优化,将算法背后的奥秘展现出来

    小游戏“程序猿大战产品狗”源代码,参考(抄袭)了浅墨大神的代码“勇士斗恶龙”

    《小游戏“程序猿大战产品狗”源代码解析与学习指南》 本文将深入探讨一个基于C++语言开发的平面回合制小游戏——“程序猿大战产品狗”,它在初学者的游戏开发入门过程中,提供了宝贵的实践机会。游戏的设计灵感...

    程序猿的告白

    《程序猿的告白》这个主题,显然与程序员的生活、情感表达以及可能涉及的技术工具有关。在这个场景中,"程序猿"是程序员的自嘲式昵称,它揭示了这个群体在工作之余,也有着自己的情感世界。下面将详细讨论相关知识点...

    程序猿小卡的博客.zip

    程序猿小卡的博客程序猿小卡的博客备注博文一般不更新,只更新...目錄实用资源fis系列grunt系列gulp系列jquery源码系列快运系列其他博客园程序猿小卡知乎程序猿小卡掘金程序猿小卡微博@程序猿小卡_casper站酷chyingp

    程序猿表白代码

    总的来说,"程序猿表白代码"这个项目不仅展示了编程技术的应用,还体现了程序员的情感表达。通过学习和利用这些代码,程序员可以创造出个性化、独特的表白方式,让自己的感情表达不仅仅是言语,而是具有技术含量的...

    程序猿自我提升

    程序猿自我提升.xmind是思维导图安装软件;描述了程序猿开发软件过程中如何控制紧密逻辑思维过程

    【自用】易语言程序猿养眼高级配色.zip

    "【自用】易语言程序猿养眼高级配色.zip" 文件提供了一套专为易语言设计的护眼配色方案,名为"高端黑色.clr"。 "高端黑色"配色方案,顾名思义,是以黑色为主色调,搭配其他柔和色彩,以减少长时间盯着屏幕对眼睛的...

Global site tag (gtag.js) - Google Analytics