程序员如何解除烦恼

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

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

这些确实够让人烦恼的,果真如此吗?让我们细细分析一下:

经常加班

加班无论在哪个行业都已不再稀奇。这里聊两个问题:

  • 加班的原因
  • 加班的心态

加班的原因可谓千奇百怪无所不包,但归根结底还是为了欲望。

加班的心态也很简单:如果是为了赶任务,那就是焦急和紧张;如果是为了救火解bug,还得再加上少许的烦躁;如果是因为干不完而独自加班,再加上一点无奈……

原因无法控制,心态可以调整。

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

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

这个细说起来其实是一个伪问题。

你的兴趣是什么?

答案可能是我喜欢做开发不喜欢测试,我喜欢Java不喜欢别的语言,我喜欢用这个工具不喜欢那个工具……

从上面的一些回复可以看到,其实都是有对比才有所谓的“兴趣”。

再细看一下,这些对比的对象真的是你喜欢的吗?也许是,但也未必。因为通常你看不到全局。

扯得稍微有些远,不过意思应该到了。所谓的兴趣与“非兴趣”差别也未必那么大,就像可口与百事。

接下来,如果不能改变目前要做的事情该怎么办?

很简单,继续做然后尽可能做好。然后你就会厌烦或者因为表现突出而换到别的位置。

这时,你会确定自己的真正兴趣,或者不需要再纠结这个问题了:) 因为做得好的,通常都会变成你的兴趣。

读代码、写文档

这里有两个问题:

  • 自己要怎么做?
  • 遇到不如意的情况该怎么办?

培养良好的编程注释习惯,对于自身编程水平的提高是很有裨益的。当然,这个不需要重头开始。找一个合适的标准和顺手的IDE就可以解决。

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

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

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

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

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

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

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

需求不断改动

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

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

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

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

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

不知道如何学习或者进步

这个问题自己遇到过,也和朋友聊起过。每个人都会有自己的答案,这里分享一下自己的心得。

警告: 失败的经验你可以100%相信,成功的经验请自行斟酌。

这里是一份Java学习路线图,当然里面的经验也会适用其他语言。

总结一下,个人觉得比较有用的:

  • 开始动手前,看看别人怎么学:先有一个大的知识框架,再开始学习会比较好。
  • 具体的技术点学习后多总结,完善自己的知识结构。
  • 学会写作,用文字表达自己的设计或观点:很多情况下你只有这种机会。
  • 看问题要带着批判的眼光,问问为什么,想想有没有不同的见解,最后给出自己的看法。
  • 保持一颗好奇心:所谓编程者的初心

年纪大了学不动

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

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

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

总结

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

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

附录

程序员如何解除烦恼,布布扣,bubuko.com

时间: 2024-10-29 19:06:18

程序员如何解除烦恼的相关文章

读书笔记——程序员成长的烦恼(吴亮等)

最近在读一些技术领域相关的书籍,以了解那些传说中的技术牛人是怎样在日常生活中一点一滴积累自己的工作经验的,从而更好地让自己明白以后自己要走的这条路会遇到什么挫折,让自己更加勇敢的有准备的迎难而上. 昨天开始读程序员成长的烦恼,才明白原来现在的技术牛人在成为牛人之前都曾经经历了那么多的不如意和挫折,也为刚入IT不久的小鲜肉我坚定了从事技术开发的信念.今天读这本著作我摘抄了以下学习的几个方法供大家参考. 1:以前自己做过的项目一定要经常拿出来看,总结和改善--这一点我需要加强和改善 2:通过论坛博客

《程序员成长的烦恼》

写在前面 首先声明这是一本2011年出版的书,所以不具备实时性,如果你想找一条别人走过的路借点儿经验,那么这本书并不适合你,因为书里给的路差不多都已经out of date了. 如果你已经有了明确的目标,只是不知道该怎样更快地向目标靠近,那么赶紧看看吧,书里的前辈都是在前进的道路上无所不用其极才获得成功的. 如果你也是搞(计算)机的,也是挨踢人士,但目前有点儿迷茫,不知道下一步该怎么走,那么,快点一口气看完它吧. 读后感 <程序员成长的烦恼>一书讲述了还在IT业的门外游离徘徊,还在编程的道路上

《程序员成长的烦恼》 读书笔记

PB15061359  王亚正 这本书是由四个人共同完成的,讲述了四名优秀的程序员从高中开始到现在的关于编程的经历,以及他们的一些感悟. 总的看四个人中前两位是从小开始接触计算机编程,而后两位一个是从大学开始决定从事计算机行业,最后一位是在大学毕业之后才开始真正意义上的开始学习编程.但四位作者有几点相同:首先,四人是真正的热爱编程,其次,四人都一直在坚持学习,当他们遇到新的问题时马上开始新的学习,所以说他们的知识是在不断更新的,活到老,学到老.这一点和之前所看的<一个程序员的奋斗史>中的主人公

程序员的十大烦恼

10. 注释 - 只解释了"how"却没有解释"why"入门级的编程课程通常会教育学生们写代码前先写注释.而且要尽量多注释. 这种教育的出发点是"多注释肯定比少注释好.少注释肯定比没注释好".可不幸的是,很多的程序员把这当成了一种任务,对每一行代码都注释一下. Java code? 1 2 3 4 5 6 r = n / 2; // 让 r 等于 n 除以 2     // 当 r - (n/r) 大于 t 时进行循环   while ( abs

程序员、技术领导、管理者各有烦恼,你占了几条?

我专业从事软件开发工作已超过 10 年的时间,我热爱这份事业,希望有一天我会被人们称呼为老程序员.但这一路走来,我经历了许多可怕的事情,这些事情让我讨厌我的工作.在职业生涯早期,我曾期望有人能给我一份职场指南,这样当遇到之前未曾遇到的事情时,我就不会感到如此的孤单和沮丧. 从某种意义上说,这篇文章就是那样一份指南.我写这篇文章有三个目的. 一.回顾 辨别出我们以往都曾有过的经历.这些会帮助我们建立一些理解上的共识,可以作为判断其他不熟悉的问题的参考点. 二.展望 辨别出一些你还未经历过的新问题,

初级程序员的烦恼

我工作不久,今年愚人节进入一个新的环境.从自己的经历和周边同事感触到,很多程序员都是参加短期培训后从事这个行业的.没有过硬的计算机基础知识,对硬件设备也没有一个较为清晰的认识,我个人觉得这叫技能,而不能称之为技术.在看似市场不错的今天,如果没有很扎实的基础知识,很难到达一个高度,所以毅然决定清除自己的缓存,从头再来... 以下就从硬件方面阐述以下自己的一些看法.计算机的五大组成部分:运算器.控制器.存储器.输入设备,输出设备.之所以先说硬件,我相信载体才是基础. 控制器和运算器:让我联想到了线程

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

当程序员的那些狗日日子

作此文,祭奠我当程序员的那些狗日日子,并与所有仍在艰苦奋斗着的同行共勉. 这里所说的是"我"当程序员的那些狗日日子,但我绝对没有说别人当程序员是狗日日子.在这里我也并没有贬低"程序员"这个职业和这个群体的意思,我只是想写出我的职业经历和表达出我的感受.所以希望您可以带着平常心去看,只当看一个小程序员的职业故事,如果您看后没有骂我,那我就已经感到很欣慰了! ──作者序 (一)毕业后的徘徊 我不是计算机相关专业毕业的,我上的是大专,我的专业叫供用电技术,是跟电力行业相关

.NET 程序员-你应该知道的一些开源项目——收藏

Json.NET http://json.codeplex.com/ Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象.让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json的转换. Math.NET http://www.mathdotnet.com/ Math.NET的目标是为提供一款自身包含清晰框架的