
01
因为在夜间工作有三个得天独厚的优势:1不受他人打扰的环境。2夜间疲劳的大脑让人能更好的集中精力。3明亮的电脑屏幕可以让人保持清醒。这三个优势决定了很多程序员喜欢在夜间工作。
有人说,程序员是一种神奇的动物:喝的是咖啡,挤出来的是代码。
此言不虚,随便找个有上进心的程序员问问,就会发现他们多半都会在深夜活动。有的早起,有的晚睡;有的凌晨4点起床,有的凌晨4点入睡。
这么做的关键还是为了集中精力。但实际上,你完全可以闭门静思,那样跟半夜工作又有什么区别呢?
我认为这取决于三个因素:创作者的日程、沉睡的大脑和明亮的电脑屏幕。
创作者的日程
保罗·格雷厄姆(PaulGraham)2009年撰文描述过创作者的日程——从根本上讲,世界上主要有两种日程。传统的管理者日程以小时为单位来划分,10分钟的干扰最多只会浪费你1小时的时间。
但与此同时,格雷厄姆还总结了一种“创作者的日程”——也就是我们这些搞创作的人所遵循的日程。从事一个庞大的抽象系统,需要把全部精力都投入其中——曾经有人将此比作用昂贵的水晶玻璃来搭建房屋,一旦有人分散你的精力,整个工程都会土崩瓦解成无数的碎片。
正因如此,程序员对干扰他们工作的事情才格外厌恶。
由于这是一笔重大的脑力投资,所以,除非能连续工作好几个小时而不被打扰,否则我们根本无法开始工作。费尽心思在脑海中搭建出了整个模型,但却在半小时后土崩瓦解,绝对是件得不偿失的事情。
事实上,如果你有幸与很多企业创始人进行沟通,就会发现,他们很难在白天完成任何工作。因为在白天,他们要面临各种干扰,需要处理各种重要事情,还要回复各方邮件。所以,多数人都选择在夜深人静,其他人都入睡时,再来干正事。
沉睡的大脑
但就算是程序员,到了晚上也该睡觉——程序员也是人,他们到了白天也会感觉更加清醒。
既然如此,我们为什么还要在大脑想要入睡时完成最耗脑力的工作,反而在大脑最亢奋、最清醒的时候完成相对简单的任务呢?
因为越是疲劳,就越能写出好代码。
与鲍尔默峰值类似(ballmerpeak),疲劳反而能让我们更好地集中精力,原因很简单:因为大脑很疲劳,所以不得不集中精力!没有多余的脑力让你分神。
当喝茶过多或者在不恰当的时候摄入能量饮料时,我的工作效率往往最低。这会导致我异常活跃,一会儿刷Twitter,一会儿看新闻,思维总是东奔西跑,无法聚精会神。
我本以为这样可以更好地工作——精力充沛,脑力富足。但恰恰相反,我始终在牵绊自己的进程,无法集中精力超过两秒。
相反,当我略感疲惫时,我会集中精力编程。由于大脑略感疲惫,所以我能连续好几个小时编程,而不会分散精力去刷Twitter或Facebook,感觉就像互联网消失了一样。
我认为这适用于多数程序员。我们的脑力对于80%的工作而言都是过剩的——面对现实吧,要写出一段生动的代码,需要编写10倍的平庸代码来为它营造良好的运行环境。即使你从事的是最先进的机器学习(或其他技术),很多工作也只是清理数据,以及用令人愉悦的方式呈现结果。
当你的大脑没有全负荷运转时,它就会寻找其他可做的事情。疲劳会让你变得迟钝,集中精力处理手头的工作,无暇顾及其他。
明亮的电脑屏幕
这一点很容易理解。在夜间盯着明亮的光源,你的睡眠周期就会推后。你会不知疲倦地工作到凌晨3点。然后,你会一觉睡到上午11点。而夜幕降临时,你也不会感觉疲劳,因为你11点才刚刚起床。
经过足够的反复后,你相当于进入了不同的时区。更有趣的在于,这种状态似乎不会反d:一旦你进入了凌晨三四点入睡的均衡状态,就会始终保持这种节奏。
或者,当周围的人都告诉我们,下午2点吃早餐实在是太懒惰了,那么我们或许就会让闹钟来改变自己的作息时间。
综上所述,程序员之所以在夜间工作,是因为在这样的环境下,工作时间不会被施加任何限制,这就给了你更大的灵活性。而且,你的大脑也不会反复地分心,而明亮的屏幕也会让你保持清醒。
程序员是脑力劳动者,那首先就要劳逸结合,适当做一些体力劳动,比如做家务活,还可以结合体育锻炼,比如长跑,打羽毛球,打太极,公园散散步等。都可以有效调节脑力劳动带来的不适。
其次,凌晨34点才睡觉不符合科学的养生观点,晚上11的以后是养五脏的时间,尽量让自己在11的之前上床睡觉,形成科学合理的生物钟,才能保证健康的睡眠。
再有,如果刚躺下睡不着,可以听听睡前轻音乐,那种比较柔和的音乐,可以听听睡前讲故事,选自己喜欢的故事,还有一个小方法,就是闭上眼睛转动眼球,转圈也行,上下左右来回移动也行,转眼球五到十分钟,就会有困意袭来,可以安然入睡了,这可是专家推荐的小方法呦。
最后,祝愿你有一个高质量的优质的睡眠。
程序员自己也常说,工作效率最高的时候总是在深夜,不是凌晨还在写代码就是凌晨爬起来写代码。
深夜之所以工作效率高是因为不易分心,额!其实仔细想想晚上和白天并无多大区别,但程序员们也总是有自己的理由,大致分为一下三点。
1生产型时间表
记得曾看过一篇关于时间表的文章,他们把时间基本分为两类:管理型和生产型时间表,所谓的管理型时间表是把一天的时间分成每小时来安排,就算是有别的事打扰到你也只是浪费了这一点时间。
而生产型时间表就不一样了,这段时间是程序员需要全身心的投入到工作中去,不希望在这之中有任何人去打搅到自己的时间,因为一旦被打搅到了,之前的所有思绪可能要发上很大一分部时间来整理清楚。
所以,很多的大人物也都是如此,他们也发现如果想在白天好好工作是不太可能的,因为一整天当中自己要应付很多人的打扰,所以他们只能在晚上别人都睡觉的时候,才能好好的静下来完成大多的工作。
2晚上大脑最为专注
其实在白天的时候人的大脑才玩清晰更有精力,那也许很多人会问了,既然如此,那为什么程序员会喜欢在深夜写代码呢?
可能很多程序员都有感触,其实在深夜人比较疲倦的时候编程效率更高,因为当你感的疲倦时就会集中精力做一件事情,反而是白天精力充沛的时候却不能专心做一件事情。
个人就是个例子,当白天有精力时总是喜欢看看网页,刷刷微博,看似忙碌的一天,其实什么也没做好。就算是静下心来想编程时,集中注意力也总是超不过十分钟。
而到了晚上就不一样了,虽说感觉有点累,但真的能静下心来好好写代码,也没有多于的心思想其他的。
其实这种情况很多程序员都有同感,白天大脑充沛时,无伦是写问题分析还是想写个好点的算法,这些都是小意思,但当你的大脑累的时候,没有多于的精力照顾到其他的时候,你就会只选择一样去专注。
3显示屏会刺激你的大脑
这的问题就较轻易理解了,到了晚上,你看到的只有电脑显示屏的光源,他会刺激你的大脑延迟你睡眠的时间,所以你会暂时忘记了困意,然后会到凌晨3点多才睡,而到第二天中午才会起床,然而到了晚上我会发现自己竟然不困,其实你只是忘记了你是睡到中午才起的床。
如果真的这样一直下去,你的作息就会往后延迟了。
4总结
总的来说,程序员为什么总是熬夜主要是因为他们对晚上工作时间没有限制,怎样做才能改变这些现状呢?那就要靠你个人的控制力了。
希望可以帮到你,谢谢!
每个人职场人都希望在一个轻松、开心、干净、舒适的环境里面工作,这样心情好工作起来自然效率高,但是这毕竟是理想状态下的工作环境,当然现在绝大多数企业工作环境虽然达不到百分百,但至少有百分之六七十以上吧。
那么对于程序员这种有点特殊的工种工作环境又是怎么样的呢
程序员又被人们称之为码农,也有人调侃戏称“程序猿”,程序员对工作环境往往需要有一张大的办公桌,他们不仅用一台电脑在工作,有时候需要几台电脑同时 *** 作,而且遇到一些bug或者瓶颈的时候需要和同事协同工作,当然在硬件方面除了办公桌要大外,还需要配置比较高的电脑,毕竟这是程序员最基本的工作工具,试想如果刚有灵感,结果电脑卡顿或者死机了,那有可能灵感顿时就消失了,所以他们大多数工作环境都拥有足够大的办公桌和高配置的电脑。
前面就提到了程序员是有点特殊的工种,因为他们往往加班到很晚,时常会通宵,这就和我们正常上班的时间上错开了,他们往往白天睡觉,晚上工作,有时候为了打起精神工作,他们提神的方式各自不同,有抽烟的、有喝咖啡的、有听歌的等等,大家可以想象这是什么样的工作环境吗?但是程序员工作的时候,大多数情况下都需要安静的环境,毕竟安静能让人更好的思考问题。
每个人对工作环境要求都不一样,让自己觉得舒服的环境是自己愿意留在公司的原因之一吧,程序员也是一样的。
大公司的程序员,工作环境基本上就是一个电脑版的“衡水中学”,每天就是开会写代码改代码查代码开会继续循环往复,跟中学里每天就是拼命读书刷题刷题读书吃饭无味上厕所要跑一个样。
硬件配置无需你考虑,肯定是够你用。跟人的成本比起来,硬件就是个渣。
大公司的程序员工作比较稳定,每个人的分工是比较明确的,职业路径也很明晰,越往上的职位对智商的要求越高,这点和靠情商往上升的工作还真有点不一样。在程序员这个队伍里拍马屁搞关系基本没啥用,你写的代码都无需用户检验,自己一跑就知道成不成。这也是IT公司通常人际关系和氛围都比较轻松且简单直接的根本原因,特别适合那些不喜欢搞关系的同学去撸起袖子加油干。
如果你想在这个行业长期发展,智商一定要够用,真的。有没有基础倒在其次,如果数学好更佳。有些业内大咖本身是学数学或物理这些靠智商吃饭的学科的。
小公司的程序员,尤其是那些非IT类小公司里的程序员工作压力更大。面对不懂程序的销售和老板,还有极度贪心又不愿多付费的客户,需求三天两头变,界面是个人就可以提意见改,时间永远是“明天就要”。他们觉得程序员比悟空办法多,所以什么要求都提得出来。能在小公司做出成绩的程序员,真心让人敬佩不已。
小公司的程序员是掌握公司核心机密最多的人,比老板都掌握得多,所以通常他们的待遇也还过得去。另外他们一来二去把公司业务摸透了,出来自己干的也不少,当然能不能干成是另一回事。
其实程序员的工作环境真没什么要求,只要没什么干扰就行。学霸们在这里会找到十分熟悉的感觉,所以程序员之间以“同学”相称的极多。
我是2015年本科毕业的,但是2014年就开始工作了,从程序员+运营的工作开始实习(其实也是看最后哪一个更合适就走哪一个方向)。
对于实习阶段,因为当时待的是小公司,所以大家的配置都很一般。几个主力程序员加上我这个实习的,工作用的都是windows笔记本,联想的,除了我自己配的固态硬盘之外,很多都是机械硬盘在跑,没有特别明确的代码库规范、没有知识系统,交流全靠跑,有的是后端和前端一起干、前端和客服一起干,所以我兼职运营也是如此……平时要是不忙的话,那还没什么事儿,大家会闲聊扯淡,也算是其乐融融;但是要是忙起来,可能会突然加班到很晚——当然这种情况还是比较罕见的。
工作到了中型公司,跟以前的小公司就不在一个量级上了。这个时候主要的工作是后端开发,配置的电脑是联想的ThinkPad,但不是最高配那种,仍然没有固态硬盘,慢的要死。第一梯队的程序员配置有双显示器、机械键盘、mac。我的话配置的是外接显示器,座椅很一般,坐久了比较累。公司分工明确,办公室跨越两座楼,各个团队都有自己的办公室。有自己的wiki、定期站会、严格的代码规范、安全规范。一般情况下主要是在解决各种bug,或者开发新系统。偶尔流量高峰的时候,会加班到一两点,平常并不是特别忙,工作还是比较有序的。
其实想要招妹子进团队的,因为我们团队唯一的测试工程师长得真的一般,而且性格也很差……一个性格好长得好看的运营妹子真的能调动整个团队的气氛。
所以什么机械键盘、Mac、外接多少显示器、加多大固态硬盘、多好的人体工学座椅……这些都是假的,开发的团队里面有好看的妹子才真的是“好的开发环境”。
可以穿拖鞋?可以戴着耳机听着歌?配备两个显示器?身边总是围绕这MM端茶递水果?还是以上都不是,而是诗和远方?
程序员,一个高薪却严重亚 健康 的群体 。他们有着极客精神,疯狂coding的时候可以废寝忘食,但他们也追求精神自由,喜欢自由自在。对于这样一个群体,良好而又恰到好处的工作环境显得尤为重要。
1 d性上班制
常规企业的朝九晚五上班制度,说实话并不适合程序员一族,因为这种制度一定程度上扼杀了这个最需要差异性的群体的差异性,把程序员的Coding灵感等同于工厂流水线上机械手臂,希望按钮一按下,灵感发动,按钮再一按下,灵感结束。这是一种一厢情愿的想法。
所以对于高层次的程序员群体,请不要在作息时间上严格限制他们,因为他们不是装配工,有着独一无二的个体差异性,有着不同的思维G点,他们需要差异性的时间作息来调整自己的最佳状态,从而迸发激情和灵感。
2 宽松的工作氛围
程序员群体讨厌管理,任何自上而下的所谓管理都容易引起程序员们的心理抵触,特别是那种死板的、指令式的管理模式,尤其让程序员们作呕。
程序员们希望自己做的事情是出于内心的意愿,那样他们就会干劲十足,而不是来自于经理计划文档中那条冷冰冰的文字,哪怕是他们心里意愿的和经理的计划本是同一件事。所以对于程序员群体的管理需要技巧,要化管理于无形,让他们感觉不到管理的痕迹,让他们感觉着做这些事情就是出自于他们自己的意愿。
总结来说就是让他们作为自己的管理者,而团队的管理者所要做就是培养他们这种自管理的能力。
适度的压力可以产生做事的动力,但长时间的持续的压力却是扼杀激情和创造力的罪魁祸首。压力会让程序员焦虑,同时也会造成低劣的设计和代码实现,因为交付的压力会让程序员对匆忙设计出来的方案妥协,而不会持续的优化找到最优方案。而一系列看似微不足道的缺陷设计集合到一起,就会形成让人意想不到的、不可控制的乱象。
所以,“快”不见得是好事,“慢”也不见得是坏事。
3 鼓励参与开源项目
开源项目社区的欣欣向荣,是一朵盛开的奇葩,无论怎么赞誉都不为过。
一些著名的开源项目,例如Linux,Apahce, openssl等等,数不胜数的优秀设计,给我们带来了多少的惊喜,同时也催生了多少的商业公司。
参与到开源项目中,是一个程序员从初级走向高级、完善技术的最有效途径之一。一些著名的开源项目,架构设计和Coding技巧上都属上乘之作, 浸*其中,受益匪浅。
其实以上三点不仅是对程序员群体,对任何一个职业的人来说都是适用的。再看下知乎上程序员们理想中的工作环境是怎样的。
@萧井陌:我读书的时候就有一个执念,一定要找一家可以穿拖鞋背心大裤衩上班的公司(当然我不穿大裤衩),如果我找不到这样的公司,说明我学得不好,所以我一直以来努力的目标似乎只是为了进一个能穿拖鞋的公司?哈哈哈哈。。。
@知乎用户:我只想要2个显示器
@知乎用户:1安静,没有人随便喊你或者在你耳边说话;2绝对的自由,程序员都有一定的怪癖,比如我喜欢听着摇滚乐写代码。这些都要被允许。3温度,气味舒适的环境。
4有个养眼的MM同事,大概是这样的
嘿,箭头方向那个哥们才是真正的程序员吧
5独立10M光钎线
@Indream Luo,软件工程师:1女多男少,人均年龄不到27;2身处白云山上,与广东外语外贸大学一墙之隔;3无边界文化,有问题可以找任何人沟通,包括高层,如果你见得到;4 健康 文化,加班有补休,提倡8小时,自建食堂和农场,买下巴马泉眼特供矿泉水
@石磊
硬件:
1 顶配的 MacBook Pro。
2 上厕所不需要排队。
与人相关:
1 不会在开发到一半时被通知要重新讨论功能,然后把以前做的东西全部推翻。
2 没有不必要的会议,必要的会议速战速决。
3 行政人事什么的做事清爽高效,这样不用在各种日常手续上浪费时间,只管写代码就好。
4 同事们效率高、工作态度严肃、善于沟通、活泼有趣。
@张英锋:最理想的工作环境应该是能帮助团队沉下心来,开发出最好产品的环境。
1上级对程序员工作的认可和尊重;
2对所作的工作有自主权和决定权;
3营造能让程序员专注于工作的设施,比如大家都提到的安静、以及各种提高生产率的硬件条件;
4最后是公司是盈利的,最好是暴利,能持续提供更多福利。
@庄生:其实最重要的工作环境,还是有一帮靠谱的同事,真心的。可以术业有专攻,但是该你负责的你负责到底,保质保量,不要麻烦别人。
那你呢?你希望你的工作环境是怎样的?
上联:一个项目两部电脑三餐盒饭只为四千工资搞得五脏俱损六神无主仍然七点起床八点开会处理九个漏洞十分辛苦 ;
下联:十年编码九年加班八面无光忙的七窍生烟到头六亲不认五体投地依旧四肢酸软三更加班只为二个臭钱一生孤苦;
横批:苦逼程序员。
程序员飘过
作为一名程序员的我可以很负责任的说:是的,工作环境就像问主那样,可能会稍微好点,我们公司都是中央空调,不用电风扇!
我在程序员的岗位上也有好几年了,也待过几家公司,其实就工作环境来说,程序员的工作环境还是不错的,不用风吹日晒雨淋,而且是冬暖夏凉!和人们眼中的白领工作人员的工作环境是差不多的。
工作氛围其实也是很好的,程序员在穿着方面大部分公司是没有什么太大要求,可以穿着自己喜欢的风格(脑补一下大裤衩配凉拖的程序员正在撸代码),同事之间的交流也是很活跃的,所以程序员的苦逼之处不在工作环境,而是工作内容和压力。
程序员分工:
1纯软件工程师,就是只靠电脑吃饭的,设计包括但不仅限于---网页、架构、UI、数据、运维、系统等等,整天与代码打交道;
2Firmware(分位)工程师,半软半硬的工种,要焊板,要搭建环境,还要写代码维护代码,算法可能没有纯软件工程师牛,但动手能力绝对强,涉及的知识面可能更广。
本人就是后者,来看下我的桌面:
各个公司对于办公环境都不一样,国外都注重个人隐私,很多都是一个人一个封闭的房间。国内大部分就像图中所示那样,半隔开。也有 科技 公司,鼓励大家敏捷开发,多沟通,开方式办公
请忽略那些包含“安静,优美,闲逸的办公环境”的答案吧!
图中的环境,只是正常普通公司的工作环境。
不一定是程序员的。
程序员的工作环境,因工作内容,导致需要很多屏幕。
而且电脑配置也需要很高。
每个人因面对的公司、自身能力等因素,都会导致工作环境的不一样。
所以就有了工作环境好坏的区分。
如果你曾对着大海构思过某个接口,
在樱花飘落的院落里调试过代码,
那么你还觉得在写字间喝着咖啡对着三屏显示器敲键盘是理想的环境吗?
工作环境,还是得靠自己改变。
在程序者的不断追求下,编程是可以和写作一样成为艺术创造过程,
那么任何一个能够激发出你灵感的时刻和环境都应该可以成为你的办公环境。
资深码农应邀回答这个问题。笼统来说,程序员的工作环境与图中展现的差别不大。但根据工作属性和所属行业来讲,还是有一些区别。
甲方和乙方的区别
我在刚毕业时进入了一家软件外包公司,几乎所有的工作都是在甲方所在地完成的。
因为甲方员工是公司的稳定员工,所以工位来讲就要精致一些,配备也要完善一些。一般都会是隔间,有抽屉、插座、文件架、座机、台式电脑,甚至还有床等等。
而我们作为乙方因为流动性大,人数也不固定,甲方公司不太可能为我们准备这些精致的办公位,一般只是拉几张桌子拼凑起来,然后再接几个线板,有时候靠椅都没有,还得坐独凳。
技术驱动和业务驱动的区别
现在任何一个互联网公司,技术部门是必不可少的。但是有的公司会以业务为驱动,有的公司会以技术驱动业务。
以业务为驱动的公司就会优先考虑业务的发展,然后技术来辅助实现。我现在所在的就是这样一家公司,这样的公司技术部门就会非常的小,人员也会很少。这样的公司程序员的工位大体上和整个公司的风格没有太大的区别,因为人少,一般只有5-6个人,做技术的也喜欢安静,所以一般位置会选择靠近办公室的角落。
以技术为驱动的公司会依靠自身技术实力结合行业发展,碰撞出一些具有竞争力的业务品种,并与业务部门配合来实现并推广产品。这样的公司技术人员起码占到50%以上,这样的公司更有可能为程序员规划一个单独的大办公室,与外界隔离。一方面是为技术人员提供安静、舒适的办公环境,另一方面也是尽量避免闲杂人等进出公司技术核心所在地。
以技术为驱动的公司往往技术实力比较突出,所以他们会为自己的技术团队配备“驾驶舱”、小机房等设施。
就问题中的格子间来讲,不管是什么性质的公司,只要场地不是特别的拥挤,都会设计成格子间,这样既保护了员工隐私也充分利用了办公场地的空间。这并不是程序员特有的风格。
还不错。成都西南凯亚程序员上班时间为八个小时,工作压力不大,上班期间有合理的休息和作息时间,人员平均工资2500-10000不等,有饭补。成都民航西南凯亚有限责任公司是由中国民航信息网络股份有限公司、中国国际航空股份有限公司、四川省机场集团有限公司、四川航空集团公司等四家股东单位合资组建的股份制公司,于一九九九年十二月八日正式成立,并相继成立了贵阳办事处和拉萨办事处。
通常我们进入公司以后,不会是重头开始一个项目,而是在已有代码的基础上进行维护或新功能的开发,所以必须“读代码”。
读有“泛读”,了解系统架构、功能模块,对系统有一个大致的认识,各个功能能找到相应代码实现的位置。
还有“精读”,通常就是调试了,在fix bug的时候使用。此外还包括审核:一些规范一点的公司,都会有code review,也是精读,但不用debug。
对于一个成熟的项目来说,读代码——而不是写代码——可能是最耗时间的工作了。
写注释文档
为了减少“读代码”的时间,我们不得不花时间“写注释”“写文档”——这个程序员最深恶痛绝的工作。所以现在“烂代码才需要注释”的声音变得越来越强,但无论如何,文档还是要写的。(注意:要能区分注释和文档)
了解需求
好了,终于到了“写代码”的时间了。
然而,在动手开始写代码之前,你必须花时间“了解需求”。和自己写个小程序玩玩不同,在公司,你是为别人写代码,所以你一定要了解别人究竟想实现什么功能。通常,这并没有你想像的那么简单,需要反复的沟通。
当然,也有一些团队和个人,不愿意在这上面“浪费时间”,通常他们的下场就是不断的写代码,然后不断的改代码,加班加点的做大量的无用功,整个公司怨气冲天一地鸡毛。
以上就是关于程序员为什么喜欢夜间工作全部的内容,包括:程序员为什么喜欢夜间工作、我是程序员,每天敲代码到凌晨3、4点,可是躺着以后还是睡不着怎么办、为什么很多程序员都喜欢熬夜,而且感觉在后半夜工作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)