这是程序员成长那些事儿系列文章的第一篇,也是每个即将步入程序员行业的新人面临的第一个问题:如何选择第一份工作。
第一份工作的重要意义
对于程序员来说,第一份工作份外重要,因为程序员这个职业算是半个手艺活,能力的提升一半靠个人学习,一半靠导师传承。大家普遍的认识,往往过于强调个人学习,而忽略了导师传承。而根据笔者多年的所见,发现基本上只有面对刚毕业的小白程序员,才可能有导师愿意毫无保留的分享其多年来的丰富工作经验。至于为什么这样,也许只能归因于人性吧!因此,第一份工作遇到的导师就分外重要了。
事实上,第一份工作对程序员职业生涯的影响程度,可能比大家想当然认为的要重要很多,就好比相亲时双方第一印象对于相亲成功率的影响程度。甚至于对于职业生涯的定性(卓越?优秀?普通?......)起着决定性因素。
第一份工作都是盲目选择的
读者可以心中默默的回顾下你是如何找到第一份工作的?事实上,绝大部分人找第一份工作时是盲目的。说盲目,是指一方面找工作之前没有确定性的目标范围,一方面也没有针对如何确定目标范围定下一些基本原则。正因如此,这个时候更多的是工作找你,而不是你找工作!正因为盲目,所以第一份工作对你整个职业生涯影响的损益大小,基本上只能靠个人气运了。
第一份工作选择的常见误区
不应单纯的以薪水高低来选择第一份工作。
入行时的薪水高低只是一时的,眼光一定要放长远,想想5年、10年后想达到什么样的薪水,就不回为眼前的这份“高薪”蒙蔽双眼了。事实上,任何事情只要把时间线拉的足够长,性质就会发生变化。比如:一个印度苦行僧举起右手1天、1周、1月,大家可能会觉得是不是脑子有问题;如果超过1年、10年、几十年,大家一定会觉得他太有毅力了。
不应单纯的以公司大小来选择第一份工作。
大公司好在能够提供比较广的视野、比较大的平台、比较丰富的资源、比较亮的行业光环,也同时保证了你周围同事的能力下限,让你能够和一群相对来说比较优秀的同事共事。坏处就是职能划分精细、流程冗长,做久了会感觉是一颗螺丝钉,如果长期在无法过渡到管理岗位,内心会越做越慌,担心失去市场竞争力。
小公司好在能够提供快速升迁的机会,掌握研发全链路的技能,锻炼人的自我学习能力。坏处就是管理无序,无新人培养体系,商业环境不稳定。
不应单纯的以个人喜好来选择第一份工作。
很多时候我们其实没有我们想象中的了解自己,我们通过一些碎片化的信息,以为自己喜欢某某公司,认为年终奖高、食堂伙食好、加班少等等。但你想想如果这么完美的公司,为什么还是会有人离职呢?所以你看到的这些都是表面,公司无所谓好坏,关键是看是否匹配你的脾性。远观很美,近观很丑,这就是很多人入职TOP公司几个月就离职的主要原因。
入行时你的第一需求是什么?
如果你要做一道人生的选择题,一定要先搞清楚你的真实需求是什么?所谓需求驱动原则,具有普遍适用性!(关于需求驱动原则,在一些商业方法论、产品方法论等中都有所提及)事实上要搞清楚自己的真实需求并不像看起来那么容易,甚至可以说是一件极度困难的事。
需求不是你想要什么,而是你需要什么!所以,一定要搞清楚,当你入程序员这个行当时,你的第一需求究竟是什么!这样你就能需求驱动的去选择第一份工作了,也就是有的放矢!
如果你家境困难,亟需经济独立,那么你的真实需求就是找一份尽可能薪水高的工作。
如果你注重公司光环,平台资源,那么你的真实需求就是找一个行业巨头提供的工作。
如果你是一个极度忠于个人喜好的偏执狂,那么你的真实需求就是找一份尽可能满足个人喜好的工作。
对于程序员来说,入行的第一需求一定是能力提升!在对自己有准确评估的基础上,哪份工作能给你更好的能力提升机会和环境,就选择哪份工作!
所谓对自己准确评估,主要是指对自己的约束能力、学习能力、抗压能力三方面的评估。如果你约束能力比较差,那还是去大公司吧,用大公司详细的流程和制度来约束你!如果你学习能力比较差,那还是去大公司吧,用大公司完善的培养体系来帮你提升!如果你抗压能力比较差,那还是去大公司吧,用大公司清晰的认责体系来帮你抗压!所以看出来了吗?对于绝大多数人,还是建议第一份职业尽量去大公司,这也是为什么每年的毕业生都挤破头的去争BAT的实习和入职机会的原因。