The Linux Perf Master
  • Introduction
  • Chapter 1: 性能诊断入门
  • Linux 性能诊断:单机负载评估
  • Linux 性能诊断:快速检查单(Netflix版)
  • 全栈架构技术视野:以 Stack Overflow 为例
  • Chapter 2: 应用监控与可视化
  • 应用程序的日志管理
  • 基于 Ganglia 实现计算集群性能态势感知
  • 新一代 Ntopng 网络流量监控
  • Graphite 体系结构详解
  • 部署和配置管理工具简介
  • 2018 Docker 用户报告 - Sysdig Edition
  • 开源地理信息系统简史
  • Chapter 3: 操作系统原理与内核追踪
  • How Linux Works:内核空间和启动顺序
  • How Linux Works:内存管理
  • 动态追踪技术(一):DTrace
  • 动态追踪技术(二):基于 strace+gdb 发现 Nginx 模块性能问题
  • 动态追踪技术(三):Trace Your Functions
  • 动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
  • DTrace 软件许可证演变简史
  • Chapter 4: 大数据与分布式架构
  • 基于 LVS 的 AAA 负载均衡架构实践
  • 计算机远程通信协议:从 CORBA 到 gRPC
  • 分布式架构案例:Uber Hadoop 文件系统最佳实践
  • 分布式架构案例:基于 Kafka 的事件溯源型微服务
  • 分布式追踪系统体系概要
  • 大数据监控框架:开源分布式跟踪系统 OpenCensus
  • 大数据监控框架:Uber JVM Profiler
  • 大数据监控框架:LinkedIn Kafka Monitor
  • Chapter 5: Cyber-Security|网络与信息安全篇
  • 黑客入侵导致的性能问题
  • 基于数据分析的网络态势感知
  • 网络数据包的捕获、过滤与分析
  • WEB 应用安全、攻击、防护和检测
  • 警惕 Wi-Fi 漏洞 KRACK
  • Cyber-Security & IPv6
  • Linux 容器安全的十重境界
  • 美国网络安全立法策略
  • 香港警务处网络安全与科技罪案调查科
  • Chapter 6: 工程管理篇
  • Oracle 数据库迁移与割接实践
  • PostgreSQL 数据库的时代到来了吗
  • 珠海航展交通管控实践经验借鉴
  • 基于看板(Kanban)的管理实践
  • DevOps 漫谈:从作坊到工厂的寓言故事
  • 工程师的自我修养:全英文技术学习实践
  • Chapter 7: 社区文化篇
  • 谁是王者:macOS vs Linux Kernels ?
  • Linus Torvalds:The mind behind Linux
  • Linus Torvalds:人生在世,Just for Fun
  • IT 工程师养生指南
  • 附录
  • 附录:常用命令
  • 附录:扩展命令
  • 附录:推荐书单
  • 附录:创作历史
  • 附录:版权声明
Powered by GitBook
On this page
  • 为什么会产生倦怠?
  • 基本套餐
  • 程序员增强套餐
  • 扩展阅读

IT 工程师养生指南

PreviousLinus Torvalds:人生在世,Just for FunNext附录

Last updated 6 years ago

This article is part of an Work Life Balance tutorial series. Make sure to check out my other articles as well:

为什么会产生倦怠?

“burnout is caused when you repeatedly make large amounts of sacrifice and or effort into high-risk problems that fail. ”

相比其他领域的专业人士,程序员似乎更经常出现倦怠(Burnout )。目前没有明确的证据能够描述这种情况, 大致有以下四个主要原因:

第一,物理的(physical)。程序员每天坐在办公桌前的工作方式是不健康的, 它会让你感到更加昏昏欲睡。嗜睡也可能导致其他不那么好的习惯, 如白天吃零食, 沉迷兴奋剂, 熬夜等,导致身体损伤。 第二,编程工作是认知高度集中和紧张的工作, 心理疲劳也可能会造成精神损伤。 第三,也可能是因为你正在做的工作, 事实上,耗费心力而且吃力不讨好。解决这一问题的唯一办法就是在不考虑金钱为因素的情况下, 花点时间对你想从事的工作做一些反省。 第四,当你作出大量牺牲,或努力解决高风险的问题, 但是反复失败时就会造成倦怠。在编程过程中往往伴随着运行失败,你的大脑容易将工作和失败联系在一起。

在工作中如何维持积极性,保持长久的生产力?下面介绍一些可行的技巧, 加以练习养成习惯后能够有效地延缓甚至消除倦怠。

基本套餐

It’s a simple but effective strategy for staying productive as a programmer while at the same getting some necessary break between the tasks.

  • 吃好。 从小的方面开始, 比如喝苏打水;将低碳水化合物和蔬菜纳入饮食;少量多餐, 不要暴饮暴食。

  • 睡好。 包括获得足够良好的睡眠。你有许多事情可以做, 例如创造一个更好的睡眠环境。一个秘诀是减少蓝光照射 — 可能会让你晚上熬夜。推荐软件: 能随着一天的时间变化自动调整你电脑显示器屏幕的色温,过滤对人眼伤害最大的蓝光,从而尽可能减少屏幕对眼睛所带来的疲劳感并帮助提高睡眠质量。相应地,白天要多晒太阳。诱发睡眠的最重要的因素之一是你的身体自然分泌一种叫做褪黑素(Melatonin)的荷尔蒙。褪黑素是由你大脑中的松果体(pineal gland,位于脊椎动物脑中的小内分泌腺体,人体最小的器官)产生的, 它发出信号来调节身体中的睡眠-唤醒周期。阳光提供了天然的光谱, 我们需要配合褪黑素的生产周期。白天多点光线, 晚上少点光线, 一个神奇的睡眠公式。

  • 不要过度劳累。 许多研究成果一再发现, 在这种情况下, 生产率(此处特指产出)在 4 个小时的专注工作之后就开始急剧下降。需要高度集中注意力的工作, 例如如长期的编程, 每天持续工作很长时间是不可能的。

  • 番茄工作法(Pomodoro Technique,一种时间管理法方法,该方法使用一个定时器来分割出一个一般为25分钟的工作时间和5分钟的休息时间,而那些时间段被称为 pomodori,为意大利语单词 pomodoro “番茄” 的复数)。理想情况下, 休息时远离计算机,进行轻快的散步,做一些俯卧撑等。

  • Stay active, keep moving. 很多人对运动(exercise)有一种误解,认为锻炼必须包括去健身房等等。在现实中有很多保持活跃的方法,例如选择楼梯而不是电梯; 把车停在购物中心的街角停车点; 骑车去工作, 找到其他的方法将运动融入到你的日常生活中会让你感觉更好, 而不是整天卡在电脑前。

程序员增强套餐

戚继光:有精器而无精兵以用之,是谓徒费;有精兵而无精器以助之,是谓徒强。

  • 尝试, 游戏, 学习, 实验原型(Experiment, play, learn, prototype)。 短期来看,只做你最擅长的事是高效和有利可图的。例如, 继续以重复的方式创建网站,。然而, 随着时间的推移, 它会变得无聊以及耗费精神。从工程的角度看,编程是使用行之有效的技术来生产软件的一个环节。同时它也关于乐趣, 实验和尝试新的想法。你可以特意将 20% 的时间用来游手好闲 — 这是避免倦怠的最有效的策略之一。游手好闲包括尝试新的类库, 创建一些有趣而不纯粹为了完成工作任务的东西, 或者从你的舒适区走出来、投资时间学习的东西, 例如函数式编程。

  • 参加聚会、会议、订阅行业资讯。 编程会变得孤独。与其他开发者见面, 或者倾听他们在播客上的经验, 使你不仅仅只关注眼前的状况, 而是更关心你的工作。没有人喜欢抱怨, 但分享或倾听,与其他程序员交流, 例如倾听别人是如何克服困难的有助于舒缓情绪, 激励信心。

  • 创造一个良好的工作环境并且不要吝啬投资你的工具(Invest in a good working environment and don’t be cheap on your tools ) 。 一台高配置的 PC 将编译得更快而不是让你将时间浪费在等待。请确保您有一个舒适的椅子, 桌子和良好设置的显示器。如果你在一个嘈杂的环境中工作, 可以投资高质量的耳机隔绝噪音使你保持安静。

  • Master your tools. 虽然有好的工具可以使编程过程更愉快, 熟练地掌握它们提高工作效率更加令人欣慰。了解工具的所有快捷方式, 即编辑器、OS、命令行, 每天都可以节省大量时间。如果能够将日常任务自动化,则可以让你更快地取得进步, 更进一步消除工作倦怠。

  • 休息,保持对其它事物的激情。 除了编程之外, 还有许多有趣的活动。例如: 体育、文化活动、性、阅读、乐高、社交、钓鱼、烘焙咖啡、摄影等。如果你一直只做一件事, 比如编程, 总有一天你会不可避免地醒来 — 因为没有生命而憎恨自己。此外, 做一些看似与你的 "实际" 工作无关的事情, 可能会重新点燃你的激情, 激发新的想法, 就像理查德·费曼(著名物理学家,诺贝尔奖得主)在研究板块活动时一样。

  • 考虑切换工作内容或启动不同的项目。 如果你当前被困在做无趣的、耗费精神工作上, 比如整天调整现有的代码库。或者你所从事的项目可能与你的兴趣或价值观不符。此外, 如果你发现编码不再能引起你的兴趣, 不妨看看其它相关的领域, 如信息系统架构(Information Architecture), 系统管理(Systems Administration)等,可能会重新激发你的激情。

  • 完成例行任务, 将那些你知道可以完成的内容纳入每日工作。诸如完成代码测试、写注释、改进变量命名等, 完成这些活动将释放内啡肽(神经递质,产生类似于吗啡一样的止痛效果和欣快感)。这是一个简短但非常有价值的提示, 这一过程使我们的大脑对我们的工作感到更加积极,非常有助于恢复工作能力。

扩展阅读

IT 工程师养生指南
医学常识| NIH 情绪健康检查单
Flux
数据可视化(一)思维利器 OmniGraffle 绘图指南
数据可视化(三)基于 Graphviz 实现程序化绘图
数据可视化(五)基于网络爬虫制作可视化图表
最佳写作实践:从Evernote到Ulysses
我的写作工具链
Kanban 看板管理实践精要
嗑药简史(四):咖啡上瘾,喝还是不喝?