来自“Java中国”优秀的程序员不会觉得累成狗是一种荣耀
分享下“https://java-china.org/topic/28“,也算是对自己的一种告诫吧。
原文:Sleep deprivation is not a badge of honor

先介绍一下作者:Ruby on Rails作者。Basecamp创始人&CTO。《重来》(rework)作者。
缺乏睡眠就像是借高利贷。确实你会多得到几个小时做你以为几个小时就能做完的工作,但是代价是什么?你迟早要把这些时间还回去,如果你不还,会破坏你的创造力,士气,待人的品行。
我们都会偶尔熬夜加班,如果你知道这会带来的一系列影响并且不要成为习惯就没什么。有一个晚上我这么做了。我们推送了一个更新到Basecamp的系统上,这让我一直工作到了凌晨一点半。如果不是早上五点因为代码出了问题我被叫醒这也不算糟。但是随后几天造成的损失是典型的,可以数出来的,并且很高:
固执: 当我非常累的时候,就会不经思考一直傻做下去即便用错误的方式而不是重新思考用正确的方式。终点就像一个永远那么到不了的海市蜃楼而我就却在沙漠里一直朝它走着而不是找到正确的方法。
缺乏创造力: 一个10倍效率的程序员和普通的程序员的区别不是写代码快10倍。而是能通过创造力用10分之一的努力就解决了问题。然而当你疲惫的时候,你的创造力下降,就想不出这1/10的解决方案。
士气降低: 当我的大脑没有全力以赴的时候,它就会喜欢偷懒。比如这已经是早上我第五次刷朋友圈或者一份员工的报告还没读完就去刷微博了。解决真正的难题的积极性就会降低。
易燃易爆: 如果你看到某人不在状态,很可能他就是没睡好。在你累的时候你保持耐心的能力显然会受到影响。在你睡眠不足的时候就是你状态最差的时候。
这还只是当你睡眠不足的一些代价。没有一条是我们想要的结果。然而不知道为什么科技界却以熬夜加班为荣。有时候看起来只是为了有吹嘘的本钱。为了什么?让自己显得很重要、非常被需要。就这么希望领导虐你?真正的事实是你没那么特别,没有那么被需要,要做的工作也不是什么紧急的事。
软件开发不像一次百米赛跑,更像是一场马拉松。实际上是好几个马拉松。所以某天做出110%的表现意味着你明天只能做到70%。综合后,你最后只表现了77%。这不划算。
所以我每天都睡满8个半小时。这可以让我保持最佳的输出。也许你不需要睡8个半小时,但是如果你觉得你睡6个小时就够了那肯定是你的错觉。睡眠不足的人经常会大大低估对他们的能力,研究造成的影响。
所以好好睡觉吧。别再吹嘘自己加了多少班了其实你没有得到什么好处。让自己每天都能处于巅峰的状态。
来自“Java中国”优秀的程序员不会觉得累成狗是一种荣耀的更多相关文章
- 在培训机构花了好几万学Java,当了程序员还常被鄙视,这是招谁惹谁了?
在之前的文章中说过,我是非计算机专业,通过参加培训进入程序员这行的. 入了程序员这行后,挺长一段时间在亲戚朋友中,我还是挺有面子的:家族里的第一个程序员,工作不用风吹日晒,收入比其他行业高不少,尤其是 ...
- 迈向高阶:优秀Android程序员必知必会的网络基础
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...
- java程序员从小工到专家成神之路(2020版)
目录 必须掌握的基础知识 1. Git & Github 2. Linux 3. 数据结构和算法 4. HTTP / HTTPS 5. 设计模式 6. 计算机原理 java学习之路 1. 工具 ...
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...
- Java 常用排序算法/程序员必须掌握的 8大排序算法
Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...
- java 书籍推荐 JavaEE程序员必读图书大推荐
java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...
- 在Java大环境下.NET程序员如何夺得一线生机
先来看一组数据,从某招聘网站直接检索3-4w的岗位,会看到Java与.NET社会需求量的巨大差异,这里就不再对比高薪的岗位了,.NET的高薪岗位更是少的可怜: 笔者从业十余年,一直是在.NET圈子 ...
- 我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧
编程任务:1.我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置.听说你是个优秀的程序 ...
- 程序员你为什么这么累? - Controller规范
导读:程序员你为什么这么累? 接口定义:程序员你为什么这么累? - 接口定义 第一篇文章中,我贴了2段代码,第一个是原生态的,第2段是我指定了接口定义规范,使用AOP技术之后最终交付的代码,从15行到 ...
随机推荐
- Ubuntu 14.04 LTS 安装 VNC Viewer
1.修改镜像源: /etc/apt/sources.list将"http://archive.ubuntu.com/ubuntu/"替换为: http://cn.archive.u ...
- Kafka 0.8 配置参数解析
http://kafka.apache.org/documentation.html#configuration Broker Configs 4个必填参数, broker.id Each bro ...
- 局部变量、结构体和main函数
在函数中定义的变量称为自动局部变量.因为每次调用该函数时,它们都自动“创建”,并且它们的只对于函数来说是局部的,局部对象的变量都会默认为空.局部变量的值只能在定义该变量的函数中访问,不能从函数之外访问 ...
- mysql storage enginees
这段时间在看<High Performance MySQL>,看到存储引擎这个地方感到很多细节比较陌生,所以总结小记一些 为 了适应各种不同的运行环境,MYSQL提供了多种不同的存储引擎( ...
- ZooKeeper Recipes and Solutions 翻译
ZooKeeper 秘诀 与解决方案 A Guide to Creating Higher-level Constructs with ZooKeeper Out of the Box Applica ...
- Java中重点关键词的区分
1.final, finally, finalize的区别final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承. 因此一个类不能既被声明为 abs ...
- zepto源码--插入节点--学习笔记
与生成width和height使用的方法类似,通过`after`, `prepend`, `before`, `append`,这四者之间的共性,生成对应的函数.并根据这四个函数,生成 `insert ...
- 动态页面的登陆——装饰器应用<代码>
log_status = False f = open("info", "r", encoding="utf8") source = f.r ...
- (leetcode)Reverse Linked List 脑子已经僵住
Reverse a singly linked list. 参考http://www.2cto.com/kf/201110/106607.html 方法1: 讲每个节点的指针指向前面就可以. /** ...
- leetcode:Valid Parentheses
括号匹配 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the ...