程序员必备软技能是现今比较热议的话题,除了写好代码之外,你知道如何在身体上、精神上和心灵上更强大、更健康?一个程序员的成长,又离不开哪些软技能呢?
首先,我们来了解一下,什么是软技能:
- 软技能就是激活人资的能力,即是调动别人的资源和知识的能力以及调动自己知识进行创造性思维的能力!
- 软技能能力值越高,处理事情的能力就越强,它是衡量一个人处理事情能力的量表!
- 这里的资源指:知识和朋友。软技能实际上是指那些“不易看见的技能”,是一个人“激发自己潜能和通过赢得他人认可和合作放大自己的资源,以获得超越自身独立能力的更大成功的技能”的总和。
小黑看了很多文章,总结出来几点,希望能帮助到大家。
一、学会快速找到可以copy的经验
老司机说:编程=英语+搜索
编程作为一门应用性很强的学科,不管是在工作中还是学习中,借用现成的经验不重复造轮子很重要。所以“搜索”就变得很重要了,当然,这里的搜索是广义的搜索,可以理解为平时要多积累工作和学习的资源,比如博客,网站,github等等。
小黑再给大家分享几个可以搜索的题库网站:
- TopCoder:全世界规模***的程序竞赛网站,其中包含了算法竞赛。
- Codeforces:俄罗斯***的算法比赛网站,是自我学习的好地方。
- CodeChef:印度***的算法竞赛网站。
- AtCoder:日本***的算法竞赛网站,题风很棒,有英文和日文题解。
- leetcode:世界知名的演算法面试考题网站。想要省时省力的面试官从里面挑题目,于是求职者 不得不去练习这些题目。部分题目还要收费。但是很多题目在实际工作中并不没有用处,很多纯属考察脑洞。
- nowcoder:牛客网,国内知名面试笔试题库,不光是面试算法题,还涵盖各种语言版块的题目,国内计算机软件相关学生找工作必刷平台。讨论区有许多面经干货,也经常有大公司的hr出现在讨论区。
二、混江湖要懂规矩
做程序员,跟做其他职业本质上没有区别,都是做份工而已。每一行都有每一行的规矩,每一家公司都有每一家公司的规矩,既然入了这一行,进了这家公司,你就要守规矩。有些规矩是明面上的,有些规矩是比较模糊的,但是比较模糊的一般都有前例可循,这些加起来就是常识,常识就是那条不能跨越的红线。
现在大家对于科技行业,程序员圈子的描绘有点儿太过理想化,而忽视了现实的环境,丢掉了一些基本常识,出现了一些比较可惜的事情:有些人因为将零食区的零食拿了很多回家吃被开除了,有些人因为吵架踢了别人一脚被开除了,有些人因为抢月饼被开除了......不管事后舆论如何,对于这些人个人总归是一段不好的经历,虽然有些事情并非有意,也并不是什么大事。
三、做好职业规划,看清职业进阶的路径
对于刚入行或者年轻的程序员,弄清楚自己的目标,找好职业发展是职场生涯和个人成长的关键点。
很多人或者说绝大多数的人都没有考虑到整个的职业发展的问题。进入了职场之后也是如此,好多人只是在埋头干活,却忘记了抬头看路。
有人说,我刚入行怎么能知道未来的发展方向呢?其实很简单,有些路别人已经走过了,你可以跟那些老司机聊聊,看看他们的职业发展是怎样做选择的,那些职业发展比较快的人是怎样做选择的,慢慢你就能够梳理出来适合你的发展路径了,剩下的就是个人奋斗的事情了。
***的职业发展之路,是坚持从事技术工作,注意技术面的扩展,努力成为能够一个人做出产品的技术牛人而不是在个别领域牛逼的技术专才;注意积累项目评估方面的知识和经验,多结识技术领域以外的人,进则争取上对车,跟对人,在浪潮之巅赢得人生的辉煌,退则在成熟的公司安稳的工作。
四、人际关系
人际关系其实是每个人都应该具备的软技能,昨天小黑也分享了关于如何在互联网时代下,有效的发展自己的人脉关系的干货。
五、学会时间管理
时间管理是指通过事先规划和运用一定的技巧、方法与工具实现对时间的灵活以及有效运用,从而实现个人或组织的既定目标。
使用番茄工作法,选择一个待完成的任务,将番茄时间设为25分钟,专注工作,中途不允许做任何与该任务无关的事,直到番茄时钟响起,然后在纸上画一个X短暂休息一下(5分钟就行),每4个番茄时段多休息一会儿。
番茄工作法极大地提高了工作的效率,还会有意想不到的成就感。
六、坚持写作
写作是运用语言文字符号反映客观事物、表达思想感情、传递知识信息的创造性脑力劳动过程。很多技术大牛都有自己博客,写作不仅可以分享知识,还可以检验自己对知识的掌握程度,打造个人品牌。
写作需要练习,写得越多才容易越能写,才能更好地表达自己。另一方面,新手写得没有大牛好,实在再合理不过。要给自己一个成长的过程。一步一步,一篇一篇提高,而不是一上来就给自己定个会造成畏难情绪的目标,自己打击自己。
真正的掌握了一个知识,是在能写出来,讲给别人的时候。
七、探究新技术,不断学习
这个时代,我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。
每个人的精力有限的,所以我们需要有目的地选择选择有生命力和相对保鲜时间长的编程语言去学习,不要有“我要选择一个20年也不会被淘汰的技术”的想法。这不现实。
最重要的是,保持一颗好奇心,因为这样才能不断地学习新技术。
八、身体是革命的本钱
程序员天天坐在电脑前,加班什么的也是家常便饭,导致很多程序员都被颈椎病,肩周炎等疾病困扰。甚至因过度加班熬夜,导致猝死的事情。
欣慰的是,现在大部分程序员都已经意识到了健康的重要性,坚持定期锻炼身体,毕竟身体才是革命的本钱。
哦对了,不仅是身体,头发的护理与再生也是当下程序员需要注意的大问题
其实对成长有帮助的“软技能”还有很多,例如:
- 英文能力,阅读技术文档
- 使用工具,提高工作效率
- 社交能力,拓展人脉
这些技能对于大家的帮助都是显而易见的,希望大家平时在提升自己专业方面的“硬技能”之外,也不要忘记强化自己的“软技能”哦!