本文来自作者 墨雪卿 在 GitChat 上分享 「软技能:程序员如何在职场上少走弯路」,「阅读原文」查看交流实录。
「文末高能」
编辑 | 哈比
在我们聊 “软技能” 之前,先来区分下 “软技能” 和 “硬实力”。通常我们将自己专业方向的技能定义为 “硬技能”。
以程序员为例,我们的算法、计算机知识和编程能力等就属于 “硬技能”,是我们吃饭的家伙,大多数人等着靠他赚钱买车买房娶妻生子,但生活质量的好坏往往由 “软技能” 决定的,从两类技能的关系来看,“软技能” 是 “硬技能” 的催化剂。
常说的 “软技能” 主要包括职业能力、生产力、学习力、自我营销等,今天我们主要聊一些容易欠缺的方面。
如沟通能力不是很强,没有演讲的经验,说话吞吞吐吐,人多了容易脸红,缺乏影响力,每天累死累活,但是感觉工作效率很低,做了大贡献却得不到领导的重视。
针对这些现实的问题,从以下几方面开始我们的破冰之旅。
学无止境,当然这里的学习并不仅仅指书上的知识、还有生活中、互联网上的,知识广义上来讲可以分为五类:数据、信息、知识、才能和智慧。
数据经过整理变成信息,信息能解决某个问题就是知识,知识通过反复实践形成才能,才能融会贯通就是智慧,构建知识体系可以帮助我们提升,在任何情况下的稳定高质量的输出,可以更高效的解决遇到的问题。
让我们更少的依赖运气,在能力水平越高时,运气所带来的影响就越小,我们对自己的表现可控的比例也就越高。
对知识进行模块化管理,最好的方式是用思维导图把这些底层理论或方法论整理出来,形成一个又一个的知识模块,这样面对类似现象层面的问题时就完全可以把对应知识模块搬出来解决,面对复杂问题时就用多个知识模块。
现在获取知识的途径也很多,可以百度搜索,请教在某方面比较熟悉的同事、朋友,买一些专业的书籍,阅读官方文档等。
我们每个人都会有很多的位置领域,可以每年制定一定的读书计划,年初的时候列个读书清单按照下面的四现象,制定一定的比例去了解自己陌生的领域,扩宽自己的眼界,不坐井底之蛙。
俗话说的好 , 一日之计在于晨。早起床 1 个小时,可以适当的做些运动比如跑步,保持强健的身体;或者读一本自己喜欢的书,记一会单词,每天成长 1%,即使是很少的成长,滴水成冰,经过 365 天的积累就会变成很大的能量。
就如同下面这张图所展示的道理:
简单的回顾一下自己昨天的工作内容,做到查漏补缺,顺便看一下今日的日常安排,安装重要与紧急程度,安排好各项事情的处理先后顺序。
下班前花 15 分钟回顾一下自己当天的工作内容,写下明天的工作计划,记录未完成的工作内容及进展情况,方便第二天更好的开展工作。
工作时手机设为勿扰模式,一次集中心力做一件事。随着智能手机统治时代已经来,大家每天在 QQ、微信、微博、知乎等社交 app 上花的时间越来越多(除了工作需要的沟通),大概占总时间的 24%。
数据显示,在非睡眠时间内,人均每四分钟就要查看一次手机。这种想象有个新的名词叫 “科技上瘾”,源于人们不想错过任何一条身边朋友的信息或者状态,及时的掌握各种娱乐八卦等的渴求。
如果有一个巨大的任务把你压得喘不过气来,你可以试着把它分成小块,使它易于管理,然后相应地安排你的时间。留出应急的时间是自己的计划表更有 “防御” 性,一般建议留出 20% 的时间来应急。
每天在上班下班路上需要花很多时间,拥挤的地铁公交不适合看纸质的书籍或者平板,可以下载一些有声读物,把这段时间利用起来的。
如果公司具备一定的条件提高食堂,吃完饭比较早可以看一些视频课程。科学研究表明,学习效率最高的空闲时间是睡前、起床后、上班前的半小时。
随着社会的高速发展,现代人身体和心理上都承受着巨大的压力。人不是机器,同样要遵循能量守恒定律,一味地追求成功,导致体力精力透支,是得不偿失的。
最近一年来网上报道的互联网行业猝死案列越来越多,基本都是因为长时间高强度的加班造成的,” 死者长已矣,生者常戚戚”, 留下的是父母妻儿永远的痛。如果今晚不能得到很好地休息,怎么有精力取得明天更大的成功。
可以借助一些 app 对自己的时间进行更好的管理,比如:奇妙的清单 app。
要相信存在即是合理的辩证唯物主义思想,不要对自己不了解的技术心存偏见,不要对自己不熟悉的技术心存恐惧。
跳出自己的技术局限制性,以一颗包容万象的心去探求新技术的奥秘。
很多时候我们去学习一些新知识是临时抱佛脚,因为项目需要而公司又没人懂,领导说年轻人多学点知识挺好的,然后硬着头皮去赶快百度一下。
因为时间与经历都是知其然而不知其所以然,懂的只是些皮毛。最好能积极主动的利用前面提到的碎片化时间里,积极主动的钻研,正所谓艺多不压身。
一门技术最好的文档必须是它的官方文档。例如开发 Android APP 的人,应该都熟读过 Android 的 API 文档。里面详细介绍了每个接口函数的作用及每个参数的意义,并有很多的案列去帮助我们理解每个知识点的实际应用。
有了上面的理论基础,动手实践是很重要的。只有自己亲身经历过 才会印象最深刻。
如果有刚好用到这些技术的项目是最好不过的了,不然也可以自己去写一个 demo 进行演练,就从最熟悉 helloworld 开始吧。
有些知识你读一遍不一定会很理解,因为每个人的基础与悟性是不一样的。不要耻于下问,也不要想着 看不懂就放弃。
经验告诉我们,只要功夫深,铁杵也能磨成针,多读几遍你会有不同的收获。可以借助思维导图软件,对知识点进行梳理。
程序员一直被贴上了青春饭的标签,很多人在写了 3 年代码的时候生活工作趋于稳定,很多开始准备结婚生子,站在了一个人生的十字路口,进入了迷茫期。
开始考虑自己未来的发展方向。
我们需要不断思考三个问题:
我到底适不适合当一名程序员?
我应不应该一辈子以程序员为职业?
如果我不写代码,我以后要去做啥?
然后对自己进行一个综合的评估,看看自己适合走下面哪条路:
程序员—系统分析员—架构师—技术经理—CTO;
程序员—项目组长—项目经理—项目总监—CTO;
程序员—产品设计师—产品经理—CTO;
程序员—创业—CEO;
程序员—技术达人—写书—自由职业。
今天在网上看到一张图片,感觉千言万语都在这种张图里了,大家可以看图设计自己的职业生涯。
从个人的发展经历及身边朋友的经历分享大家,虽然频繁跳槽可以获得很高的薪资,但是每次跳槽都认真思考是否值得,对你整个职业长远发展有啥好处。
不知道大家有没觉得很多公司的主管或许不如你优秀,但是你却是他的下属。因为公司除了注重能力,执行力与忠诚度也是很重要的。
如果想让自己的路能走的更远,在 30 岁之前最好能找准行业及适合自己的公司,可能目前的收入并不是很高,但是一旦你的公司进行了 IPO,下个千万富翁就是你,可以实现财务自由了。
“个人品牌” 是他人对你持有的一种印象或情感,描述了与你建立某种关系时的全部体验!
人是一种特殊的商品,根据自己能力的大小有着不同的价值。通过分享你擅长或有经验心得的干货,在某些特定的圈子提高自己的知名度。
参与一些自己熟悉领域的专业圈子,让更多的人认识你,结识更多的不同行业的精英人才。同时不断的提升自己的专业技能与职业素养。
“大部分人的努力程度,并不能达到拼天赋的程度” 和 “一万小时天才训练理论,精深练习——每天在一件事情上投入 3 个小时,坚持十年”。
如此,不牛逼都不行,让自己成为某个领域的专家。同时多与一些 专业的猎头保持联系,他们会推荐更多更好的机会给你,大家一起双赢。
术业有专攻,我们身处在一个信息大爆炸的互联网时代,早就过了那种抱着一个技术或者秘方就能安慰过几世的时代。
但是面对这么多的知识,我们该有所取舍,每个人的时间与经历都是有限的,即使你抱定了终身学习的决心,也是只能保证你在紧跟时代的潮流,暂时不会落伍。
每个人需要有一个独门技艺做为自己的杀手锏,去揽别人做不了的瓷器活。并不断的对自己进行技术的更新换代,不断扩宽知识的领域,不求全部精通,只求在熟悉的领域全面发展。
只有知识的广度得到足够的积累,才能转换为知识的深度。每个人的时间与精力都是有限的,不能一味的追求技术的广度,深度与广度是相互促进的,要把握好度,深度比广度更重要。
现今社会,人们越来越关注的是自己,所以即便个人技术能力很强,如果你不爱说话,不懂得沟通,不善于表达,也很难得到同事、领导、下属的认可与重视。
小品《一句话的事》里面说的就很有道理:“一句话的事儿,一句话能成事,一句话能坏事”。演讲,是你表达自己,捍卫自己,体现自身价值的一种重要手段。
正所谓王婆卖瓜自卖自夸,如果你不能很好地推销自己,告诉别人你的优势,酒香也是怕巷子深。世间没有那么多的伯乐,别觉得自己是千里马总会有伯乐赏识。
互联网行业像搜狗王小川一样的人很多,但是不一定都能遇到赏识自己的张朝阳。适当的学习一些演讲的技巧,可以更清晰的表达自己的观点与思路,减少沟通不畅造成的误解。
程序员一般性格会相对内向点,天天对着电脑敲代码,表达的机会比较少。大家可以试着练习 3 分钟即兴演讲,随便找个话题,找个没人的地方开始。
慢慢地争取在公司内部的一些培训机会去分享自己的经验来练习,也可以让领导发现你的优势,得到更好的升值加薪机会。
在去面试之前,最好先去面试公司的官网,对公司的发展历程、产品及行业有个简单的了解,避免面试问到对他们公司是否了解的时候,留下不好的印象。
经常出去面试的小伙伴会深有感触,对方公司主要看你的以下几点:项目经验 + 基本技术 + 个人潜力(也就是值不值得培养)。
一般第一个面试你的是 HR,主要关注几点:
上家公司的离职原因;
当前公司薪资待遇;
期望能到怎样的一家公司;
个人未来的发展方向的规划。
在面试过程中不要主动提及薪资问题,一般 HR 都是会砍工资的,最好等到面试官向你发问了再进行回答,而且不要给出一个明确的数字,给出一个自己能接受的范围。
要专注于自己的价值而不是需求,你可以把自己的经验、优势、技能等加分项都罗列出来,让 HR 相信你的价值足够对其自己提出的薪资。
不要局限于每月的薪资,同公司的薪资组成架构是不一样的,比如大家都比较清楚的国企月薪不高,但是各种隐性福利多到想疯狂打 call。
如果 HR 给出的薪资没有达到你的心理预期,可以试着问问公司的其他福利,比如商业保险、福利假期、教育报销、项目奖金、季度奖,年终奖、股票、期权等,如果公司的福利足够吸引人,所有福利加起来的数字可能是更客观的,如果全部加起来的年收入能达到自己的预期也是可以考虑的。
分享一个 2017 年最悲催的人事砍工资的故事:某 HR 美女跟候选人谈薪资,恨不得像榨汁机一样压低薪资。结果,一年后 HR 美眉成功被我们的程序员兄弟俘获芳心,做了他的媳妇,每月发完工资钱不经花的时候那个悔呀,早知今日何必当初啊。
在技术面试的时候,一般都是对方的技术总监或者比较有资历的工程师,会根据你的简历问一些感兴趣的项目问题或者他们目前遇到的技术难题,让你进行解答。
主要考察应聘者的沟通能力和思考能力及技术实力。针对面试官的问题,知无不言言无不尽。如果你了解的不多,千万不要敷衍,因为可能下一个问题你就暴露了,还不如直接说不会,把这个问题结束掉,赶紧切换到你熟悉的领域。
如果能有以下这些资源,写到你的简历,会成为高薪很好的加分项:
有自己的原创博客,例如常用的掘金、CSDN、简书等平台;
精通著名开源项目的源码或者架构;
自己在 GitHub 有很厉害的开源项目;
是 GitChat 的达人课讲师;
参与过大型的知名项目。
近期热文
《作为面试官,如何考察工程师的软素质》
《谈谈 Java 内存模型》
《Jenkins 与 GitLab 的自动化构建之旅》
《通往高级 Java 开发的必经之路》
《谈谈源码泄露 · WEB 安全》
《用 LINQ 编写 C# 都有哪些一招必杀的技巧?》
《机器学习面试干货精讲》
「阅读原文」看交流实录,你想知道的都在这里