程序员的自我修养

正确认识自己

我更愿意用技匠这个词来形容程序员,就像我给自己起的花名一样。 程序员应该是那些不断追求更高技术,并有着自己产品梦的工匠。 当你通过对自己技术不断打磨,一次又一次做出那些优秀产品的时候,你会发现自己不再是他人口中的码农或是屌丝,而更多被称为了大师、大神,而受到大家的尊重。

比一般人更加努力

优秀的程序员往往会被同天才或高智商的人联系在一起,但我想告诉你,你周围所看到的那些天才(身边的优秀程序员)只是在你没看到的时候花了更多时间工作或者学习而已,当你也坚持这么做时,你也会变得和他们一样优秀。

适时建立个人权威

建立个人权威,这能让其他人看到你的不同之处,并为你在公司或团队内部构建起良好的影响力。当然,这一切的前提是你通过不断努力积累了自己的实力,并在恰当的时候去展现它。

遵循最佳实践

这些最佳实践或由此衍生出来的框架、工具都是那些富有经验的程序员通过大量实践,总结出来的最优秀的软件开发思想。 通过理解和对它们的有效实践,能够让你站到前人的肩膀之上,对软件开发本身获得更深入的理解和认识。

保持好奇心并乐于探索新的事物

优秀的程序员们也往往非常乐于探索那些看似与工作无关的技术。 比如,做后端的程序员去学习前端的技能,前端工程师则去学习UI设计,等等,这些虽不会让他们成为那一个领域的专家,但技术往往是相通的,当你在探索这些新鲜事物的同时,你会发现你原有的技能也得到了提升。

要为优秀的人工作

环境对一个人的影响是巨大的,而最可怕的是当你身处其中时,很难意识到你正在变得越来越糟。

相信自己的天赋和创造力

  • 记录和收集:尝试用一个小本子,将你转瞬即逝的好想法记录下来,它们可能并不直接有效,但下一个更好的想法可能就是从这些你记录下来的想法中产生的。
  • 尝试动手:光有好的想法是不够的,你需要成为一个有工匠精神的人,通过亲自动手去尝试和实践,你会不断从中得到新的创造力。

你的薪酬与工作量无关

摆正心态,正确认识到自己在公司中的位置,努力修炼内功,让自己变得越来越重要,相信你的薪资也会随之提升的。

尽可能持续做一件事

我的建议是尽可能持续做一件事。这既是指技术上的积累,也是指你能完整或较长时间参与同一个项目或开发一个产品。 技术深度及完整项目经验的重要性,如果你总是在跟随那些新出现的技术和框架,那你很难在某一项技术上达到理想的深度;

唯一不变的就是变化本身

作为程序员,我们又应该如何应对这些变化呢? 我想说,你很难去改变所处的环境,或是阻挡那些变化的大趋势。你所能做的恰恰是培养自己持续学习的能力。

你的声誉非常重要

除了那些经常挂在嘴边的诚实守信、踏实肯干等之外,有一点特别重要,那便是严谨。 因为它往往是判断一名程序员是否具备优秀潜质的重要因素。 严谨的程序员对于分配给自己的任务会认真理解,对于自己的产出会仔细检查,这些都能大大减少工作中的出错概率,给团队或公司中的其他人留下良好的印象。

理解沟通的意义

当我们没有对问题有深入理解的时候,我们很难写出正确的程序来,因此我们需要向用户虚心求教,去真正理解他们所希望解决的问题。

你的右脑将是你成功的关键

谈到那些我们眼中非常成功的技术大牛、IT高管,都会出人意料地将一些非技术能力作为自己获得成功的关键。 比如,编写文档或做PPT的能力、演讲的能力、说服他人的能力,等等。 我虽然并不完全赞同最优秀的程序员不写代码这种观点,但我确信你的右脑将会是决定你能否成功的关键。

不要轻易说简单和不可能

年轻程序员们不应该轻易做出那些过于绝对的判断,应尽可能去使用科学的方法进行分析和论证,然后用不易被人误解的方式进行有效的表达,这样你提出的观点才能让大家感到信服。

你不应该总是单打独斗

如果你真的希望做出一些具有影响力的东西,那么光靠个人是很难实现的。你需要和团队中不同角色的人进行合作,有时候你需要说服别人,有时候你则会被别人说服。

让你的能力显而易见

程序员的能力来自于大量的编码实践,以及持续学习的能力和勤于思考的习惯。 任何自作聪明,不懂装懂,以及投机取巧在明眼人看来都只会是东施效颦,显得如此微不足道。

会写文档

文档可能是你完成代码编写后一个最佳的展示机会。 当代码实现了它的功能之后,就很少有人会再去看它,除非它出错了。 但文档被阅读的概率却大得多。 从一个文档中,我们可以看到关于作者的很多东西,思路是否缜密,逻辑性是否强,设计方案是否优秀,等等。 可以说,文档质量的高低是衡量一名程序员是否优秀的重要标准之一。

学会包装

说到包装,人们往往会产生一种不好的感觉,把它与虚伪、假的东西联系在一起。其实,我所说的包装应该包含两层意思:

  • 知道什么是美的(优秀的)。
  • 精心制作。

尝试多讲

讲话一直是很多程序员的硬伤,当然这也曾是我的硬伤。根据我的经验,你需要跨过以下两个障碍:

  • 敢说。
  • 让说的和你想的一致。

建立社会化联系

能够使你建立权威,你的技术博客,在一些社区上的技术问题解答,以及你的开源项目等都会使人认为你是这方面的专家。 同样,你也可以获得他人的帮助,来解决棘手的难题。 你可以找到与你有相同兴趣的人,一起做有趣的事情。 你的社交网络将因此扩大,这意味着你所获得的机会将会更多。



Table of Contents