【IT168 技术文章】
前记:
“正确与错误”,“创新与保守”,“精妙与笨拙”,这所有的词,对于很多的人,在很多时候,都会选择前者:正确的,创新的,精妙的。可现实,让人郁闷的是,我们有时却要“被迫”选择后者:错误的,保守的,笨拙的。这到底是为什么?
跟若干年前的自己相比,我现在更欣赏和喜欢:用尽可能简单的架构而不是复杂的,用C而不是C++,用常见方法而不是各种“高深”的设计模式,用自己产品的库而不是第三方库。
这是一篇有关“如何培养务实精神”的作团队感悟,其核心思想是:“一切从实际出发,一切以实用为目标”,应该成为我们开发实践的指南。从个体来说,清醒认识自己,是最大的务实;从团队来说,清醒认识整个团队现状,是最大的务实;从项目来说,清醒了解项目目标,是最大的务实。有了清醒的认识,才会有务实的行动。知道自己缺的是什么,团队缺的是什么,项目需要的是什么,就会在各个方面以最实用有效的方式作到最好,这,便是务实的工作方法和工作态度。
引入正题:
网易教给了我很多,其中,最重要的一点,就是:务实。我想,这可能是让我受用一生的宝贵财富。她先是教会了我什么才是务实的心态,然后教会了我什么才是务实的工作方法。
我们说一个人务实,可以归结为两个方面,缺不一可:一是要有务实的心态;二是要有务实的方法。前者,是理论和精神层面的,后者,是实际操作层面的。
那么,具体一点,一个人,怎么样,才算是务实的?
我想,不外乎以下几点:
1 首先,对于自己本身,要有个清醒的定位,清醒地知道自己的优缺点,清醒地知道自己在团队,在产品,在公司中目前所处的位置,以及所能发挥的影响力。一个对自己都认识不清的人,或者不敢正面面对自己的人,是很难谈得上真正务实的。
2 不爱慕虚荣,不图虚名,不唯资历,而唯实力,唯能力。
3 不论是评判他人或他人的成果,还是决定自己采用的方法,皆以实用,有效,快速为目标,不整花哨理论,以结果为导向。
如何培养务实的精神?
简单的一句话概括,那就是:一切从实际出发,一切以实用为目标。前者,是起点;后者,是终点。我们从“一切从实际出发”开始一点点的作,一点点的想,然后始终以“一切以实用为目标”为方向来不断纠正我们的努力过程。
就拿我自己来说,在CSDN写博客这事,没错,写了这些内容后,我收到了很多网友的夸奖和欣赏,也在很多人眼里变成了所谓的资深人士,而其实,在我自己看来,我自己在事业上才是刚刚起步,还太嫩,经历的还太少,现在只是学会了按照一套自己看来正确的方法,充满激情的去作一件事,目标和信念还算坚定,但是,我还缺乏许多在处理具体人与人或者人与事关系方面的技巧,还需要不断地扩展人脉,不断摸索和思考,不断精益求精的改进。
我自己很喜欢这种务实的感觉,这种感觉,会让你觉得,你就是一个平常人,不会有那种时时刻刻都端着摆着假装牛X的很假的感觉,活得真实,让我觉得没有压力,让我可以更放手按自己的想法去作事,去思考问题。
在国内IT圈子里,总体上,给我的感觉,南方的IT比北京IT要务实得多,南方讲究实干,北京讲究玩概念。这样的状况,是多种历史,环境和文化原因造成的,不仅仅是在IT圈,在其它领域,南北的差异也是如此。
我们作技术的,普遍具有而又很难改掉的一个毛病就是:死要面子活受罪。我们作技术的,很多的不务实,就是因为受此毛病牵连。要务实,首先,你得能放下面子。这一点,说起来容易,作起来很难,它需要一点点善于自嘲的勇气,一点点勇于承受别人暂时鄙视(可能别人根本就没鄙视过)的勇气,不熟就是不熟,不懂就是不懂,勇敢的承认,勇敢的说出来,摆正自己的心态后,你会发现自己作起事来更没有顾虑,也更容易发挥了。
在我们项目组的新人培训大纲里,明确写着一点:
每个新人进来后,以前的成绩全部清零,每个人,在这个项目中,都是从零开始,不管他是本科,还是硕士或是博士,也不管他是ACM选手,还是DS成绩刚刚合格者。
我们之所以这么规定,有两个目的:
第一,可以明确的告诉新人,不要以为你以前的成绩好,就有了一些什么资历了,在项目组里,“资历”永远只来自于你对项目本身所作的实实在在的贡献;
第二,也是明确告诉新人,不用为了一个什么硕士博士的学位端着面子,既然我们愿意把你清零,也理应会接受你哪怕是弱弱的实际动手能力,理应允许你犯错,理应给你一个在实践中从零开始学习的机会,这样,不管是项目组原来的老同事,还是新人自己,在心态上都正面了很多,新人知道不会因为动手能力太差遭受太多鄙视,自己的心态也就务实了很多。
务实,是需要一定的经验来支撑的。很多的时候,可能不是你不想务实,而是你不知道如何才更务实。比如初入社会的新手,他的知识完全来自于课本和学校,而这些知识放在实际的项目和公司环境中,却不见得是完全可行的。所以,新人可能要经过很长的一段时间才会明白这些道理:
1 正确的,不一定就有用;
2 创新,不一定就是好事;
3 再牛X的第三方库,只要不是自己的,就尽量少用;
诸如此类,等等等等。
因为,在学校里,
我们始终被灌输的,是要不断的明确区分什么设计方法是正确的,什么设计方法是错误;
我们被灌输,只有创新才能成功;
我们被灌输,代码应该尽量复用,多用现有的,别自己造轮子。
为什么以上这些原本在学校里学的东西,放在实际中都走了样呢?
还是那句话:一切从实际出发,一切以实用为目标。
每个项目,每个团队,都有自己的不同,不同的人,不同的资源,不同的公司氛围,不同的生存现状,以及不同的行业背景。在公司里作事,很多的时候,更讲究如何更快速度的把东西作出来,如何更好的把握产品质量。而一个“快”字,就足可以决定你的选择与你以前学的所有理论不同。
说回上面提到的三个典型问题:
所谓的“正确与错误”,在很多的时候,是相对的,与其总在那里争论谁对谁错,还不如马上动手去作,以作的效果来看更有说服力,也更不浪费时间。即使是“正确”的理论,也有可能不用它,因为我们更关注是否实用,是否好用。我们作的是产品,不是搞学术,产品要求的一是要快速度作出来,二是要便于维护和修改,而这二者,无论如何作,都是由人来实施的,所以,你要从始至终关注团队成员本身的技术能力和经验问题。
“创新”,必然会带来改变,而改变,必然需要团队投入新的时间和精力去学习和熟悉新的内容,我们有那么多时间和精力吗,我们作项目,仅仅是为了追求刺激和好玩吗?
再说第三方库,为什么要少用?因为,我们想让项目尽可能“可控”,你能玩熟这个库,不代表所有人都能玩熟这个库,团队的短板,在于团队成员中技能能力最差的那一个,我们需要考虑到项目轮岗时由此问题给项目所带来的风险。
当你想说“书上说如何如何”,“别人的项目如何如何”时,你要多想一想,自己的团队是何种情况,自己的项目是何种情况,以及你自己是何种情况,照搬那一套拿过来,合适吗?
但是,务实,也是可以一点点培养的。首先,你自己要有这方面的意愿,要意识到不务实是不好的,要意识到想作成功一款产品,务实的心态是必须的。有了这个意愿,你就可以放低自己的姿态,仔细想想你的产品与别人产品的差异和优缺点,仔细想想你自己与其他同事的差异和优缺点,弄清楚自己擅长的方面,最大限度的发挥到最好,发挥到极致,最终,你将会凭借此点在团队中立足,进而在项目和公司中立足。
个人务实心态的培养,首要的一方面,是在于明确知道自己的优缺点。
我反对非要刻意改变自己什么缺点的观点,我认为,每个人都有属于自己的优点,也都有属于自己的缺点,我们之所以能把一件事作成功,并不是因为我们克服了自己的缺点,而是因为我们最大程度的发挥了自己的优点。而且,优缺点,本来就是相对的,在特定的时间、地点,在特定的团队和公司,优缺点可能就是互换的,本来是优点的,换了个环境后,可能变成了缺点,本来是缺点的,可能也变成了优点。
所以,优缺点,在我看来,是个中性词,而且,是在一个特定环境下才具有意义的中性词,也所以,我们唯一需要记住并奉行的理念就是:在任何时候,要灵活根据当前所处的环境来灵活应用自己所长,把你擅长的方面尽可能正面的影响事件的发展,任何成功,都是需要因应时势变化的,不要想着照抄照搬别人的理念和方法,一定要务实的结合实际。
务实的认识世界,务实的认识他人,务实的认识自己,才有了务实的观点和方法,也才有了务实的实际操作。
务实的工作方法,就是,从自己现在当下可以实际把握的资源出发,加上自己的努力,不断把成果向前推进,一步一个脚印,直到最终的目标。
学习如此,工作如此;
作项目如此,作团队如此,作公司亦如此;
我想,作任何事都应该如此吧。