每个程序员都应该了解的一件事
我曾经接触过一些IT高管以及行业的技术大牛,当私下聊起他们是如何变得如此出类拔萃时,他们大多会以自嘲又略带得意的语气来讲述他们的那些独门秘籍。
我的文档写得特别好。
我的口才很好,总是能成功说服别人。
我的PPT做得非常棒,是公司里数一数二的。
我写过几篇很受欢迎的技术文章。
我热爱开源文化,并在社区里很有名气。
......
我发现,这些普通人眼中的大神们很少会提及自己的技术有多牛,反而更多地把功劳归于那些看似与技术毫无关系的能力上。大家千万别误以为他们只是一群华而不实,靠着一些小伎俩往上爬的小人。完全不是,而且我敢向你保证,他们中的每一个人在担任程序员或负责其他技术工作时,同样都有着非常出色的技术能力和优秀的工作表现。但为什么在他们眼中这些还不足以使他们达到现在的高度,反而是那些不起眼的写文档、做PPT、演讲等这些技能使他们能够在一次次竞争中胜出,并成为了我们中的佼佼者呢?
其实在我看来,他们所谓的这些秘籍,都可以被归纳为一种能力,那就是自我营销。只有具备了这个能力,你才能脱颖而出获得成功,这一点对程序员同样适用。
我的这个观点可能会令很多程序员感到有些沮丧,因为和曾经的我一样他们热爱写代码,并愿意以此作为终身的事业。甚至有些人是由于自己内向的性格才选择当程序员的,但你需要明白,你写的代码可能毫无用处,直到:
- 人们理解你在做什么
- 人们对你所做的事情感兴趣
- 人们为你的所作所为感到兴奋和激动
大多数刚走出校门的年轻程序员们绝不会把“自我营销”作为一项自己需要具备的技能来关注和学习。他们往往一头扎进自己所热爱的某一个技术领域,不断追求着更高的技术水平。我个人其实非常推崇具有这种精神的年轻程序员,正如我在“给职场新人的10点职涯建议”中所提到的10,000小时定律,那些能够在某一领域获得成功的人都需要花费至少10,000小时的努力,而对于普通人来说,你的努力也的确与你所能获得的成就是成正比的。既然这样,那为什么我们还需要学会自我营销呢?答案是:自我营销往往能够有效地放大你所做的努力,并且在你成功的道路上起到催化剂的作用。尽早地获得成功对于我们这一代程序员来说异常关键,因为这个世界上有许多与你一样努力的人,但有些人在最佳的时间点获得了成功,而另一些人虽然也通过努力达到了相同的能力,但错过了那个正确的时间点,从而走上了一条完全不同的道路。
我看过很多这样的例子:
刚进公司时,一群年轻的程序员能力水平都差不多,他们也都非常努力,但他们中的一些人能够通过出色的自我展示,获得老板、同事以及客户的信任,他们也自然获得了更好的升职机会,做上了团队领导等角色,从此走上了事业的坦途。而与他一起进来的那些程序员可能还在那里敲着代码,日复一日地做着比较基础的工作,并时不时地抱怨着:他的技术还不如我呢,他凭什么就能升职呢?
可见,一名程序员如果能够尽早意识到自我营销的重要性,并有意识地锻炼和运用这个能力,那将对你的事业产生很大的帮助。
那么对于程序员们来说,又有哪些能偶提升自我营销的能力办法呢?下面便是我的一些建议:
读与技术无关的书
我刚毕业后的2年时间里买过很多技术类书籍,这帮我打下了良好的技术基础,后来我就不再买技术书了,因为我发现学习技术的最好方式是在互联网上,那里有最新的教程、文档和资源。因此,我建议只买一些经典的技术书籍来帮你打基础,然后从网上去学习一切新的东西。
我尤其鼓励大家去读那些与技术无关的书籍。程序员不善于自我营销,其中一个重要原因是,他们自身所掌握的知识体系太过于单一,很难跳出技术范畴与人交流,并引起别人的兴趣和认同。你可以读任何历史、经济、人文、艺术类的书籍,它们都能够帮助你丰富自己的知识和思想,使你变得更加全面和完善,这反过来,又能帮助你建立信心。
当然,你还可以读一些优秀的人物传记,从他们身上你可以获得成功或失败的经验,并且完善你自己的人格。我是在自学设计的那段时间里读了“乔布斯传”的,我从没见过任何人像乔布斯那样,能够对自己所从事的事业和创造的产品达到这样疯狂、苛刻的地步。他的这种追求完美,对产品的设计和质量苛求的态度,都对我日后的工作行事产生了积极的影响。
会写文档
我见过很多程序员,他们对自己写的代码非常认真负责,经常反复进行检查和测试。但每当让他们写文档或作一些PPT介绍时,他们却显得很为难甚至反感。而写出来的文档也往往质量很差。
我也当过程序员,因此很能理解他们的想法。当一名程序员写完整段代码,完成一项工作后,他们对于代码所实现的逻辑是最熟悉的。对于他们来说,写文档完全就是为别人而写的,对自己没有一点好处,纯粹是在浪费时间。而且,对大多数程序员来说,给机器写代码要比给人写文档容易得多。
而我想说的是,恰恰相反,文档可能是你完成代码编写后一个最佳的展示机会。当代码实现了它的功能之后,就很少有人再会去看它,除非它出错了。但文档被阅读的几率却大得多。从一个文档中,我们可以看到关于作者的很多东西,思路是否缜密,逻辑性是否强,设计方案是否优秀等等。可以说文档质量的高低是衡量一个程序员是否优秀的重要标准之一。即使你离开了公司,你所写的文档很可能还会保留很长时间,被很多后来者阅读,而你的声誉也是在这一次次的阅读中被构建的。优秀的文档能够让人们对你产生信任和好感,而相反,质量差的文档则会使你的声誉受损。
学会包装
说到包装,人们往往会产生一种不好的错觉,把包装与虚伪、假的东西联系在一起。其实我所说的包装应该包含两层意思,
1.知道什么是美的(优秀的)
2.精心制作
这个想法来自于最近参加的一次保监会关于偿付能力改革的会议,整个方案是由普华永道提供咨询和实施的。会上他们的高级经理通过一个长达114页的PPT介绍了项目的背景、技术细节、实施方案等信息,整个PPT制作得非常精良,内容组织也很有条理,让人一目了然,顿时对整个项目团队产生了很好的印象。可以说普华永道通过一个精心制作的PPT完成了一次非常有效的自我营销。
在日常工作中,我经常发现身边的程序员很难写出美观整洁的文档或PPT来。这一方面与我们从小缺乏美学教育有关,而更重要的往往是他们并没有真正用心去制作它。其实,我们可以通过寻找一些优秀的文档示例来学习如何制作优秀的文档,这其实并不困难。知道什么是优秀的,然后像写你的代码一样用心去制做就行了。( 如果你对设计也有兴趣,不妨也可以看看我的另一篇文章“自学设计,你真的入门了吗?” )
尝试多讲
讲话一直是很多程序员的硬伤,当然这也曾是我的硬伤。根据我的经验,你需要跨过以下两个障碍。
1.敢说
2.让说的和你想的一致
我经常看到一些程序员,他们平时跟熟悉的人都能很好地交流,而一旦到了会议上,特别是有老板或客户在场的情况下,就变得难于开口。程序员的性格特点大多是内敛含蓄的,在一些正式的场合他们会显得对自己缺乏信心。我想说的是,这需要通过平时多锻炼来克服,还记得我在“给职场新人的10点职涯建议”中提到的那个被老板逼着每天做一次公开演讲的咨询师吗?是的,你应该在还处于职业生涯的初级阶段的时候,就开始有意识地锻炼讲话的能力,特别是在一些不那么重要的会议上,一方面你说出一些不那么准确的意见时,不会产生太严重的后果,而同时你又可以很好地锻炼自己的表达能力。程序员遇到的另一个问题是,他们所讲的往往不能不能真实反映自己所想表达的意思。通过创造机会多讲,你才能更好地掌握使用语言的能力,并通过不断总结,这样你很快就可以非常流畅地表达自己的想法了。
建立社会化联系
一个完全封闭的程序员一定不是一个优秀的程序员。优秀的程序员往往愿意并善于与他人交流,分享自己的经验和想法,并在交流中获得有益的东西。这样做有很多好处:
- 通过这些社会化的活动能够使你的想法和技能更加完善。
- 能够使你建立权威,你的技术博客,在一些社区上的技术问题解答,以及你的开源项目等等都会使人认为你是这方面的专家。
- 同样,你也可以获得他人的帮助,来解决棘手的难题。
- 你可以找到与你有相同兴趣的人,一起做有趣的事情。
- 你的社交网络将因此扩大,这意味着你所获得的机会将会更多。
......
我本人就是这方面的受益者,我刚毕业时在一家建筑软件公司工作,做的是Delphi开发,但我很快意识到互联网才是未来的方向,因此我自学了JAVA,并开始以JAVA软件工程师为目标,去寻找工作。但由于没有任何项目经验,我经常碰壁。一次偶然的机会,我看到BEA Dev2Dev(BEA被Oracle收购后,这个网站已经关闭了)有接受技术类文章投稿的讯息,我马上连续写了两篇技术自学类的文章,并很顺利地通过了审稿,不久便在Dev2Dev发布了。我将我的这两篇文章链接写入了我的简历中,之后,我很明显地感觉到让我参加面试的电话明显比之前多了起来了,我也很快通过了一家外资软件公司的面试,成了一名JAVA工程师,从此走上了事后看来更好的职业道路。
最后,我想告诉你的是,在这样一个时代,程序员是一个充满可能性的职业,你可能成为下一个马云,甚至可能是乔布斯(马云和乔布斯都有一个共同点,那就是他们很早就掌握了自我营销的能力)。如果,你并不想仅仅是一名程序员,你只需要在潜意识中埋下一颗“自我营销”的种子,让它跟随着你慢慢成长,相信我,你的未来将会因此产生很大的不同。
稀土掘金联合编辑:技匠,以上内容欢迎大家分享到朋友圈/微博等。如需转载,请通过我的微信公众号联系。谢谢大家!