【51CTO独家专访】相信每个开发者都会遇到Bug,相比于技术难点,它可能更让开发者感到头疼,那么大多数程序员面对Bug,会是一种怎样的心态呢?如何正确的面对Bug呢?关于这些问题,51CTO独家采访了现任千橡互动开放平台技术主管的崔浩波老师,以下是采访全文。
千橡互动开放平台技术主管 崔浩波
51CTO:在编码过程中,程序员经常会遇到Bug。您在做程序员时期,面对Bug是一种怎样的心态?那么您现在作为技术主管,心态发生了怎样的变化?程序员应以一种怎样的心态去正确面对Bug?您能否给广大程序员一些建议。
崔浩波老师:在早期遇到Bug的情况下都习惯急于脱离自身去找原因解决,不会主动去审视自己的代码和逻辑,往往大部分的Bug都是由于程序员自己的失误,对业务理解不足造成的。“找理由”不能成为我们每一次逃避Bug的借口,一个爱“找理由”的人,成长的速度一定比时常自省自身的人慢很多。
我们绝对不是一开始就是编程天才,在工作中保持怀疑自己的代码心态绝对不是丢人的事。Bug==经验,保持良好的心态和编程习惯,善于总结和学习,通过解决Bug积累起来的经验是我们职业生涯中重要的财富。
51CTO:为了避免Bug的频繁出现,程序员在编程过程中都会采取哪些方式方法?作为技术主管,您有什么样的好的建议?
崔浩波老师:常见的功能性Bug都能够通过早期程序员、产品和QA的测试中发现,或者通过一些工具例如Findbugs来提高代码的质量,也能深入了解语言的一些特性。但是作为互联网应用开发,往往会遇到许多隐性的性能Bug,这也要求我们有快速响应处理线上Bug的能力。所以在产品的技术架构设计中尽量评估方案的可行性,保证应用上线后的质量。
51CTO:在很多项目中,会遇到需求与最终产品的差异问题。您在实际工作中碰到这样的问题是如何解决的呢?
崔浩波老师:有效的沟通成为团队作战中有效解决需求和产品差异问题的有力工具,我们基本保持每天十分钟站立晨会的制度,反馈遇到的问题和进度。开发人员时刻需要同产品进行沟通,详细说明自己对于产品需求的理解是否有误,而产品也需要时刻跟踪开发人员开发进度中遇到的问题。
51CTO:BUG出现的原因是多方面的,似乎不能光责备程序员一个人。那么您认为该如何划分BUG产生的责任?BUG错误率会不会成为您所属部门绩效考核的重点?
崔浩波老师:在一个产品模块中,产品人员和开发人员都应该对自己的工作负责,往往Bug产生开发人员的责任要更多一些。更多的是思考在这个过程中是不是由于某些环节把控的问题,而不是责备。Bug错误率只很直观地体现在线上产品的质量上,所以会当着一个重要的绩效考核隐性指标,过度地划分产生的责任会造成团队成员养成互相推诿和找理由的不好习惯。
51CTO:项目团队里总会有一些新人加入,他们会带来各种各样的错误,而往往这些错误将直接导致开发过程中BUG频出。作为项目主管您是如何帮助新人纠正错误,让新人真正走上正轨融入到团队的?
崔浩波老师:刚加入团队的新人都面临熟悉产品需求和环境的问题,Bug的频出是可以被原谅的,安排导师让他们更快熟悉和理解工作,更多地会告诉他们“什么不能做”,而不是“该做什么”,不限制个人的兴趣爱好和主动性。
51CTO:回顾一下您的职业生涯,从最初的一名普通的程序员,到成为一名技术主管、总监,除了工作内容发生变化之外,所关注的东西发生了怎样的变化?一名程序员要想晋升到技术主管,您会给出哪些建议?
崔浩波老师:个人更崇尚“大道至简”到“博大精深”的过程,不丢掉个人的兴趣爱好,不停止和别人沟通,不吝啬说出自己想法,不停止对技术的执着,不漠视行业的讯息,推荐可以看一下周爱民老师的《大道至简:软件工程实践者的思想》。
【51CTO独家特稿,转载请标明出处及作者!】
【编辑推荐】