每个开发人员都应具备的软技能

几周前,我和一位想成为开发人员的人进行了深入的交流。他担心他在技术上不够好,他问我,“你认为什么才能成为优秀的开发者?”。我简单地回答:“一个优秀的开发人员必须具备技术技能,这是不可否认的。但真正让你感到高兴的是你的软技能,软技能让你走的更远“。

这个回答让他很惊讶。有些人可能会感到惊讶。但我坚持认为:软技能很重要,比技术技能更重要。因为一旦你获得了正确的软技能,技术技能就会自然而然。让我们看看哪些技能和原因。

目录:

  1. 保持好奇心:永远学习新事物,公开学习甚至更好
  2. 要有耐心:坚持不懈。努力工作总能带来回报
  3. 要有创意:积极主动。带头讨论主题并牢记大局
  4. 无所畏惧:不要取笑别人,接受善意的批评
  5. 知道如何沟通
  6. 帮助别人。
  7. 有条理

几周前,我和一位想成为开发人员的人进行了深入的交流。他担心他在技术上不够好,他问我,“你认为什么才能成为优秀的开发者?”。我简单地回答:“一个优秀的开发人员必须具备技术技能,这是不可否认的。但真正让你感到高兴的是你的软技能,软技能让你走的更远“。

这个回答让他很惊讶。有些人可能会感到惊讶。但我坚持认为:软技能很重要,比技术技能更重要。因为一旦你获得了正确的软技能,技术技能就会自然而然。让我们看看哪些技能和原因。

保持好奇心和不断学习

让我们从好奇开始吧。这个很重要,因为它会为你打开新的大门。好奇意味着愿意不断学习发现新事物。永远不要停止问为什么事情的行为方式或者幕后发生的事情。当你学习的时候,一定要公开做,即使你错了。它会给你带来很多机会。比如我现在做的微信公众号:程序员成长充电站,是我写过大家看的,也是写给我自己看的。由于公开,我收到各种反馈,如果哪个概念没有讲明白,或者哪个问题,我理解的有问题,大家会给我留言告诉我,我也会和大家讨论问题,加深自己的理解。

古语有云:活到老,学到老。这个世界有太多可以丰富自己的知识,是需要学习才可以掌握的。能力和修养的养成也是需要知识的不断积累和眼界的不断开阔。所以说,没有什么比学习更能提升一个人的价值了,也没有什么能够比学习更能让人获得人生的成长和进步了。

人生就是一个不断学习的过程,通过学习来充实自己的头脑,让自己更有智慧的生活下去,去探索那未知领域的神秘,去享受成长带来的快乐和惬意。不要再回忆了,人生的全部意义其实都在现在和将来,而通过现在的努力学习,正是通向美好未来、实现人生自我实现的必由之路。

第一,建立反馈在工作中总有些事是明明可以用程序来解决但是却人工来搞,就比如砍树,你手上有把斧头,但是明明有个锯可以用,只不过没有锯条,如果只砍一棵树,那没问题,但是如果要砍掉一片森林,更聪明的做法是买个锯条装上用锯来伐树。现实中就是多次人工解决的问题一定要用程序帮你做,解决不同问题的时候你写的程序自然涉及的不同知识点,从程序到一个系统,说不定还能开源,通过良性反馈持续学习,提升个人能力。不要等需求。

第二,利用身边大牛在工作中的好处就是你与大牛无比的接近,在网络优化的时候你会认识网络组的同事,在调linux系统问题的时候你会认识系统运维组的同事,踩坑的时候要好好利用这次的坑接触更多的牛人,和他们多聊聊,然后自我学习强化,不断扩宽自己的知识面。总之,找到自己的特点和方法。

耐心和毅力

你肯定听说过坚持不懈是成功的关键,在发展中尤其如此。我们可以通过工作量或要学习的东西迅速消除动力。有些时候你会觉得你不会再进步了,当你花费数小时在这个愚蠢的bug身上,当你感觉没有时间去学习一个新东西的时候,你需要耐心和坚持不懈,坚持下去,在学习和构建新东西时,你将获得越来越多的经验。努力工作总能带来回报。我不是说你应该把所有的时间花在编码上,休息时间也很重要,不要熬夜。在这里我强调一个,要坚持运动。作为程序员,我们每天都是对着电脑坐着,很少走动,基本上都是亚健康。

要相信坚持的力量,每天十分钟可以写一本书编程书。https://blog.usejournal.com/ten-minutes-a-day-e2fa1084f924他近两年的时间,每天花至少十分钟,写完并出版了一本c++编程书。499天,每天用少于15分钟;只有5天,每天花超过1小时。很多天只是盯着屏幕10分钟,假装写书有所进展。坚持的力量!其中有个心理暗示很不错:他规定自己在每天10分钟写书的活动后,才能查个人的电子邮件,如此就养成了习惯。

我自己的公众号,也是今年开始写的,每周都是文章出来,写一个系列,计算机基础课,从二进制开始,再到cpu,内存怎么去做的,在做算法数据结构,最后到人工智能和未来计算机的发展。准备用一年的时间,在写这篇chat的时候,我已经坚持写了32篇了,写到了数据在内存中的存储结构是什么——数据结构,我会继续写,到19年结束,这个系列结束。

创造力和积极性

解决问题并寻找新的方式来看待事物是我们业务的核心。因此,找到新的解决方案并以不同的方式看待事物对我们来说非常重要,以便对事物的运作方式有另一种看法。通过改进产品,创建新库或加快访问速度,我们面临新的挑战,并且我们在解决问题方面做得更好。谁知道,你可以创造下一件大事。

找到这样的解决方案需要你积极主动,不要被动,等待工作,通常会受到赞赏。但是,当你这样做时,始终牢记大局是非常重要的。你应该知道这些解决方案的权衡取舍以及你的目标。

例如,您可以建议创建一个开源库作为项目的一部分。这将提高您对开源世界中项目(或公司)的认识。因此,您将被视为积极主动且负责任。你需要主动去参与项目中去,并对你所做的事情感到骄傲。

不要取笑别人,接受善意的批评

如果你遇到过那些对自己的代码太过骄傲的人,取笑他人并且不接受任何意见的人。

这不是因为你不知道这意味着你是无能的。这不是因为你有一个问题,这意味着你什么都不知道。这不是因为别人比你更少知道这意味着你比他更优秀。因为有很多新技术不知道,这会让他成为一个糟糕的开发者吗?我不这么认为。只要拥有专业领域和正确的态度,你就可以成为一名成功的开发人员。在现在社会中信息量太大,不可能每个开发人员都对新技术了解,这个时候就更需要专注。"三人行必有我师焉",多向别人请教,不要取笑别人。

你需要谦虚,积极接受批评。如果有人给你合理的反馈意见,请不要将其视为不好行为。从中学习并变得更好。如果你在团队中工作,通过配对编程代码审查,只要你知道如何沟通,你将从中获益良多。

沟通

在我看来沟通最难和最重要的技能。一方面,我们所说的可能与我们的想法或我们希望对方理解的不同。另一方面,另一个人可以理解与他想听到的和他实际听到的不同的东西。

此外,绝大多数人不喜欢听别人说话。他们只是假装他们正在倾听并喜欢谈论他们的故事,他们的想法或他们做了什么。

但是,作为开发人员,你不能这样做,你需要其他开发人员合作,和产品经理合作,和测试人员合作。因此,你必须清楚地解释为什么你不同意该技术选择。您还需要向非技术人员解释为什么设置提醒和推送通知不仅仅是“if语句”

所以倾听别人的意见并以清晰的方式说话

当开发人员加入新项目时,我注意到了一种反复出现的模式。其中一些通常从重构开始,这是有意义的,因为它是运送东西和学习如何工作的好方法。但是,重构过程结果是以另一种代码样式重写原始代码。代码既不具有更高的性能,也不具有更高的可读性。而这种“重构”通常伴随着一堆评论,比如*“什么是f **?”“但是谁写了这个?”“哦,我们需要使用那个框架。”,*“我不知道”什么都不懂,代码是s **

当然,代码的新外观是一个很好的机会,可以让它发展,但是要以聪明的方式进行。以善意的方式提供反馈。要善解人意,要全面。把自己放在以前/当前开发人员的情景中。也许他们必须处理最后期限,也许他们没有时间修改这些遗留代码,或者他们可能没有你现在拥有的知识。有很多理由可以写出糟糕的代码。

当你能够同情时,这意味着你可以感受到别人的感受,你已经想到了他们能想到什么,他们可能面对什么。因此,它让你更值得信赖,因为我们知道你就是那种人。当你考虑观众的期望时,它会让你成为一个更好的沟通者。你的应用用户也是如此。

乐于助人和指导

我相信你知道有人向你求助,因为你知道这对他来说很烦人。在这种情况下你感觉如何?在这些时刻,我觉得这两个人都是白痴。编码很难。我们每天都会遇到各种各样的bug,寻求帮助是正常的。所以,要有所帮助。花时间与其他团队开发人员一起帮助他们完成任务。帮助Stack Overflow上的人,写技术帖子,为其他人服务。

当你掌握了知识时,指导某人也是一个好主意。您不仅可以更深入地了解当时的教学内容,还可以为其他人提供成长的机会。但要小心,帮助他人可能会非常耗时。

指导小孩子,可以说这是最好的学习,当你学一个东西,你能将其给小孩子说清楚,那就说明你完全理解了。可能你问从哪找小孩子,这里的小孩子就是一个代表,是指那些对你说的知识完全不懂的人。

有条理

你会给不可靠的人一个任务吗?一直迟到?不堪重负?我打赌你不会,这完全可以理解。好吧,你不想成为那个人。值得信赖是必不可少的。如果您及时完成任务,则意味着您可以信任您并为您提供更多责任。但是及时完成任务意味着要有条理。为此,您可以使用待办事项,如Todoist。

但是,你应该知道何时对某事说不。这就是沟通很重要的地方。如果你认为你会在那次你甚至不会说话的会议上浪费你的时间,那就说出来并确保你被理解。举个例子,不要说“会议没用,我有其他的事情要做。”。你将被视为激进和不堪重负。相反,解释自己,并开始讨论:“我感觉我的存在对于那次会议是没有必要的,我想在早上结束时解决这个问题。你觉得呢?”

获得所有这些软技能会深刻改变您的工作方式。 一旦你对某个主题感到好奇并获得持续学习者的心态,你就能更好地理解事物的运作方式,并且因为你真正关心学习而获得更多的经验。要有创造力和积极主动,不要只是等待工作,带头。当然,任务可能令人生畏,工作量可能使你失去动力,但你需要坚持不懈才能取得成功。

开发人员通常在团队中工作,因此无私是非常重要的:接受批评,总是寻求反馈并从错误中吸取教训而不是拒绝错误。你还需要知道如何与他人沟通。要善解人意,理解别人的观点,真正地讨论事物。无论何时,只要你不是专家,就可以帮助人们并教导事物,提供研讨会,提示,撰写文章。在团队中工作意味着你期待来自同事的事情,我们期待你的事情,所以要有条理。


本文首发于 GitChat,未经授权不得转载,转载需与 GitChat 联系。

阅读全文: http://gitbook.cn/gitchat/activity/5d4cdb97fd1b6b059b69c5e3

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

你可能感兴趣的:(每个开发人员都应具备的软技能)