程序员的职业素养(一)

最近拜读了Bob大叔的经典书籍《代码整洁之道-程序员的职业素养》,真的从程序员日常工作入手,其中有很多问题也是我在工作中遇到的,如果当时看了这本书,现在应该会成长更快。不过现在也不晚,毕竟种一棵树最好的时机就是10年前和现在,接下来分享下我在这本书里体悟到的职业素养。

专业主义

我想大部分的程序员内心都萌生过成为专业软件工程师的愿望吧,希望自己的专业主义能提升公司价值,获得同事的敬佩和信服。那么如何培养自己的专业主义呢?总结成一句话,就是担当责任,将公司利益视同个人利益。

对自己的开发严格把关,不破坏原有的软件功能、结构,让QA找不出任何问题,要确信代码正常运行,实现自动化QA。

职业发展是自己的事情,雇主没有义务培训、提升程序员的综合能力,所以要感激那些不断鼓励我们成长,学习的公司。比如我们应该计划每周工作60小时,前40小时是给雇主的,后20小时是给自己的,在这20小时里,我们应该看书,练习,学习或者做其他提升职业能力的事情。术业有专攻,想成为专业人士是需要投入时间的。

了解你的领域,大家都知道软件开发领域进50年来高速发展,各种观点,实践,技术,工具与术语在这个领域层出不穷,如果想成为专业人士,就得对其中一大部分有所了解,而且要不断扩展自己的知识面。比如下面就是每个专业软件开发人员必须精通的事情:

  • 设计模式24种
  • 设计原则SOLID
  • 方法(XP、scrum、精益、看板、结构化分析、结构化设计)
  • 时间(DDD、面向对象设计、结构化编程、持续集成)
  • 工件(UML图、DFD图、结构图,流程图)

职业道德

坚持学习,软件行业日新月异,我们必须坚持广泛学习才不至于落伍。不写代码的架构师很快发现自己跟不上时代了;不学习新语言的程序员只能看软件业把自己抛弃。读书,看相关文章,关注博客和微博,参加技术大会,访问用户群,多参与读书与学习的小组。不懂就学,不畏艰难。

练习,业精于勤荒于嬉,软件开发者应该如何不断练习自己呢?重复做一些简单的练习,比如卡塔,卡塔的形式是一个有待解决的简单编程问题,卡塔的目的是练习手指和大脑,可以早晚都来个10分钟的卡塔,把它当做热身练习或者精心过程。

合作,努力尝试和他人一起编程,一起练习,一起设计,一起计划,可以从彼此身上学到更多东西,而且能在更短时间内更高质量完成更多工作。

辅导,教是最好的学,传道受业解惑,其实导师是收获最大的。

了解业务领域,开始一个新领域的项目时,应当读一两本该领域的书,要就该领域的基础架构与基本知识去和客户访谈,还应和业内专家交流,了解他们的原则与价值观念。简单按照规格说明来编写代码,却对业务为什么需要那样的规格定义不了解,是非常不专业的的做法,相反,应该对这一领域有所了解,能发现,质疑说明书中的错误。

谦逊,专业人士应该都会有些自负,但谁能保证自己不犯错,所以不要嘲讽别人的错误,如果自己犯错,应该坦然接受,总结教训。

你可能感兴趣的:(职业发展,职场和发展)