最近我特别想把盘旋在我心头的一些话,写给大家:软件开发人员的压力真心大。
首先要声明的是:我这不是在抱怨……在这篇帖子中你读不到任何怨言,因为我真的很喜欢我的工作。计算机科学是我最大的爱好之一,所以能在这个领域工作,我觉得非常幸福。但编程还是一份工作,是工作就会有压力,虽然压力可以带来正能量也会形成负面影响,不能一概而论,但总的说来,这还是压力!
经过与许多同事和朋友的讨论,以及我自己的一番思考,我得出了造成软件开发人员压力的因素:技术相关的,过程/方法相关的,以及环境/互动相关的。
就个人而言,我认为技术相关的压力,是有着积极作用的。
你有没有碰到过那种非常棘手的问题——搜寻bug或修复错误,但是花了几天时间依然没有进展?按照我们执着的程序员精神,我们会锲而不舍,于是乎,在超市买啤酒的时候在思考这问题,甚至是睡着的时候还是在想这问题。
但事实是,你越是专注于此,你的大脑就会越迷糊……,而想要解决问题,没有一个清醒的头脑显然是不行的…..这意味着更多的压力!在这些情况下,我们最好能让我们的大脑休息一下,不妨来点体育锻炼!跑步、骑自行车、远足,都能够让我们休养生息,而最为神奇的是,等到第二天你自然而然地就会得到启发。
过程/方法相关的压力就不那么让人愉悦了。
假设正当你为期1年的项目快要完结的时候,你的客户突然要求你更改一些基本的组成部分,一些你曾经花费了大量热情和心血的基本内容……你说你要不要崩溃的?而这就让人感到压力了,难以承受的压力。很多人会在心里咆哮,为什么项目快要结束了才来说这么重要的事情?!
我碰到过很多面临这种困境的朋友,但是目前为止还没有一个一劳永逸的解决方案,不过可以试试:敏捷方法和测试驱动开发。应用敏捷方法有很多好处,其中之一是能够让客户参与到整个的项目生命周期中来。这可以减少错过重要信息的机会,以免在几乎准备好要交付的时候,出现重大变动。另一方面,如果是在技术层面的话,我认为,测试驱动开发(TDD)是必备的:TDD的应用,不但能我们管理疑难问题,还有助于设计出更灵活和更易于维护的代码。
环境/互动相关的压力在我看来是最糟糕的。
不过我很幸运,因为到目前为止,我还没碰到过这样的事情,因为我所在的公司,大家都非常尊重程序员。不过 我也听到过某些程序员的悲惨经历:他们被任命为某个非常项目的唯一负责部门,本来就压力山大了,在去向经理和领导请求帮助的时候竟然还被毫不犹豫残忍地拒绝了。也有人告诉我,他们曾经的公司,完全不尊重开发人员,呼之即来挥之即去,将他们当作是社会最底层的群体。正如我前面说过,我没有经历过这种事情,所以并没有什么有意义的经验……不过,我知道其中有个家伙,后来终于下定决心离开了公司,现在就职于一家创业公司。他对现在的环境表示十分满意!
我还可以提出很多事实依据来证明,软件开发人员的生活充满了压力,但是这样一来就像懒婆娘的裹脚布——又臭又长了,所以就不赘述了。如果你觉得现在的生活压力很大,请千万不要放弃!大多数程序员都经历过这样的日子,相信我,你并不是在孤军奋战!最后,非常希望这篇文章能为你带来一些启迪,thank for reading!