当前位置: 首页 > news >正文

重读《人件》Peopleware -(9-1)Ⅱ办公环境Ⅱ“你在这儿从早上9点到下午5点之间什么都做不成.“(上)

在我们经济的各个领域中,有一个广为流传的观点:“加班是生活的一部分。”这意味着工作量永远无法仅靠正常工作时间来完成。对我们来说,这似乎是一个值得怀疑的说法。确实,在软件行业里,加班是一种常见现象,但该行业能够经历如此繁荣的时期,也表明了软件产品总体上带来的价值远超其成本。那么,为什么不仅是软件行业的从业者,还有其他需要高强度思维工作的专业人士也需要投入大量的额外工作时间呢?

一个令人不安的可能性是,加班的目的并非单纯为了增加工作时长,而是试图提升工作的平均质量。你常常能听到类似这样的说法:

  • “我最好的工作成果通常是在清晨,还没其他人到办公室的时候完成的。”

  • “一个深夜的工作时间可以抵得上平时两三天的工作量。”

  • “白天办公室像个动物园,但到了下午6点左右,一切安静下来,你真的可以完成一些事情。”

图片

为了提高效率,人们可能会选择早到、晚走,甚至在家工作以避开干扰。我们的一位研讨会参与者分享说,她的新上司不允许她在家工作,因此在一份重要报告截止日前一天,她不得不请了一天病假来完成它。无论是晚走、早到还是在家寻找一片宁静之地工作,都对办公环境提出了严厉的批评。真正令人惊讶的不是在办公室里经常难以高效工作,而是大家都知道这一点,却从未有人采取行动去改变它。

默认的政策

我为一家位于加州的公司提供咨询服务,这家公司非常关注员工的需求。有一年,公司的管理层进行了一项调查,邀请所有程序员(超过一千人)列出工作中最好和最糟糕的部分。负责这次调查的经理对公司已经采取的一些变革感到非常兴奋。他告诉我,根据调查结果,排在第二位的问题是与高层管理之间的沟通不畅。了解到这一点后,公司设立了质量小组、抱怨会议以及其他沟通项目。当他详细描述这些措施时,我礼貌地听着。等他说完后,我问了他排名第一的问题是什么。“环境”,他回答说,“大家对噪音感到不满。”我又问公司为此采取了什么补救措施。“哦,那个我们无能为力,”他说,“那超出了我们的控制范围。”

图片

更让人沮丧的是,这位经理对于未能采取任何改善环境的措施并不感到特别尴尬。仿佛程序员们抱怨重力太大,而管理层经过深思熟虑后决定他们对此确实无能为力;这是一个解决方案超出了人类能力范围的问题。这是一种完全默认的政策。

改变环境并非超出人类的能力范围。诚然,几乎每家公司都有一个权力集团,即所谓的“家具警察”团队,他们掌控着物理环境。但是,并非不可能让他们看到道理或者从他们手中夺回控制权。在本章的剩余部分,我们将提出一些你为什么必须这样做的一些理由。在接下来的章节中,我们会给出一些关于如何实施这些建议的提示。

编码战争游戏:观察到的生产力因素

从本书第一版出版前的几年开始,我们每年都会进行某种形式的公共生产力调查。至今,已有来自全球超过三百家组织参与了这些研究。最终,我们开始将年度调查转变为一种公开竞赛的形式,不同组织的软件实施团队竞争完成一系列基准编码和测试任务,在最短时间内以最少缺陷完成任务。我们将这些竞赛称为“编码战争游戏”。以下是它们的工作原理:

  • 基本的竞争单位是来自同一组织的一对实施者。虽然这对成员并不合作,实际上他们彼此之间也存在竞争关系,并且还要与其他所有队伍竞争。

  • 两名队员执行完全相同的工作,即根据我们的固定规格设计、编码并测试一个中等规模的程序。

  • 在练习过程中,参与者记录他们在时间日志上花费的时间。

  • 所有参与者的测试完成后,产品会接受我们的标准验收测试。

  • 参与者在正常工作时间内,在自己的工作区域使用与任何其他项目相同的语言、工具、终端和计算机进行工作。

  • 所有的结果都将被严格保密。

从1984年到1986年,来自92家公司的超过六百名开发者参与了这些游戏。对于个人而言,好处在于了解自己与其余竞争对手相比的位置。对于公司来说,可以看到它相对于样本中的其他公司在表现上的优劣。而对于我们,则是从中学到了很多关于哪些因素影响生产力的知识,这些因素将在本章后续部分讨论。

相关文章:

重读《人件》Peopleware -(9-1)Ⅱ办公环境Ⅱ“你在这儿从早上9点到下午5点之间什么都做不成.“(上)

在我们经济的各个领域中,有一个广为流传的观点:“加班是生活的一部分。”这意味着工作量永远无法仅靠正常工作时间来完成。对我们来说,这似乎是一个值得怀疑的说法。确实,在软件行业里,加班是一种常见现象,…...

10前端项目----商品详情页/滚轮行为

商品详情页面 商品详情组件发送请求获取相应商品详情信息组件展示数据 优化一下路由配置代码滚轮自动置顶 商品详情组件 路由配置 点击商品进行跳转—将Detail组件变成路由组件 从商品到详情,肯定需要传参(产品ID)告诉Detail是哪个商品,需要展示哪个商品…...

8. 深入Spring AI:自定义Advisor

1、前言 前面大篇幅介绍了关于Spring AI Advisor机制,并介绍了一些常见的内置的advisor。今天我们来自定义有一个Advisor。 2、快速开始 要自定义一个属于自己的Advisor,其实很自定义一个AOP一样简单。只需遵循以下步骤: 创建一个Advisor类,实现CallAroundAdvisor或Stre…...

常见网络安全攻击类型深度剖析(一):恶意软件攻击——病毒、蠕虫、木马的原理与防范

常见网络安全攻击类型深度剖析一:恶意软件攻击——病毒、蠕虫、木马的原理与防范 在网络安全的威胁体系中,恶意软件(Malware)是最古老、最常见的攻击形式之一。从早期的计算机病毒到如今的高级木马程序,恶意软件始终是…...

知识知多少——Matplotlib 库

文章目录 Matplotlib 库详解(新版)一、Matplotlib 核心概念1. 基本架构2. 两种编程接口 二、新版 Matplotlib 安装与配置安装配置中文显示(新版推荐方式) 三、基本绘图示例1. 折线图2. 柱状图(新版样式) 四…...

Linux实验课

一.ln指令使用 ln是link的缩写,在Linux中 ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的…...

MQTT学习资源

MQTT入门:强烈推荐...

linux centos7 python3安装

pyhton下载地址 https://www.python.org/downloads/ pycharm下载地址 https://www.jetbrains.com/pycharm/download/?section=mac 安装步骤 下载python3的包之前,要先安装相关的依赖包,用于下载编译python3: yum -y install zlib-devel bzip2-devel openssl-devel nc…...

【EDA】Multi-Net Routing(多网布线)

第六章:Multi-Net Routing(多网布线) 在VLSI物理设计中,多网布线(Multi-Net Routing)的目标是同时为多个网络(Nets)规划路径,避免布线资源冲突(如导线重叠、…...

1块智能电表=12路三相监测!ADW600自由拼装,适配多场景,即插即用,改造周期缩短50%!

在这个电力数字化浪潮汹涌的时代,如何高效、精准地管理电能,成为了众多企业关注的焦点。今天,我们要为大家介绍的,正是一款能够引领电能管理新风尚的产品——ADW600智能电表。 ADW600主模块: ADW600从模块:…...

Redis ⑥-string | hash | list

string类型基本介绍 Redis 中的字符串,是直接按照二进制的方式进行存储的。也就是说,在存取的过程中,是不会做任何编码转换的。存的是啥,取的时候就是啥。 Redis 的这个机制,就使得 Redis 非常适合用来存储各种各样的…...

动态规划(1)(java)(面试题)三步问题

题目: 三步问题。有个小孩正在上楼梯,楼梯有 n 阶台阶,小孩一次可以上 1 阶、2 阶或 3 阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模 1000000007。 示例 1: 输入:n 3 输…...

实时交互式AIGC系统开发:打造多模态数字人全栈解决方案

一、实时AIGC系统技术挑战 1.1 核心性能指标 指标 要求 实现难点 端到端延迟 <500ms 多模块流水线优化 多模态同步误差 <100ms 时间戳对齐机制 并发处理能力 100 QPS 分布式推理架构 生成内容一致性 跨模态对齐 联合embedding空间 1.2 系统架构设计 [语音输入] → [ASR]…...

tcp 和http 网络知识

1. 请简述TCP和HTTP的定义与基本概念 TCP&#xff1a;即传输控制协议&#xff08;Transmission Control Protocol&#xff09;&#xff0c;是一种面向连接的、可靠的、基于字节流的传输层通信协议。它为互联网中的数据通信提供稳定的传输机制&#xff0c;在不可靠的IP层之上&a…...

伟世通与火山引擎深度合作 前沿AI智能座舱解决方案亮相上海车展

2025年4月24日&#xff0c;上海 —— 全球领先的汽车电子技术供应商伟世通与字节跳动旗下云服务平台火山引擎在2025上海车展联合举办新闻发布会&#xff0c;正式发布基于AI大模型的下一代智能座舱解决方案。该方案深度融合伟世通高性能域控平台与火山引擎豆包大模型的AI能力&am…...

中国250米土壤质地类型数据

土壤质地指土壤中砂粒、粉粒和黏粒的相对含量和组成。根据土壤质地的不同&#xff0c;可以将土壤分为砂土、壤土、黏土等类型。土壤质地对土壤的物理性质&#xff08;如渗透性、保水性&#xff09;和化学性质&#xff08;如养分含量&#xff09;有重要影响。 本数据集是以250米…...

springboot2.x升级到3.x 惨痛经验总结

一、前言&#xff08;废话&#xff09; 升级的缘由 都是因为&#xff1a;Spring 目录遍历漏洞&#xff08;CVE-2024-38816&#xff09; 可参考文章&#xff1a;springboot 修复 Spring Framework 特定条件下目录遍历漏洞&#xff08;CVE-2024-38816&#xff09; 然后就趁着工…...

【Python】保持Selenium稳定爬取的方法(防检测策略)

selenium 防检测策略的方法汇总&#xff1a; 合理设置延迟&#xff1a;请求间添加随机延迟 (2-10秒) 限制爬取频率&#xff1a;控制每小时/每天的请求量 轮换用户代理&#xff1a;准备至少10个不同的User-Agent 使用住宅代理&#xff1a;优先选择高质量的住宅代理IP 处理验…...

【Linux】进程优先级和进程切换

&#x1f4dd;前言&#xff1a; 这篇文章我们来讲讲进程优先级和进程切换&#xff1a; &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;Linux &#x1f380;CSDN主页 愚润求学 &#x1f304;其他专栏&#xff1a;C学习笔记&#xff0c;C语言入…...

基于 Python(selenium) 的今日头条定向爬虫:根据输入的关键词在今日头条上进行搜索,并爬取新闻详情页的内容

该项目能够根据输入的关键词在今日头条上进行搜索,并爬取新闻详情页的内容。 一、项目准备 1. 开发环境配置 操作系统:支持 Windows、macOS、Linux 等主流操作系统,本文以 Windows 为例进行说明。Python 版本:建议使用 Python 3.8 及以上版本,以确保代码的兼容性和性能。…...

AIDL进程间通信

一、项目开启AIDL 在使用AIDL的模块下build.gradle 文件中添加以下代码 android {...buildFeatures {aidl true} }操作完需要rebuild 二、创建aidl服务接口 假设当前所需要的包名为com.jingluo.test_aidl &#xff0c;那么aidl就需要处于同样的路径下&#xff0c;即如下目录…...

线程同步与互斥

系统11. 线程同步与互斥 1. 线程互斥 1-1 进程线程间的互斥相关背景概念 临界资源&#xff1a;多线程执⾏流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有…...

腾讯一面面经:总结一下

1. Java 中的 和 equals 有什么区别&#xff1f;比较对象时使用哪一个 1. 操作符&#xff1a; 用于比较对象的内存地址&#xff08;引用是否相同&#xff09;。 对于基本数据类型、 比较的是值。&#xff08;8种基本数据类型&#xff09;对于引用数据类型、 比较的是两个引…...

某地农产品交易中心钢网架自动化监测项目

1. 项目简介 本项目规划建设现代物流产业园&#xff0c;新建6万平方米仓库&#xff0c;具体为新建3栋钢构仓库2万平方米&#xff0c;2栋砖混结构仓库1万平方米&#xff0c;3栋交易中心2万平方米&#xff0c;改造现有3栋3层砖混结构仓库1万平方米&#xff0c;配备智能化仓库物流…...

PGSql查看表结构以及注释信息

创建视图 CREATE OR REPLACE VIEW dbo.v_sys_tableinfo AS SELECT pc.relname AS tablename, pa.attname AS columnname, pt.typname AS columntype, CASE WHEN pa.attlen > 0 THEN pa.attlen::integer ELSE pa.atttypmod - 4 END AS columnlength, pa.attnotnull …...

C++23 中 constexpr 的重要改动

文章目录 1. constexpr 函数中使用非字面量变量、标号和 goto (P2242R3)示例代码 2. 允许 constexpr 函数中的常量表达式中使用 static 和 thread_local 变量 (P2647R1)示例代码 3. constexpr 函数的返回类型和形参类型不必为字面类型 (P2448R2)示例代码 4. 不存在满足核心常量…...

Linux服务器上mysql8.0+数据库优化

1.配置文件路径 /etc/my.cnf # CentOS/RHEL /etc/mysql/my.cnf # Debian/Ubuntu /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu/Debian检查当前配置文件 sudo grep -v "^#" /etc/mysql/mysql.conf.d/mysqld.cnf | grep -v "^$&q…...

深度学习之卷积神经网络入门

一、引言 在深度学习蓬勃发展的今天&#xff0c;卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;简称 CNN&#xff09;凭借其在图像识别、计算机视觉等领域的卓越表现&#xff0c;成为了人工智能领域的核心技术之一。从手写数字识别到复杂的医学影像分析&a…...

【kafka初学】启动执行命令

接上篇&#xff0c;启动&#xff1a;开两个cdm窗口 注意放的文件不要太深或者中文&#xff0c;会报命令行太长的错误 启动zookeeper bin\windows\zookeeper-server-start.bat config\zookeeper.properties2. 启动kafka-serve bin\windows\kafka-server-start.bat config\serv…...

MoE架构解析:如何用“分治”思想打造高效大模型?

在人工智能领域&#xff0c;模型规模的扩大似乎永无止境。从GPT-3的1750亿参数到传闻中的GPT-4万亿级规模&#xff0c;每一次突破都伴随着惊人的算力消耗。但当我们为这些成就欢呼时&#xff0c;一个根本性问题愈发尖锐&#xff1a;如何在提升模型能力的同时控制计算成本&#…...

【Qt】文件

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; Qt 文件概述 二&#xff1a;&#x1f525; 输入输出设备类 三&#xff1a;&#x1f525; 文件读写类 四&#xff1a;&#x1f525; 文件和目录信息类 五&…...

Linux常见故障:排查思路与错误分析指南

引言 当Linux系统"生病"时&#xff0c;它不会说话但却会通过各种症状"求救"&#x1f198;&#xff01;本文将带你建立系统化的故障排查思维&#xff0c;从磁盘到内存&#xff0c;从网络到服务&#xff0c;全方位掌握Linux系统的"把脉问诊"技巧。…...

基于随机变量的自适应螺旋飞行麻雀搜索算法(ASFSSA)优化BP神经网络,附完整完整代码

3. 麻雀搜索算法 麻雀群体分为两个角色&#xff0c;即发现者和跟随者。它们有三个行为&#xff1a;觅食、跟随和侦察。发现者的任务是寻找食物并告知跟随者食物的位置。因此&#xff0c;发现者需要在一个大范围内搜索&#xff0c;而跟随者的觅食范围通常较小。这是更新发现者位…...

vscode切换Python环境

跑深度学习项目通常需要切换python环境&#xff0c;下面介绍如何在vscode切换python环境&#xff1a; 1.点击vscode界面左上角 2.在弹出框选择对应kernel...

Gradle安装与配置国内镜像源指南

一、Gradle简介与安装准备 Gradle是一款基于JVM的现代化构建工具&#xff0c;广泛应用于Java、Kotlin、Android等项目的构建自动化。相比传统的Maven和Ant&#xff0c;Gradle采用Groovy或Kotlin DSL作为构建脚本语言&#xff0c;具有配置灵活、性能优越等特点。 在开始安装前…...

施工配电箱巡检二维码应用

在过去&#xff0c;施工配电箱的巡检主要依赖于纸质记录方式。巡检人员每次巡检时&#xff0c;都要在纸质表格上详细填写配电箱的各项参数、运行状况以及巡检时间等信息。这种方式在实际操作中暴露出诸多严重问题&#xff0c;信息易出现错误、数据会有造假现象、数据量庞大整理…...

全链路自动化AIGC内容工厂:构建企业级智能内容生产系统

一、工业化AIGC系统架构 1.1 生产流程设计 [需求输入] → [创意生成] → [多模态生产] → [质量审核] → [多平台分发] ↑ ↓ ↑ [用户反馈] ← [效果分析] ← [数据埋点] ← [内容投放] 1.2 技术指标要求 指标 标准值 实现方案 单日产能 1,000,000 分布式推理集群 内容合规率…...

第19章:Multi-Agent多智能体系统介绍

第19章:Multi-Agent多智能体系统介绍 欢迎来到多智能体系统 (Multi-Agent System, MAS) 的世界!在之前的章节中,我们深入探讨了单个 AI Agent 的构建,特别是结合了记忆、上下文和规划能力的 MCP 框架。然而,现实世界中的许多复杂问题往往需要多个智能体协同工作才能有效解…...

【C++游戏引擎开发】第25篇:方差阴影贴图(VSM,Variance Shadow Maps)

一、VSM 的核心思想 1.1 VSM 的核心思想 1.1.2 从深度到概率的转变 VSM 的核心创新在于将阴影判定从深度比较转换为概率估算。通过存储深度分布的统计信息(均值和方差),利用概率不等式动态计算阴影强度,从而支持软阴影并减少锯齿。 1.1.3 深度分布的统计表示 VSM 在阴…...

代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)

贪心算法 Part05 合并区间 力扣题目链接 代码随想录链接 视频讲解链接 题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0…...

yum包管理器

1.介绍 yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器.自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的安装包。 2.yum基本指令 查询yum服务器是否有需要安装的软件&#xff1a; yum list I grep xx软件列表. 安装指定的yum包&…...

Linux多线程技术

什么是线程 在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元&#xff0c;可理解为 “进程内的一条执行流水线”。 进程和线程的区别 进程是资源分配的基本单位&#xff0c;线程是CPU调度的基本单位。 fork创建出一个新的进程&#xff0c;会创建出一个新的拷贝&…...

通过模仿学习实现机器人灵巧操作:综述(上)

25年4月来自天津大学、山东大学、瑞士ETH、南方科技大学、通用 AI 国家重点实验室、爱丁堡大学和中科院自动化所的论文“Dexterous Manipulation through Imitation Learning: A Survey”。 灵巧操作是指机械手或多指末端执行器通过精确、协调的手指运动和自适应力调制&#x…...

LLM数学推导——Transformer问题集——注意力机制——稀疏/高效注意力

Q13 局部窗口注意力的内存占用公式推导&#xff08;窗口大小 &#xff09; 局部窗口注意力&#xff1a;解决长序列内存困境的利器 在注意力机制中&#xff0c;全局注意力需要计算序列中每个元素与其他所有元素的关联&#xff0c;当序列长度 N 较大时&#xff0c;权重矩阵的内…...

Git 入门知识详解

文章目录 一、Git 是什么1、Git 简介2、Git 的诞生3、集中式 vs 分布式3.1 集中式版本控制系统3.2 分布式版本控制系统 二、GitHub 与 Git 安装1、GitHub2、Git 安装 一、Git 是什么 1、Git 简介 Git 是目前世界上最先进的分布式版本控制系统。版本控制系统能帮助我们更好地管…...

系统架构师2025年论文《论软件架构评估》

论软件架构评估 摘要: 我所在的单位是国内某知名医院,2017 年 1 月医院决定开发全新一代某市医院预约挂号系统,我担任本次系统的架构师,主要负责整个系统的架构设计工作。该系统旨在优化医院挂号流程,提高患者就医体验,是医院应对医疗信息化变革和提升服务的重要举措。…...

基于51单片机的超声波液位测量与控制系统

基于51单片机液位控制器 &#xff08;仿真&#xff0b;程序&#xff0b;原理图PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.使用HC-SR04测量液位&#xff0c;LCD1602显示&#xff1b; 2.当水位高于设定上限的时候&#xff0c;对应声光报警报警&…...

抓包工具Wireshark的应用解析

一、Wireshark简介 Wireshark&#xff08;前身为Ethereal&#xff09;是一款开源、跨平台的网络协议分析工具&#xff0c;自1998年诞生以来&#xff0c;已成为网络工程师、安全专家及开发者的核心工具之一。它通过网卡的混杂模式&#xff08;Promiscuous Mode&#xff09;捕获…...

在 Java 项目中搭建和部署 Docker 的详细流程

引言 在现代软件开发中&#xff0c;Docker 已成为一种流行的工具&#xff0c;用于简化应用的部署和运行环境的一致性。本文将详细介绍如何在 Java 项目中搭建和部署 Docker&#xff0c;包括配置文件、代码示例以及流程图。 一、整体工作流程 以下是整个流程的概览&#xff1a…...

15.ArkUI Checkbox的介绍和使用

以下是 ArkUI Checkbox 组件的详细介绍和使用指南&#xff1a; 一、Checkbox 基础介绍 功能特性&#xff1a; 提供二态选择&#xff08;选中/未选中&#xff09;支持自定义样式和标签布局支持与数据状态绑定提供状态变化事件回调 适用场景&#xff1a; 表单中的多选操作设置…...