软件开发者必备的软技能有哪些?

神译局 · 2019-05-14
学校教育该教、却没有教的东西。

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:对于软件开发者来说,会写代码会调试才是硬核能力,其他的东西就没那么硬了,充其量是些软技能,算是锦上添花,有当然好,没有也没关系。但职场现实往往会打脸。资深开发者Bruce Flow入行10年后最想对当时的自己说的一句话就是:软技能起码跟硬实力一样重要。可惜时光不能倒流,刚入行或即将入行的人可以此为鉴。文章标题是:Critical soft skills for software developers当然,其实除了本文介绍的软技能以外,还有很多软技能,可分为自我控制、生产力、智慧、认知、影响等5大类,具体可参见营销大师Seth Godin:别再把这些叫做“软技能”了

软件开发者必备的软技能有哪些?


我当软件开发者大概有10年了。如果我有时光机的话,我会回去给当时年轻的自己一句职业忠告:

软技能跟技术技能一样重要,如果不是更重要的话

我刚开始工作的时候,是完全相信技术技能是软件开发者职业生涯成败的关键的。我幼稚地认为擅长开发软件的开发者是那些更快取得成功的人。可我是错的。

作为职场菜鸟,我很快注意到,那些技术能力尚可但有着出色软技能的开发者在职场晋升和财务报酬方面都表现得更出色。

我曾经跟非常聪明的开发者在一个团队共事过。他就像熟悉自己的手心手背一样精通纷繁复杂的Java Enterprise生态体系,是我当时认识的最有能力的编码者之一。他可以毫无费力地在自己的脑海里进行复杂的多线程场景模拟。

不幸的是,他的职业发展却停滞不前。是什么阻碍了他的发展?因为他难以相处的性格以及软技能不足,别人很难跟他共事。

由于正规教育并没有教我太多这些相关的技能,我开始对成功的软件开发者所做的事情记笔记,我这么做是为了效仿他们。

技能 #1:推销你的工作

在理想的世界里,你的工作应该是不言而喻的。不幸的是,我们并不是生活在理想的世界里。

好工作被忽视是常有的事。我们必须积极行动来确保我们的贡献得到沟通,以确保被人看到和承认。

大多数情况下,管理层并不直接去判断你技术工作的质量。通过审核每行代码来评估你的表现并不是你的经理的工作。

经理对我们的印象是基于他们的观察。他们根据以下这些接触点拼凑出一幅有关你表现的完整画面:

  • 你跟他们的直接沟通(一对一会议,项目共事)

  • 你跟他们一起出席的会议

  • 你进行的演示和演讲

  • 他们被动参与的你跟其他人的沟通。 比方说,电子邮件抄送。

  • 别人在背后对你的议论

如果我们想要对自己的职业发展负责的话,我们就得管理好对自己工作的营销。

关于“推销自己的工作”是什么意思有许多观点。在我看来,这意味着把关键信息跟管理层进行沟通,从而让他们对你的出色工作有精确的印象。

我们必须根据自身的独特情况量身定制自己的营销策略。你的情况取决于你的性格、你经理的性格、你的同事、你的公司文化以及你的工作性质等因素。

就我个人而言,我发现以下一些行动是有效的:

  • 把我个人在项目中所扮演的角色和承担的工作明确地沟通清楚。沟通这个的有效场合是一对一会议或者团队会议的时候。

  • 如果有任何自己额外进行的工作,确保要让管理层知道

  • 不要成为同事讨厌的人。不过显然对谁我们都不应该成为令人讨厌的人。被工作的同事讨厌会导致他们在背后讲我们的坏话。

  • 在绩效评估会议上,我会要求直接共事的同事对我进行评估。如果你正确地完成了工作的话,他们会说替你说好话的。别人表扬你好过你自己自吹自擂。

永远都不要为了取得成功而向管理层报告错误或者虚假的信息。短期内你可能会侥幸成功。但终有一天问题会回来反咬你一口。我就亲眼见过同样的事情发生在一些同事身上。

技能 #2:时间管理

作为软件开发者,我们有个别人没有的奢侈,那就是有大量的自由。比大部分职业都要自由。而这些自由不部分可以作为一定程度上管理自己时间的机会。

管理我们的时间意味着我们应该能够对自己的任务进行优先排序。在工作中先干令人兴奋的任务,把更重要但没那么有趣的任务忽略掉是很诱人的选择。

我们都见过那些开发者因为折腾一些小聪明而得意忘形的例子,到最后才发现已经忘记项目重要部分完成的截止期限已经快到了。

时间管理还意味着要时刻注意跟拖延症做斗争。作为软件开发者,你其实可以看网络迷因或者阿猫阿狗视频过一整天。拖延会导致截止期限将至时的恐慌。恐慌会导致忧心忡忡,工作质量糟糕。

时间管理的另一个方面是严守时间。因为技术方面的会议很少是决定死活的会议,一些开发者养成了开会迟到的习惯。经常开会迟到会产生以下负面后果:

  • 令其他团队成员感到厌烦

  • 浪费时间,因为他们必须重复你错过的东西

  • 你的行为向他们暗示你这个人不可靠

时间管理还意味着知道什么时候不该工作。有时候为了赶上重要的截止期限加加班是没问题的。但是把加班开夜车变成定期的做法会对我们的健康和社会生活产生不利影响。

我们都得知道什么时候退出系统走人回家。当我们不工作的时候,比方说周末或者度假的时候,我们必须坚守不干活的纪律。这意味着不要看邮件或者“再写一行代码”。

在我们的泡沫氛围里,感受到同行点灯熬油加班的压力或因为度假不看邮件而感到愧疚实在是太容易了。我们必须提醒自己,要花时间去改进我们的生产力,而不是降低它。

技能 #3:建立关系

我得到现在的这个工作机会是因为关系网络。几年前,在一家公司内部的技术会议上,我参加了一场非常精彩的演讲。后来我跟演讲者交流了一下。就因为这次接触,后来我加入了他所在的团队。

认识公司内外“合适”的人会对你的职业生涯产生巨大影响。一些明显的好处包括:

  • 获得更好的工作机会

  • 项目可以有更多的联系人(协作需要,作为客户等)

  • 可以得那些没有这方面义务的人的帮助

  • 提高跳过某些公司内部无意义的繁文琐节的机会

  • 他们还可以将你介绍给其他人

认识新人的办法之一是遇到他们的工作时接近对方。如果你出席了一个有趣的演讲或者读到了一篇文章,你可以给同事发封邮件感谢他们,并且表达自己对该主题的真诚想法。

如果谈话发生了有趣的转折的话,你可以亲自跟他们见面去问问他们在做什么,或者一起吃个午饭。

当我遇到自己或者找认识的人也无法解决的问题时,我有时候会搜索公司内部网络看看还有谁解决过类似的问题。然后我会给对方发一封冷邮件请求帮忙。

大多数时候,同事都会回复我并且非常乐意帮忙。即便他们无法直接帮忙,我们也引荐其他人来帮忙。

另一个拓展个人圈子的办法是请人帮介绍。如果你知道某人认识一个你想认识的人,你找那个人帮引荐就是了。

你还可以通过休闲活动获得企业通信录。很多公司,尤其是大一点的公司,会有组织下班后活动的小组。我就是通过去吃饭和参加体育比赛认识了很多有趣的工作同事的。

培养现有的关系也很关键。如果你只是在需要的时候才联系别人的话,他们就会产生你只是在利用他们的印象。而且的确是这样的。

我的确享受跟人保持接触来培养关系。我一般通过以下一些手段去做:

  • 跟他们吃午饭或者和咖啡

  • 遇到他们的名字时就给对方发封邮件。比如,如果你在公司博客或者新闻公告看到他们时。

  • 转发你碰到的认为跟他们有关系的东西给他们

我还喜欢把我的通信录进行“异花授粉”,也就是有机会的时候把他们互相介绍给对方。我的经验发现,在相互引荐双方之前,先询问一下双方是否感兴趣是好的做法。我就试过引荐双方时出现某一方不喜欢这样的情况。

技能 #4:开放思想

在技术业,思想开放是关键。开放思想可确保我们能够适应工作的动态性。

开放思想的一方面是能够倾听别人的观点和想法。如果我们能够正确地倾听和理解别人说了什么,我们就有机会可以:

  • 学习新东西

  • 基于别人的想法形成新想法

  • 更有效地推动手头任务向前

  • 减少不必要的会议讨论

思想保守的开发者跟人讨论的目的是将自己的想法强加给别人。别人讲话的时候,他们不听,而是去等到轮到自己再次发言。有些人这么做是出于自负,一些则是因为倔强,而有的纯粹出于习惯。

思想开放并不意味着我们就得接受一切塞进我们喉咙的东西。这并不意味着我们我们会成为容易被征服的人,任何时候都必须说“是的”。

思想开放意味着我们可以推迟发表观点和判断。有时候,我们太容易仅仅因为不熟悉而对新想法或者做事情的新办法过度怀疑了。这可能涉及到新项目的管理办法,软件工具,或者组织变更。

结论

就像技术技能一样,改善软技能也永无止境。作为软件开发者,我们都有技术倾向。毕竟,这才是我们为什么一开始选择走上这条道路的原因。

我们必须记住,忽视软技能就像用廉价车轮来驾驭一辆高性能车一样。不管引擎有多出色,那是不可能发挥其最大潜能的。

原文链接:https://medium.com/swlh/critical-soft-skills-for-software-developers-6845545f6dbd

译者:boxi。

+1

好文章,需要你的鼓励

参与评论
登录后才能参与讨论哦...
后参与讨论
提交评论0/1000

请回复有价值的信息,无意义的评论将很快被删除,账号将被禁止发言。

下一篇

那些站在支付宝背后的企业们,正让三大新风口成独角兽洼地。

2019-05-14

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

为你推送和解读最前沿、最有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚集全球最优秀的创业者,项目融资率接近97%,领跑行业