惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
V
V2EX
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
小众软件
小众软件
Vercel News
Vercel News
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
J
Java Code Geeks
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
B
Blog
美团技术团队
量子位

博客园 - 灰灰狼

架构与设计概要 IoC概要 需求分析概要 接上文,支持并发数量的完美版本 消息队列并发处理基类-简化版 2013年5.28~7.27 Microsoft FTE 微软面试总结 String Format for DateTime 多语言建议 multi-language New life I would like About that task about wcf 基于证书的WCF安全开发详解 asp.net缓存(20100804完善版) - 灰灰狼 - 博客园 呼唤程序员精神——关于我今天发起的讨论的总结 asp.net mvc下实现窗口不关闭,就让Session不过期 正确的产品开发策略
问题观
灰灰狼 · 2010-11-01 · via 博客园 - 灰灰狼

1.       提出问题要积极

我认为任何一项集体合作,团队精神都是第一重要的,比如造宇宙飞船,几千几万人共同努力,认真负责,才能造好,一个零件出了问题,都可能满盘皆输。团队精神里有一项要素就是积极发现问题,提出问题。假如一个人发现有个零件有些别扭,但不提出来,得过且过,结局可能是非常危险的。软件缺陷的后果可能不如宇宙飞船那么严重,但道理是一样的,最普遍的现象就是使团队重复劳动增多,效率降低。

要发现问题并提出问题,要靠勤奋钻研和经验,如果一个人经常提出问题,有可能代表这个人比较勤奋,经验比较丰富,如果一个人从不提出问题,也许代表这个人比较懒惰或经验尚浅。如果我是一个团队的领导,我会千方百计激发团队发现和提出问题的积极性,经常表扬提出问题的人,并给予物质奖励。

我经常感到众人皆醉我独醒,这让我想起屈原,我与屈原有两大不同,一是屈原有大才华,我只有小才华,二是在生或死的问题上,屈原说生不如死,我说死不如生,所以屈原蹦到了汨罗江,我蹦到了ZHR。

2.       分析问题要客观

我认为最佳的团队精神里需要一种肯定的习惯,当一个人提出自己的建议后,其他人的第一反应不能是反对,而应是认同,先思考这个方法的优点,然后再跟原来的思路做比较,最后下结论。这种方式有助于我们深入思考,让不同的观点碰撞出灵感的火花。

我最常听到的一句话就是,我们原来就是这么设计的,我们现在还做成跟原来一样。我认为这是一种主观的做法,有句话说人是被习惯控制的,拿下班回家走的路线来说吧,我发现除我以外的所有人都是走过第一个路口后继续往东走,到第二个路口才往右拐,这样走其实远了一点,第一个路口就右拐比较近。但为什么所有人都这么走呢,习惯使然。

总体来说,您比较传统,重视稳定,维持现状,我比较激进,喜欢求新求变。这两种观点各有各的道理,有时候维持现状能用较短的时间完成功能,有时候,新的更好的方法用时更短,我倾向于新方法用时更短的观点。比完成功能更重要的是,完成功能之后的问题,老的解决方法面临维护上的麻烦造成的低效率,新方法可能会有某些缺陷引起的Bug,但我们可以采取措施去控制。这是一种权衡,不同的人会有不同的选择。我宁愿去修复新方案的Bug,使编程成为一种使人高兴的创新性的工作,我不愿意做笨重的重复性工作。冯巩说过,我们宁愿要不完美的新,也不要完美的旧,这是一种锐意进取的态度。敏捷开发里有“拥抱变化”的原则,我的理解是主动求变,在实现用户目标时,主动研究业务流程,主动向客户推荐最佳流程,争取客户的支持,这方面我们做的非常好。但在技术架构上,缺乏追求卓越的思想与行动。我总结出分析问题时,不能只用口说,只用口说容易造成“似是而非”,做出错误判断。分析问题应该用数据来说话,用代码来证明,这方面我也做的不够,我应该准备的更充分一些,可能是准备的不够细,没有相关对比数据的支持,所以容易被否决。

3.       解决问题要及时

发现和分析问题不是目的,又快又好的实现用户需求才是目的,这就要勇于解决问题,善于解决问题。有了好的解决方案,既不被讨论,也不被实施,就像厨师做了一桌子菜,却无人享用一样,厨师是很郁闷的。一个好的方案实施起来不会很困难,而且是越早实施越容易,越早实现越早受益。我提过的所有建议都不只是构思,而是已经有了实现代码的,且结构清晰,实施起来不会很耗时间。

唐骏进入微软时是一名普通程序员,但几个月之后就因创造并论证了新的多语言开发模式而升任高级经理,主管新模式的实施。我也很努力,我已经把自己想像成软件架构师,我希望能如期达成这一入职时填写的目标,希望世界因我而不同。