【干货速递】程序员的成长离不开哪些软技能?
一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。下面,牛妹来谈一谈个人对程序员所需软技能的理解:
一、自我奋斗篇
1、老司机说:编程=英语+搜索
编程作为一门应用性很强的学科,不管是在工作中还是学习中,借用现成的经验不重复造轮子很重要。所以“搜索”就变得很重要了,当然,这里的搜索是广义的搜索,可以理解为平时要多积累工作和学习的资源,比如博客,网站,github等等。
牛妹自己的一些私藏,分享给大家:
(1)题库网站
TopCoder:全世界规模最大的程序竞赛网站,其中包含了算法竞赛。
Codeforces:俄罗斯最大的算法比赛网站,是自我学习的好地方。
CodeChef:印度最大的算法竞赛网站。
AtCoder:日本最大的算法竞赛网站,题风很棒,有英文和日文题解。
leetcode:世界知名的演算法面试考题网站。想要省时省力的面试官从里面挑题目,于是求职者 不得不去练习这些题目。部分题目还要收费。但是很多题目在实际工作中并不没有用处,很多纯属考察脑洞。
nowcoder:牛客网,国内知名面试笔试题库,不光是面试算法题,还涵盖各种语言版块的题目,国内计算机软件相关学生找工作必刷平台。讨论区有许多面经干货,也经常有大公司的hr出现在讨论区。
(2)教学网站
Matrix67:一直十分仰慕M67。数学爱好者的天堂。
Wolfram Math World:这个网站收集了丰富的数学资料。如果遇到数学问题,可以到这里查询资料。
planetmath.org:这个网站的目标是称为数学的百科全书,有很多好读的数学文章。
The On-Line Encyclopedia of Integer Sequences:收集了几乎世界上所有出现过的数列,找规律题神器。
(3)计算机类的书籍推荐
(4)github的使用技巧
第一项软技能就是:学会快速找到可以copy的经验。
2、混江湖要守规矩**
做程序员,跟做其他职业本质上没有区别,都是做份工而已。每一行都有每一行的规矩,每一家公司都有每一家公司的规矩,既然入了这一行,进了这家公司,你就要守规矩。有些规矩是明面上的,有些规矩是比较模糊的,但是比较模糊的一般都有前例可循,这些加起来就是常识,常识就是那条不能跨越的红线。
现在大家对于科技行业,程序员圈子的描绘有点儿太过理想化,而忽视了现实的环境,丢掉了一些基本常识,出现了一些比较可惜的事情:有些人因为将零食区的零食拿了很多回家吃被开除了,有些人因为吵架踢了别人一脚被开除了,有些人因为抢月饼被开除了... ...不管事后舆论如何,对于这些人个人总归是一段不好的经历,虽然有些事情并非有意,也并不是什么大事。
第二项软技能就是:有常识,懂规矩(自带势能的new balance除外)。
3、脸皮厚一点成长更快些**
该条主要是对新进入职场的新人来讲的。作为新人,肯定有很多不懂的地方,但是看到那些程序员老人们都在忙自己的事情,有时候就不太敢去问他们,怕太频繁提问打扰到别人。
有时候碰到老程序员心情不好或者问烦了,说你两句“这个不是就是xxxx嘛,这还用我告诉你嘛”“怎么这么笨啊”,我们就更不敢去问了。结果闭门造车,束手束脚,反而问题会越来越多。不如脸皮厚一些,挨骂了就左耳进右耳出,当然该要改进的还是要改进的。没事的时候撸个串,扯扯淡,关系自然就亲近了。
第三项软技能就是:脸皮要厚,抗压能力要强。
二、历史“进程”篇
所谓的历史行程,也就是规律,一般通过大数据统计能发现。而且,越是稳定的环境,这种规律性越明显。
早期的互联网还是一个草根与精英共生的环境,各种背景的人都在行业里面追逐财富和梦想。随着十几年的发展,这个行业也越来越成熟,慢慢开始出现阶层固化。比如,越来越多的大企业开始只招收985、211的学生,总监或者VP级别的很多都要求清华北大的教育背景。
对于刚入行或者年轻的程序员,更是要求我们弄清楚自己的目标,找好职业发展的关键点。
最近是校招季,很多人在牛客网的讨论区讨论offer比较的问题,有的人说选择钱多的,有的说选择给户口的,有的说选择名气大的公司... ...这些选择都有其各自的道理,但是很多人或者说绝大多数的人都没有考虑到整个的职业发展的问题。进入了职场之后也是如此,好多人只是在埋头干活,却忘记了抬头看路。
有人说,我刚入行怎么能知道未来的发展方向呢?其实很简单,有些路别人已经走过了,你可以跟那些老司机聊聊,看看他们的职业发展是怎样做选择的,那些职业发展比较快的人是怎样做选择的,慢慢你就能够梳理出来适合你的发展路径了,剩下的就是个人奋斗的事情了。
第四项技能就是:做好职业规划,看清职业进阶的路径。