热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

程序员在办公室工作会趋向死亡?

人们说,在早期的创业阶段我们需要在一个大房间里一起工作。人们还说,这能加强合作。的确如此

人们说,在早期的创业阶段我们需要在一个大房间里一起工作。人们还说,这能加强合作。

的确如此。我们需要多方面的合作。但这样做的质量比较低,而且几乎完全没用。

继在家高效工作一年以后——4个重要的客户合作、1本书、1段视频课程,以及无数的博客文章——我又开始去办公室上班。

下面是我在办公室的一天:

10:12 am——中断刚写得顺畅起来的代码,匆匆忙忙去上班,

10:30 am——茶已准备就绪,Emacs也正在运行中,可以开始工作

10:35 am——“嘿,你检查过我的性能要求了吗?”同事来了

10:50 am——完成性能要求批注

10:50 am——开始完成我自己的任务

11:00 am——“嘿,你弄错了,那些性能要求其实是对的”,同事又来了

11:01 am——“哦,好,我先合并”,我说

11:05 am——“嘿,我刚才注意到你没有看过我的性能要求”,我对同事说

11:06 am——“我等下会做的,你先帮我解决”,同事说

11:15 am——找到与代码最配合的音乐,开始进入状态

11:25 am——“嘿,你能帮我看看这个吗?”实习生来了

11:40 am——到目前为止的2小时工作时间内,才写了2行代码

11:50 am——“你还记得上次我们说这里需要做什么吗?”我问同事

12:15 pm——经过与设计师、业务运维人员和另外两个工程师一番讨论,稍微理清了一点应该要做的事情

12:30 pm——他妈的,饿死我了

12:35 pm——停止工作,开始安排去吃午饭

12:50 pm——寻找饭友

13:30 pm——准备好提神的茶,开始工作

14:13 pm——“这个我已经做好了,你看是不是正确?”实习生问

14:35 pm——教实习生一些理论知识,并解释如何将理论应用到实际用例中,然后再准备一杯茶

15:01 pm——“嘿,那个实习生任务做好了没,我现在就要”,同事说

15:45 pm——最近的星巴克还有15分钟就要关门了,我饿了

16:20 pm—— 回去工作,与同事重新同步各自正在做的事情

16:50 pm——“我对你要做的任务有一个新的用户体验,要不要一起来讨论一下?”设计师来了

17:10 pm——停止和设计师的讨论,接着写代码

17:55 pm——快点干,要下班了

18:15 pm——在快速回答实习生的一个简单问题,以及和同事同步任务进展之后,离开办公室

这就是八小时的上班时间。其实却只有2或者3小时的零星时间真正用于编码。你还能说办公室办公好吗?

到底是什么地方出了问题:

1:口头沟通不能自文档

你注意到没有?在上面我的例子里,每一次的沟通时,沟通的双方都不记得早前交流的细节。也许有点夸张,但这是事实。

虽然没有精确的记录,但我感觉办公室的对话就是那样。 “嘿,我们上次关于X是怎么说来着?”,“呃,你上次说那个模块是怎么起作用的?”,“能再说一次那个配置选项是什么吗?”……

总是在不断地重复以前谈论的话题和内容。

当你用即时聊天工具或电子邮件或者其他自文档的方式谈论时,你随时可以回过去看看别人说了什么。相关会话是可以搜索的。

你可以做相关安排,这样即使两个月后,只要你需要,也可以即时参考。文本方式就很不错。

许多研究都已经表明,人的记忆是非常容易犯错的,我们对交流过的内容其实并不能记得清清楚楚。我们只是想当然地以为我们记住了。但在现实中大概80%的记忆是完全由我们自己加工改造成的一个故事。

在办公室中,我们抛弃了自文档工具,去依靠容易犯错误的人脑。打着为了加强合作的旗号。呵呵。

2:每个人能在任何时候和任何人说话

在上述并非全是夸张的例子中,你会发现的另一个问题是,临时会议全天都在发生。如果两个人交谈超过五分钟就算会议的话,那么我那天总共有六次会议。

6个会议啊,时间从5到30分钟不等。明显太多了。而且不在计划中。

真想咆哮:你妹的,究竟还让不让人好好工作了?

我并不是要责怪那些启动临时会议的实习生和同事。只是当我们一起在办公室中工作时,很容易发生这样的情况。

当有问题的时候,你很自然地会去问坐在你旁边的人。特别是当他们就是负责带你的时候。我的意思是为什么不问呢?这不是选择在办公室中工作最大的优势吗?

当然,你可以安排会议,但是没人会喜欢这样喋喋不休讲问题的会议,你说是吧?而且太死板,太劳师动众了。

即使你真的选择安排会议,也很难安排时间。如果有人正在思考问题,那就需要提前5分钟,又或者是15分钟以后才能开会。等大家都在了,才能开始。

但是如果是远程,以及使用skype或Hangouts通话,那情况又不一样了。规定什么时候开始就开始。分毫不差。

在办公室中,我们用混乱和漫无秩序取代了结构化和可预测性。打着为了加强合作的旗号。呵呵。

3:花了时间,却不能良好地沟通

接下来的问题是,由于沟通容易,所以大家变得不重视沟通。反正要交流的对象就在那儿。有什么不明白的,随时可以再问。

众所周知,当我们写字的时候,同时会思考。权衡要说什么,思考如何清楚地表达意思,并且可以回过头去编辑和改变已经写好的文字。

简而言之就是会重视和投入精力到文字中。

我不知道到底为什么比起说的话,人们会更在意自己写的内容,但事实确实如此。当我们需要写电子邮件的时候,必定会深思熟虑确保内容明确。尤其是当我们知道其他人得过几个小时才会阅读,并需要理解我们想要什么的时候。

这是因为我们每个人都知道语境、情感和肢体语言等等都可以丰富和充实我们的口头沟通,但这些却并不能很好地转化为文字。于是副作用就是我们在写的时候会更加注意措辞的严谨和明白易懂。

当然有时候面对面的交谈会更好。比如说要讨论一些高度互动的内容的时候,又或者需要考虑其他人的想法的时候。但是,这样的情况很罕见。

我能想到的书面沟通的唯一主要缺点是,写下来的东西相当于是一个承诺,会禁锢思想。如果有人错了,你告诉他们,他们错了,他们会坚持自己的观点竭力反驳。

同样的,书面沟通主要的副作用是,在写之前,需要相对比较长的时间去思考。

在办公室中,我们用混沌和乱糟糟的思绪取代了明确和深思熟虑,同时搞得办公室像菜市场一样喧闹。打着为了加强合作的旗号。呵呵。

办公室逻辑

不过上述所有无秩序的合作方式其实都有体面的解决方案。当与人交流时,你可以记笔记,即使看上去有点傻乎乎。你可以安排真实的会议,哪怕让人觉得太过兴师动众。你可以鼓励人们多想少讲,虽然很多人往往以自我为尊,很难养成这个习惯。

但是有一个无法解决的问题是所有你浪费在那里的时间。

如果是在家工作,办公室仅距厨房30秒的步行时间。而且厨房里可以备有所有你最爱的东西。你可以煮美味可口的食物,因为这不会打扰到任何人。而且你还穿着睡衣舒舒服服地过一整天。

当然,现在有的企业文化也允许在办公室里随意穿着。

但是去办公室还意味着需要与酷暑和严寒做斗争。不会有美味可口的食物。不能做饭,而天天出去吃又贵又不健康。并且带饭到办公室是一件很麻烦的事情。

上述问题也是可以处理和忍受的。我可以改变我的习惯,我可以在上下班的路上阅读有声读物,当我冷的时候,我可以多穿点衣服。

但是,最让我难以接受的是,自从我开始在办公室里工作,我不得不削减我已经很单薄的社交生活。整天跟办公室里的人打交道已经耗尽了我所有的能量。

我是一个内向的人,像这样一天8个多小时地被人包围让我感觉特别累。当我回家的时候,我甚至都无法接着去做重要的工作。我写不了代码。我做不了任何事。所有我想要的只是一个人呆着。

但是在办公室中很少会有独处的时间。呵呵。


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Echarts图表重复加载、axis重复多次请求问题解决记录
    文章目录1.需求描述2.问题描述正常状态:问题状态:3.解决方法1.需求描述使用Echats实现了一个中国地图:通过选择查询周期&#x ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
author-avatar
blue暗紫天堂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有