首页 > 代码库 > 程序员如何解除烦恼

程序员如何解除烦恼

程序员都有哪些烦恼呢?搜索了一下还真不少:

  • 读别人的代码郁闷:没有注释,或者读完注释还是不能理解。
  • 读自己的代码也郁闷:写完某功能6个月后再次读自己的代码……
  • 写代码时经常被人打断。
  • 需求描述太简单,无法下手。
  • 需求不停变更。
  • 管理者不懂编程。
  • 不想写文档。
  • 读别人的程序发现没有文档。
  • 与其他人交流不畅。
  • 经常加班。
  • 安排的工作不是自己的兴趣所在:比如安排了解bug或者写测试用例的活。
  • 看到周围似乎都是成功的程序员,各种大牛,可是一坐到自己的电脑前又郁闷了。
  • 不知道如何学习或成长。
  • 年纪大了学不动。
  • ……
这些确实够让人烦恼的,果真如此吗?让我们细细分析一下:

经常加班

加班无论在哪个行业都已不再稀奇。这里聊两个问题:
  • 加班的原因
  • 加班的心态
加班的原因可谓千奇百怪无所不包,但归根结底还是为了欲望。
加班的心态也很简单:如果是为了赶任务,那就是焦急和紧张;如果是为了救火解bug,还得再加上少许的烦躁;如果是因为干不完而独自加班,再加上一点无奈……

原因无法控制,心态可以调整。
只需要一个简单的原则即可解决,但做起来却不那么容易。回想一下自己上一次加班的原因和心态,把欲望之火调低一点,把自我的期望再降低一些。试试看,应该会好一些。

做的事情不是自己的兴趣所在

这个细说起来其实是一个伪问题。
你的兴趣是什么?
答案可能是我喜欢做开发不喜欢测试,我喜欢Java不喜欢别的语言,我喜欢用这个工具不喜欢那个工具……
从上面的一些回复可以看到,其实都是有对比才有所谓的“兴趣”。
再细看一下,这些对比的对象真的是你喜欢的吗?也许是,但也未必。因为通常你看不到全局。
扯得稍微有些远,不过意思应该到了。所谓的兴趣与“非兴趣”差别也未必那么大,就像可口与百事。

接下来,如果不能改变目前要做的事情该怎么办?
很简单,继续做然后尽可能做好。然后你就会厌烦或者因为表现突出而换到别的位置。
这时,你会确定自己的真正兴趣,或者不需要再纠结这个问题了:) 因为做得好的,通常都会变成你的兴趣。

读代码、写文档

这里有两个问题:

  • 自己要怎么做?
  • 遇到不如意的情况该怎么办?
培养良好的编程注释习惯,对于自身编程水平的提高是很有裨益的。当然,这个不需要重头开始。找一个合适的标准和顺手的IDE就可以解决。

如果是Java程序员,可以参见“Java编程规范实践”。

关于文档,各种观点众说纷纭:有人说代码能表达清楚的就不需要文档再来一遍了。

除了流程的需要,很多文档其实蛮有用的,比如需求文档和设计文档,对程序员开发是非常重要的。每个人都希望有一份完整的,思路清晰且书写流畅的文档。但这需要编码之外的努力和练习,比如锻炼写作能力。

自己写文档的好处:锻炼文字表达能力,理清软件的需求和设计。很多时候,自己觉得清楚地问题。如果说出来或者写出来,会发现很多意想不到的问题。所以文档的写作和评审恰恰是这样的好机会。

接下来,如果看到“糟糕的”代码或者没有文档要怎么对待?

吐槽或者愤怒是有可能的,但肯定不会有助于解决问题。那么,合理的发泄之后就是寻找解决的办法

  • 首先,你需要一个很好的代码阅读工具。
  • 然后需要一些代码阅读的思路。推荐读一下《代码阅读方法与实践》
  • 最后就是努力,Fighting了。
  • 当然,适当的交流,寻找“知情人士”和相关的文档是不二之选。

需求不断改动

一般遇到这种情况,反应无非是吐槽或者抱怨。其实,这种时候恰恰是你的“幸运”和机会。

在软件开发中,唯一不变的就是变化了。

设计模式就是为了解决这种问题,还有各种框架和最佳实践。可扩展和低耦合目标就是为了解决这个问题。需求变动的另外一个“好处”就是压力。日常的开发稀松平常,但是所谓的高手和牛人就是在压力之下才会闪光出来。

所以,平常多学习应对变化的知识,即是为了进步,更重要的还是应对软件生命周期中的变化。在压力出现时,恰恰就是自己表现的机会。

奋斗吧,少年!看好所有平时努力的人。

不知道如何学习或者进步

这个问题自己遇到过,也和朋友聊起过。每个人都会有自己的答案,这里分享一下自己的心得。
警告: 失败的经验你可以100%相信,成功的经验请自行斟酌。
这里是一份Java学习路线图,当然里面的经验也会适用其他语言。
总结一下,个人觉得比较有用的:
  • 开始动手前,看看别人怎么学:先有一个大的知识框架,再开始学习会比较好。
  • 具体的技术点学习后多总结,完善自己的知识结构。
  • 学会写作,用文字表达自己的设计或观点:很多情况下你只有这种机会。
  • 看问题要带着批判的眼光,问问为什么,想想有没有不同的见解,最后给出自己的看法。
  • 保持一颗好奇心:所谓编程者的初心

年纪大了学不动

年纪大与学习没有任何关系,有人60岁开始学编程,还有失明的朋友也在学编程。

大部分的行业,随着年纪的变化对职业的要求也会随之变化。大家觉得越老越吃香的行业,比如会计,如果不努力学习和积累,到了一定年纪没有通过高级的资格认证,同样也会面临危机。

年纪不是问题,行业也不是问题,关键是心态问题:保持不断进取的心态,无论行业或年纪都可以有一番作为。

总结

有烦恼很正常,多从自身找原因,多想想解决办法。总结总结,写写博客,也是一件快乐的事。

《唯识述记》云:“烦恼障品类众多,我执为根,生诸烦恼,若不执我,无烦恼故。”

附录

  • 程序员的十大烦恼
  • 主题:60岁的我学编程--别笑我,我用笨办法入门!
  • 盲人程序员的编程生涯