误区4:程序员不是一般人

        本文为清华大学出版社《Java程序员,上班那点事儿》节选。

从一个做会计的女生对程序员的误解说起:
    那天和一个做会计的女生聊天,问她对程序员或者编程工作的看法。她搬出了一大堆词汇,立刻让我晕倒。她说:“编程序很深奥,工作很枯燥,程序员编程累脑子,干的时间长了看着程序员都有点木,这活儿可不是一般人能干的。”

2.4.1 程序员的与众不同与平凡
        我自问我自己就是普通人一个,两个肩膀扛着一个脑袋,再普通不过了。再看看我身边的这些程序员,哪个也没长出三头六臂来,正是这么一群普通人却在人们眼中是那么的不一般。

2.4.1.1 程序员的与众不同
        程序员的与众不同也许正是让人们产生不是一般人的误解的原因,作为程序员由于工作和思维习惯的不同,已经逐步形成了一种生活方法和定式,这些行事风格让人一眼就可以看出他是一个程序员。

2.4.1.1.1 逻辑思维推理能力强
         程序员的工作性质决定了这个特性,开发应用程序过程中的每一个代码组合都是需要较强的逻辑思维推理能力将其堆叠出来。

2.4.1.1.2 有强烈的危机意识
        开发应用程序的时候,能够时刻保持警惕,随时准备处理各种危机,面临困难镇定自若,冷静的处理困难,一步一步逼近各种技术难题,并将BUG赶尽杀绝。

2.4.1.1.3 有完美的控制意识
        程序员们对解决方案最完美的追求可谓是发挥到了极致,如果有更好的解决方案,则会毫不留情的清除掉数千行耗时数日的代码,用新的解决方案来取代。
程序员最瞧不起利用简单的临时程序处理关键问题的不负责任的编程行为,比如:为了解决守护进程调度的多线程程序中进程无法正常退出的异常问题,采用编写一个脚本在进程启动前KILL全部该名称进程的做法,是优秀程序员们嗤之以鼻的。

2.4.1.1.4 人生的战略规划意识
        程序员们对自己未来的发展路径看得很清晰,对自己的每一个发展计划都有比较有高度的战略规划,能够在长期的应用软件开发过程中持之以恒,工作一直保持严谨的工作态度,有张有驰,忙而不乱。

2.4.1.1.5 强烈关注开发细节
        程序员们非常关注应用程序开发的细枝末节,对于人机界面中某一个按钮的摆放位置,或者对于代码中的拼写错误,排版不一致,甚至更小的看起来不影响程序运行的小的瑕疵都不能容忍。这正是一个优秀程序员所应该具备的品质。

2.4.1.2 程序员的平凡
         程序员们是那么的与众不同,这都是职业习惯,有人也把这些习惯称作是“职业病”。然而,程序员们却又是如此的平凡,他们在具有优秀特征的同时也显露出了一些平凡的欠缺之处。

2.4.1.2.1 逻辑思维推理能力强,但容易钻进牛角尖
        程序员们的逻辑思维能力可以让他们在程序的世界中翱翔驰骋,多么复杂的程序在他们面前也都是小菜一碟,任何难题对他们来说都是无往而不利。然而正是由于他们具有较强逻辑推理能力,才使他们对无关紧要的事情也容易陷入逻辑推理惯性思维。
        像这样在普通的无关紧要的事物上进行逻辑推理的现象,我们把这个称作是“钻牛角尖”,也正是因为此,才被别人误解为爱“钻牛角尖”的一群人。

2.4.1.2.2 有强烈的危机意识,但总是患得患失
        危机无处不在,为了应对一个可能发生但还没有发生的潜在危机,做出数种应对策略,划出多道马奇诺防线,这点用在程序开发上让程序员面对任何风浪都能拿出解决方案。然而,在生活中这种危机意识使程序员总是患得患失,总是在那些还没有发生的事情上苦恼,这也是常有的事情。

2.4.1.2.3 有完美的控制意识,眼睛里揉不得沙子
        我们看到程序员们对解决方案最完美的追求可谓是发挥到了极致,这一点用在工作中绝没有问题,但是,在生活中却是一个绝对完美的追求者,不免让人产生有“眼睛里揉不得一点沙子”的感觉。有时候不能容忍一件事情的一点瑕疵,也是程序员们苦恼的来源。

2.4.1.2.4 人生的战略规划意识,把人生当成编程
        虽然程序员们对自己未来的发展路径看得很清晰,对自己的每一个发展计划都有比较有高度的战略规划,但是,程序员们往往把生活和人生也看成是编写的程序,生活的每一步都是按照预先设定好的程序运行的,人生如果变成了程序未免太缺乏乐趣了吧。

2.4.1.2.5 强烈关注开发细节,忽略的自己的身体
        程序员们非常关注应用程序开发的细枝末节,他们经常因为一个界面中的按钮位置而熬夜,因为一个代码的效率而忘记吃饭,为了一个程序运行的小的瑕疵而一天都不喝一口水。

2.4.2 程序员们就是一般人
        程序员们得到了那些“不一般”,但失去了那些“一般”,然而,毕竟程序员还是普通人,程序员们啊,还是应该非常认真的去做一个一般人。

2.4.2.1 工作和生活是两个事情
        程序员的欠缺其主要原因就是生活和工作没有区分开来,工作和生活必须分开才能将好的品质用于工作而并没有将他们带入生活。
        工作就是工作,生活就是生活,在工作中要全力以赴展现出程序员的全部优秀品质,在生活中尽可能的忘掉全部工作去拥抱生活,去享受生活,只有这样才能成为一个健康快乐的一般人。

2.4.2.2 程序员的头发与桌子
        将这两个毫无关联的东西放到一起说,是因为一个有趣的现象,一个程序员桌子越乱,他的头发就越乱,不知道是巧合,还是必然规律。

2.4.2.2.1 头发问题
        请十二分的注意你的头发,不用“油光可鉴”,也最好让其“各就各位”。很乱的头发,并不能代表你的个性,相反会让和你接触的人感觉你的工作风格有问题。

2.4.2.2.2 桌子问题
        请二十四分的注意你的办公桌面,不用“层次分明”,也最好让其“一目了然”。不要把技术书籍散落到你的桌面的各个角落,你桌子上书的多少并不能代表你的技术水平的高低。

2.4.2.3 编程序要多多补充水分
        程序员生活中的这个细节也需要注意,很多程序员在工作中由于精神往往是处于高度集中的状态,在这种状态下工作,造成的直接结果是喝水较少。
人的每天水的摄入量必须是一定的,否则也会导致程序员的身体问题,最终影响工作质量,比如直接影响到大脑的灵活程度。
        最近香港卫生署做了一次大型调查,最终结果表明,喝水不够,大脑会迟钝。专家提醒,一个健康的成年人每天应喝6—8杯(每杯约240毫升)水或其他饮料(如果汁、茶等),否则极易出现脱水,对身体健康造成伤害。
        作为程序员的我们,为了让我们以更充沛的精力来编写代码,减少返工次数,请务必多多补充水分。

2.4.2.4 增加运动保护视力
        较多的程序员们容易出现对着电脑工作长达数小时,保持一个姿势不动,或仅仅做一些细微的坐姿调整等现象。这样的习惯会对腰椎、脊椎、下肢、坐骨等部位造成影响,长久的盯着屏幕,眼睛不能得到休息,从而对视力造成影响。
        因此,在工作一段时间后,要活动一下身体,并向尽可能远的方向瞭望,以使的身体和眼睛得到休息。

2.4.3 点评“一般人”
        没有比做个一般人更令人向往的事情了,永远不要指望自己是一个超人,因为超人不存在。不要让自己离正常的社会越来越远,不要让自己的身体受到伤害。
一般人:
是地球上数量最多的人。

本文为清华大学出版社《Java程序员,上班那点事儿》节选。