可以错过任何事情

互联网技术彻底改变了沟通。 将您的消息传递给某人需要毫秒,接收者可以在不到一秒钟的时间内看到您的消息。 我们每天都会从不同的通讯应用程序,新闻,社交网络供稿中收到一百(多个)通知。 阅读并回答(和回复)并非易事。 这是我在通知泛滥中生存的想法。

上午9.30,我到达办公室。 我去办公桌上打开笔记本电脑,检查Slack,Github Pull请求和通知,检查电子邮件,在Slack上写一些更新(就像每天发布FB状态一样)。

如果没什么特别的,我从每天的待办事项清单开始,开始优先处理重要的事情。 这需要一些时间,但是返回的值很重要。 如果您对此有疑问,请阅读《吃那只青蛙》一书。

然后,我查看同事的“拉取请求”。 通常需要30分钟以上的时间。

我休息一下,开始从事我的工作。

平安!

漂亮的TCP程序包已交付给我的机器。 我自然而然地回答“嗨/早上好”,意思是“是的,我收到包裹了”。 我不希望人与人之间的连接花费太长时间来做出响应,这会让人们感到我的通讯系统不可靠。

握手协议已成功建立,信息交换过程开始在TCP套接字中进行。

一些更多的TCP程序包在不同的频道中广播。

感谢现代的网络浏览器在右上角的屏幕上显示一个小横幅,当有人在某个地方聊天时,我会收到通知。 只需单击横幅,我就可以跟着他们到进行对话的地方,这节省了我找出时间的时间。

我也使用智能手机,它甚至更有帮助。 所有的通知都在那里,我可以浏览每个通知并知道它们来自何处。 加入每个对话,确保我不会错过任何事情,向同事提供有用的信息再容易不过了。

我什么时候专注于自己的东西? 好像不多。

与TCP协议不同,TCP协议无限期地等待答复消息到达。 如果在一定时间(取决于耐心配置的时间)之后没有响应,则可能触发重试机制,另一个TCP程序包可以使用同一系统到达,有时可以在不同的系统中,或者返回到旧的慢速拨号连接。 有时它可以切换到UDP协议。

在谈论TCP / UDP时,我使用了一些隐喻,希望您不要感到烦恼。


整天开放Slack确实是千篇一律的裁员,这对您的生产力来说是致命的。 –我是Devloper

好痛

我不讨厌分心,另一种说法是我不讨厌工作时烦人的人。 当我无法按承诺完成工作时,我讨厌自己。 我必须消除分心,以提高生产力。

我开始重新阅读尼尔·福特的著作《高效程序员》。 对于每一个想要提高生产力的开发人员来说都是一本好书。 尽可能地阅读很多书很重要,而不必记住书中的所有内容。 当我们遇到问题时,我们知道有一本关于它的书,我们总是可以回到书上。 现在我很好地教了这一课。

就个人而言,我更喜欢这本书的概念,而不是特定的技术和例子。 我从书中汲取了这些概念,并将其应用到当前的工作流程中。

本书中提到的一种技术是“安静时间”。 这是我们可以专注于作品的时间跨度。

对于我目前的工作,我可以找到2个安静的时间范围,分别是11AM-12PM(1小时),以及1.30PM-3PM(1.5小时),有时是4.30PM-6PM(1.5小时)。 在这些时间间隔之间,我可以做一些对关键指标影响较小的工作。

当人们可以在短期内最大化其性能时,该技术最有效。 我可以喝软饮料或咖啡,以最大程度地集中精力。 根据一些研究,喝咖啡后,我们可能会在开始的30分钟内感到有些困倦,这正是进入流线所需要的时间。

在开始我的安静时间之前,我必须回答三个问题

  1. 会做什么?
  2. 它有多重要?
  3. 它会影响关键指标吗?

一个半小时后我能做什么呢? 人类的注意力不会持续很长时间。 如果我无法在安静的时间内完成任务,最好不要输入安静的时间,而是返回并分解任务,再次澄清要求和范围。 最好在研究故事之前先弄清楚它们。

第二个问题是我的工作有多重要。 有时我可以花一整天来修复CSS。 这对我很重要,但对团队而言并不重要。 但是,它并不总是适用。 例如,您编写了CSS,但编写得不好,您的同事开始将CSS复制到许多地方。 现在很糟糕,它会整天整夜困扰您。 如果我处于这种情况下(是的,我是),我希望可以从一开始就正确地编写它。

不要以任务对关键指标的价值来误解任务的重要性。 书面文件很有价值,但是很难用关键指标来衡量。 关键指标旨在显示产品质量,包括没有技术背景的人员在内的任何人都可以理解。

在敏捷公司中,燃尽率,速度,废品率是重要的指标。 有人建议也将客户满意度和收入用作开发团队的指标。 客户满意度是由错误率,系统的可靠性,发布新功能所花费的时间来计算的……但是,这些指标取决于变化的成本,而更多的是关于公司的整体效率。

我不同意使用这些关键指标的想法,并鼓励每个人在将故事放到冰柜,积压的底部并开始进行研究之前,先进行思考。 是的,我们有3次考虑这些业务指标。

当然,通过谈论产品范围的指标,我并不是要牺牲开发指标。 关于维护成本,测试成本,培训成本…

任何傻瓜都可以编写计算机可以理解的代码。 好的程序员编写人类可以理解的代码。 CodeWisdom的 Martin Fowler

它告诉我们一些事情。 软件开发是人与人之间的工作。 它的产品为团队和产品带来价值。 我们可能会提供大量功能,并承担大量技术债务,却忽略了维护成本。

除非人们告诉我们忽略维护成本,并且我们知道这不是骗人的,否则我们可以继续承担我们“必须”承担的尽可能多的技术债务和骇人听闻的东西。

大多数时候,客户不知道他们想要什么,我们不能以他们为借口来创建遗留系统。 记住蝎子和青蛙的故事。 意识到。 不要忽视我们的团队指标,即我们在构建可维护软件方面的价值观。 学会在必须的时候说不。

总而言之,生产力是技术,计划和执行的结果。 安静的时间技术可以创造高质量的时间跨度,从而在有限的时间内制作出最重要的作品。 提前计划可以帮助我们评估真正重要的事情,它可以让我们一次专注于一项任务。 最后一步是执行,这是产生结果的最重要步骤。 总是有足够的时间来提高代码质量的标准,如果我们遵循遵循前两个步骤来创建安静时间和计划,对工作进行优先级排序的原则,那么就不会偷工减料。

开头的论点不是本文的重点。 互联网没有错,通信系统也没有错。 如果我们知道从中获取价值,它将帮助我们提高生产率。 了解如何使用这些关键指标来衡量我们的绩效变得更加重要,而从通信系统中分散注意力不再成为问题。