找回密码
 申请新用户
搜索
热搜: 活动 交友 discuz
查看: 7297|回复: 0

Practices of Professional Programmer

[复制链接]
发表于 2010-6-1 16:30:46 | 显示全部楼层 |阅读模式

转自:http://gurudk.javaeye.com/blog/364703

自以为是个专业程序员,前段时间我也在Manifesto of Software Craftsmanship (软件工艺宣言) 上也签了名。作为对宣言的实践,总结一下专业程序员的实践,不敢称最佳,姑且就叫专业程序员实践好了。大家如果有好的想法和好的做法,可以和我联系或者留言,我一起补充上去,按照宣言的第三条,让我们一起共同建好这个Professional Programmer Community。



       如果你认为你是一个专业的程序员,去签名吧,去承担一名专业程序员该承担的责任。我觉得最为一名专业程序员,有一些基本的要求,是我所说的专业程序员的职业素养。



     这些我认为是专业程序员共同的价值观。


     作为一名专业程序员,我觉得他的核心竞争力主要表现在三个方面:


  1)学习能力 :学如逆水行舟,不进则退,做软件尤甚。

2)思考能力 :思考是人的特有能力,对程序员的工作,我觉得2/3时间是思考,1/3是敲键盘或其它。

  3)解决问题能力 :这是能力的体现方式,是综合能力的表现。


  下面我结合自己的经验,从学习,思考,解决问题,工作等方面阐述一下专业程序员的实践。以后有时间,我对每一条用一致的方式来解释一下,目前只是链接到我以前写的一些文章。


1)学习实践(Learning Practices)

  • LP1:系统化的知识应该从书上获取。
  • LP2:应用RSS订阅,了解最新信息。(iGoogle,Google Reader)
  • LP3:使用del书签(firefox的附加组件),索引网页。
  • LP4:写blog,养成总结的习惯。
  • LP5:交流,向别人解释你学到的东西。
  • LP6:学好英语,它是通向最新技术的窗户,最起码要熟练阅读。
  • LP7:使用脑图整理所学的东西。
  • LP8:使用英文关键字来搜索技术资料。
  • LP9:向有经验的人请教。
  • LP10:快速实践,快速反馈,Do it now!
  • LP11:使用mybase记录片段信息。
  • LP12:使用eMule搜索英文原版书。
  • LP13:进入陌生领域,首先梳理这个领域的知识结构。
  • LP14:看书先看目录,索引书的内容,等需要了再去看。
  • LP15:设立目标,学习要以完成一篇文章或一个小软件作为结尾。
  • LP16:Big picture,理解一个系统,要以big picture开始。
  • LP17:学习背后本质的东西,比如web编程,熟悉http协议。

2)思考实践(Thinking Practices)


3)解决问题实践(Solving Practices)


     解决问题的步骤:

  • 问题定义
  • 理解问题
  • 查找资料,思考,生成备选的解决方案
  • 选择最合适的解决方案
  • 实施解决方案
  • 验证正确性
  • 得出结论,总结

     解决问题实践:

  • SPP1:信心,Impossible is Nothing。
  • SPP2:不断问自己问题,问题究竟是什么,本质是什么。
  • SPP3:问题不明确时,重要的是确定问题,而不是试图解决问题。
  • SPP4:使用类比法,考虑同构问题,考虑别人是如何解决问题的。
  • SPP5:使用分治法,大事化小,小事化了。
  • SPP6:试误法,不但尝试,缩小解空间。
  • SPP7:爬山法。
  • SPP8:循序渐进法,先解决问题域中的简单问题,获取经验以解决复杂问题。
  • SPP9:及时向别人求助。
  • SPP10:了解谁可以解决问题。
  • SPP11:了解学习什么东西可以解决问题。
  • SPP12:尽可能了解问题的背景。
  • SPP13:观察别人是如何解决问题的。
  • SPP14:先放松一下,再回到问题。
  • SPP15:使用脑图或看板可视化问题相关所有信息(看看PrisonBreak里Scofield和alex如何思考的)
  • SPP16:坚持相信存在多种解决方案,不要相信“不能”,“一定”

4)工作实践(Working Practices)

5)其它(Other Practices)


     最后,我说一下心态,一个程序员应该有一个开放的心态,随时接受新的东西,不断尝试。使好的东西形成自己的习惯,不好的东西就摈弃掉。不过作为程序员,有时候都是很固执的,我也一样。脑图这个东西,很多同事推荐我一年之后我才开始使用,用了之后感觉相见恨晚。我目前写文章,整理思路,整理知识都是用它,已经离不开了。


     不积跬步,无以至千里;

     不积小流,无以成江河。


     你还在问“敢问路在何方?”吗,路其实就在你脚下!



参考资料:


-《丰田改善力》

-《绝对创造力》
-《创新者的工具箱》
-《问题解决心理学》
-《Google Hacks》
-《程序员修炼之道——从小工到专家》
-《成为技术领导者——解决问题的有机方法》
-《问题解决专家——策略性问题解决的思考与技术》
-《设计模式——可复用面向对象软件的基础》

您需要登录后才可以回帖 登录 | 申请新用户

本版积分规则

守望轩 ( 湘ICP备17013730号-2 )|网站地图

GMT+8, 2024-4-18 12:14 , Processed in 0.033958 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表