程序员不可不知的N个软技能
我是法医,一只治疗系前端码猿🐒,与代码对话,倾听它们心底的呼声,期待着大家的点赞👍与关注➕,当然也欢迎加入前端猎手技术交流群😛,文末扫码我拉你进群,一起交流技术以及代码之外的一切🙆♀️
转载自Duing(ID:duyi-duing)
程序员们在职场都有一个共同的困扰:“好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发力点才能让我的价值更突出呢?”。
小渡认为,这就是典型的硬技能当下「看似」没有什么问题了,瓶颈卡在了软技能上。所以今天的文章就做个小分享,聊聊程序员的软技能。
所谓软技能,就是相对于「硬技能」而言的技能,对于程序员来说,「硬技能」就是计算机专业技术能力,软技能则是专业之外的所有技能,包括职业规划能力、处理人际关系能力、专业态度、做事的方式和方法等。
《哈佛商业评论》的一项研究指出:对2000家公司调查后发现,比起硬技能,公司更看重员工的通用能力(这里的通用能力=硬技能+软技能)。所以说,软技能的重要性一点也不必硬技能低。
小渡认为,很多初入职场的同学有一个非常错误的观点就是:「软技能好像也没那么重要,貌似是可有可无的,程序员就应该更注重硬实力,硬实力才是我们吃饭的手艺」。很多时候,我们的硬实力(技术水平)已经完全能够胜任每一个编码需求,我们向上发展的瓶颈,可能恰好就是那一些看起来虚无缥缈却无比重要的「软技能」。
硬技能通常比软技能更容易定义和评估,但软技能更多涉及行为或思想,也就是个性特征和认知能力,它更难评估。但是它们不管在任何行业、工种都适用,不管什么行业,什么工种,都能随身携带,学好可以受益终身。
1、批判性思考并提出合理的论点
批判性思维是使用认知技能独立思考以做出深思熟虑的决定的能力。投资于这项技能,以提高你的思路清晰。
作为程序员,我们有时会急于立即解决问题,因此感觉就像我们正在取得进展,或者看起来我们正在对利益相关者做出响应。如果我们没有充分考虑原因和后果,这可能会带来风险。换句话说,批判性思维是有目的地思考并形成自己的结论。这种以目标为导向的思维可以帮助你专注于根本原因问题,从而避免未来因不牢记原因和后果而出现的问题。
2、熟练掌握“可转移”技能
可转移的技能指的是可以从一个项目带到另一个项目的技能。
基本原理是任何软件工程工作的基础。它们有两个层面——宏观和微观。宏观层是软件工程的核心,微观层是实现(例如技术栈、库、框架等)。
在宏观层面上,你学习的编程概念在很大程度上是可以转移的,不管是什么语言,语法可能有所不同,但核心思想仍然是相同的。这包括:数据结构(数组、对象、模块、哈希)、算法(搜索、排序)、架构(设计模式、状态管理)甚至性能优化(例如缓存、延迟加载等)。这些都是你经常使用的概念,对它们进行逆向了解会有很大的价值。
在微观层面上,您需要学习这些概念的实现。这可能包括:你使用的语言(JavaScript、Python、Ruby等)、你使用的框架(如React、Angular、Vue等)、你使用的后端(如Django、Rails等)以及技术你使用的堆栈(例如GoogleApp Engine、GoogleCloud Platform 等)。其中涉及的细节对于获得有效的专业知识可能很有价值,但并不总是可以转移的。
3、主动与人打交道
《能力陷阱》一书中,有一段话记忆深刻:「许多人认为,人际网络本质是虚伪的,认为是在“利用别人”,认为带有目的性的人际交往让自己变得“虚伪”、“不干净”、“像舔狗”,从而拒绝在舒适区域以外建立人际关系。」,大家觉得这段话对吗?其实是不对的,当你抱着双赢的思维去沟通,就不会有这种负担了。
《能力陷阱》中还有一个非常核心的观点:大意就是「当一个人擅长解决某一场景的问题的时候,时间越久也许越离不开这个场景,也许这一生就定格在这个场景里面出不来了,可能一辈子都是个程序员。」特别是对于管理者来说,管理者要做一个连接器,自己部门跟外部部门之间的连接器,走出去是走出「能力陷阱」的第一步。
LinkedIn的创始人德·霍夫曼发现,当你在职业上要寻求帮助时,最远不会超过三度,即我们通常只需要通过两个人就能与其他人取得联系。但是我们并未能很好地利用这些关系,因为我们大多数人都没有意识到我们的人际关系网络力量到底有多强大。
4、换位思考
学会倾听、关注他人感受,具备同理心。在跟人打交道或沟通之前,换位思考一下,如果你是对方想听到什么或看到什么,时常锻炼换位思考的思维,时间长了会发现非常有用。如果不知道对方是如何思考的,那就不要说话,倾听即可。
举个例子:我们常常会为了视觉还原问题而烦恼,设计同学找到我们解决像素级别问题的时候,我们往往是不是会烦躁,功能都开发不完,哪有精力去还原视觉,常常就会不耐烦的沟通,这个时候换位思考一下,他的设计作品最后做出来不是他想要的,他自己会不会有落差,这是他的工作职责,我们只需要站在他的角度思考,给他一个合适的解决时间即可。
在我们工作中,我认为换位思考就是要有「服务思维」,处处设身处地、为别人着想。
5、职业发展规划
作为程序员的晋升通道相比较其他岗位而言要稍微轻松些,因为对于硬技能考察的较多,当然如果要进行管理线的晋升,对于软技能的重视也是非常高的。在公司要有良好的晋升,最重要的事情便是成为事情的解决者,勇于尝试新的机会并承担责任,以最后的结果输出来证明自己。
6、理性热爱技术
作为程序员,我们可以通过技术实现很多好玩的东西,热爱技术是很正常的事情,但是不要狂热,因为在项目对于技术的选型要考虑到其它的隐性成本,如掌握某项特定技术的人在市场上的多寡问题。技术是帮助我们来实现产品价值的工具之一,如果过分的追求技术,会变成舍本逐末,单纯追求技术上的满足不管项目、产品的全局是不负责任的,我们可以将这个想象成带着脚铐跳舞。
小渡以为,这6项基础软技能在程序员的工作中相比其他软技能都更为重要,希望能够对你有一些启发。
越努力、越幸运,最后请记住:勤奋才是改变你命运的唯一捷径。小渡与你共勉~
RECOMMEND
很感谢小伙伴看到最后😘,如果您觉得这篇文章有帮助到您的的话不妨关注➕+点赞👍+收藏📌+评论📜,您的支持就是我更新的最大动力。
欢迎加入前端猎手技术交流群😛,文末扫码加我微信,我拉你进群,一起交流技术以及代码之外的一切🙆♀️