好好爱自己!

【转】反思 成长

在很多时候,我们总是一直往前走却忘了对过往做一个总结,继续往前走。复盘这件事情,一直都在强调,却很少人做。

以下是作为一名程序员经过10年时间总结出的一些有关于软件开发的经验规则:

 

编程真的不是一件容易的事

不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍。工作的时间越久就越能明白这个道理。不过这倒是一个让人进步的机会,因为你要一直不断的学习才能很好的解决你面前的难题。如果你已不有了进取心,那么当遇到难道无法解决时你就会想要放弃。

编程也是最让人沮丧的事情

正常的编程过程都是这样的:尝试、失败、学习、思考、灵感、成功。在这个漫长的过程中,常有人会感到沮丧也是很正常的事,如果最终成功了,那么接下来你会想挑战更难的项目,当然,之前的沮丧就会从新而来,又是一个从新学习的机会,在这个过程中,我们要懂得调整好心态,从新从发。

办法总是要比困难多

经过不断的学习,我们的编程技术会越来越强,对自己也会更加自信。每个人小时候都会有大大小小的闯祸经历,但随着我们的成长和能力的增强,我们很少再去办错事情了。而如今我们也有办法解决我们所犯的错。

编程就像魔法,而我们每个人都成为魔法师

经过我们的努力,学习好编程的各种技能,当你做出来的各种编程代码,让别人操作起来轻而易举的就能得到他们想要的效果时,他们就会觉得我们像魔法师一样,因为我们所提供的这些功能可以让他们更轻松,他们也更需要我们的这种技能。

架构师去写代码往往能作出最佳决策

在我运行的Tech Lead courses中,我提倡技术领导者至少将他们30%的时间用来写代码。花时间于编码上有助于建立信任,尊重和理解当前的系统。在做架构决策时,不考虑到当前系统的约束条件往往会造成错误的决定。

改变需要勇气

我记得曾有人谈论过XP values,其中有一点就是勇气。勇气是领导时所必须的,因为你要冒失败的风险,以及尝试一些新事物的风险/回报。没有风险,往往就不会有很大的回报。

成功的结对编程与良好的协作相关

虽然不是所有的结对编程环境都是健康的,但是我相信,当结对编程有效工作的时候,团队往往具备一种更好的协作文化。许多开发人员更喜欢(长期)branch-based development的反模式,因为它推迟了反馈和潜在的冲突来源。

我把(可导航的)冲突当作协作团队的一个健康标志。推迟反馈,例如长期分支代码审查的情况往往会导致更多的不满,因为它交付得这么晚。

当程序员要防止原地踏步,不是工作年限长了,经验就丰富了,能力就强了,年纪越大工作越难找。

我有一个朋友跟我开玩笑,工作5年的人,可能能力差距会很大,为什么呢?因为第一年他们干的事情都是一样的,都写程序了,2个人可能由于价值观不一样,5年后差距会很大,甚至是大到无法追赶的程度,为啥?因为还有机会的因素在里面,有的人干了5年,还是在原地踏步,天天只会写那些添加、删除、修改的代码。那你得注意了,需要不断的提高自己,才是硬道理。例如你会SQLServer,那要试着学习Oracle, 你是做C/S的,那得需要提高到B/S的,你是做单机软件的,那得需要提高到网络软件,你只关注自己的工作的,需要学会管理,关心他人的工作。你是当程序员的,要试着提高当项目经理、部门经理,公司的总监等等,人有野心有目标才会不断进步,最俗的为了多赚钱,提高工作职位工作岗位,工作单位,也是可以理解的。

健康是革命的本钱

还记得以前为了尽快发布下一个版本通宵达旦工作,却依然感觉精力充沛的日子吗?戴上耳机,沉浸在代码的海洋中。房间中只有屏幕发出的暖光,和旁边满是可乐罐的垃圾桶,以及乱七八糟的比萨饼盒子相映成趣。

那样的日子已经一去不复返了。当你一把年纪的时候,如果你要搞新项目,那么你就不能再采取这样的做事方式。因为你的身体条件已经不允许了。你现在的身体更像是一个生意上的合作伙伴,合作的好就能协助你工作,合作的不好,就会拖你的后腿。

不断学习

我们需要不断地学习和了解软件开发。你可以尝试不同的编程语言和工具,阅读软件开发的书籍,接受MOOC课程。相信我,量变才能达到质的飞跃,这些小小的学习积累,终有一天会大大地提高你的知识和能力。

另外还有一点可以通过自身的学习来获取一大进步。

 

posted @ 2018-06-10 17:17  立志做一个好的程序员  阅读(294)  评论(0编辑  收藏  举报

不断学习创作,与自己快乐相处