每个人的第一份工作都是最难忘的,无论你经历过怎样的学生时代,到了这个全新的平台上你都是一张白纸。你的整个职业生涯就是在这张白纸上描绘出一个你想成就的自己。
和所有的工作一样,程序员第一份工作的主旋律是学习,在这里你要迅速让自己成长成一个具有一定专业能力的技术人员。我时常用另一种说法去诠释它,这就是,你要迅速让自己为迎来下一份工作做好充分的准备。
如何看待换工作
很多应届毕业生都不怎么会想象换工作的事情,他们会觉得对自己而言换工作是件非常遥远的事情,毕竟自己才刚刚找到人生中的第一份工作。当年我得到第一份工作的时候甚至认为自己会为那家公司服务一辈子,结果我工作了四年就离开了。其实四年的时间已经不算短了。
应届生们大都还有这样一个误区,企业非常看重员工忠诚度,不希望他们有跳槽的想法。这其实是不准确的,如今的企业都已经能够正确认识跳槽这件事了,对企业而言,一定比例的人员流动不但不会影响自身发展,反而能够不断地流入新鲜的血液,让企业保持活力。就我个人而言,我并不介意自己团队里的成员有跳槽的可能。相反,我在招聘新人的时候总是想侧面了解一下他们计划在这里干多久,无论是校招还是社招。
如果一个新人对自己下一份工作没有期许,那从某种意义上讲他对自己的职业生涯是缺乏规划的。如果是社招,他要么是习惯随波逐流缺乏进取心,要么是进入疲惫期准备来我这儿养老了,这两种人我都是不会考虑的。大部分校招的孩子也都是这种情况,他们对工作缺乏概念,并不清楚未来会怎么样,自己要如何发展,对于这些人我会在培训中要求他们给自己树立一个两三年后的目标,这个目标可以是行业中另外一家“好公司”。
可能有人觉得奇怪,难道我不希望自己的团队成员一直为我工作下去吗?队伍稳定固然重要,但有战斗力的队员更加重要。有明确职业规划的团队成员是自带回血功能的,他们很清楚,在这里工作是为了让自己更加优秀从而能够胜任更好的工作,他们也很明确要在这里工作多久,成长成什么样的人,需要积累哪方面的经验。所以他们不需要别人给太多的激励就能够自主地好好工作。他们不怕辛苦任劳任怨,喜欢接受有挑战性的工作,甚至从不在乎眼前的蝇头小利,他们知道自己所有的付出都是为了自己,为了成为更优秀的人。对于这些员工,我要做的只是在他们遇到困难需要帮助的时候伸出援助之手就好了。这才是我想要的团队成员。
所以,换工作应该是脑子里一直绷着的一根弦,时刻提醒着自己不要迷失了方向和目标。特别是你人生的第一份工作。
学什么
学什么这个问题其实并不好回答,理论上只要遇到你不懂的、你做不好的、你不敢做的都要学。说了其实和没说区别不大。如果一定要按照权重写一个List出来的话,我觉得下面四点一定是排在前面的。
1. 专业知识
这一点毋庸置疑。在老鸟程序员们的眼里,应届毕业生的专业能力几乎为零。他们唯一能写的一小段练习小程序还暴露出一大堆的坏习惯。我常常听到有同事说带新来的实习生还不如找个非相关专业的从零教起容易些。
记得刚入行的时候,我信誓旦旦地找到组长要求分给我一个模块开发。他是一个大我5岁的大牛程序员,大家都叫他土雷。他很随意地抛给我几个问题:消息驱动懂不懂?MFC用过没?STL会使吧?DLL总会编吧?......好吧,那你会啥?
我永远也忘不了他提问时无奈和不懈的眼神。从那天起,我从MFC开始了我漫长的C++工程师生涯。
相信大多数人应该和我当初的经历是差不多的,大家起点相同,之后怎样就全靠自己了。对于小白而言,在和老鸟们一起工作的过程中,总是会听到一些完全没听过的词汇,这些大多是三个字母的组合,比如“MFC,STL,DLL”。有一种说法是任意三个字母的一个组合,你都能在计算机界找到一个专有名词和它对应。最开始,你的学习就是从这些词汇开始的。
每当听到一个新词汇,就暗中记下来,之后通过互联网、专业书籍或者找高人请教的方式了解它。不幸的是,在了解这些的同时,你又会发现更多你不了解的词汇,于是继续查资料。常常,你的浏览器中打开页面的数目会指数级的增长,看都看不完。这一点最让人崩溃。坚持下去,直到有一天,你会发现工作中出现新词汇的机会开始变少了,大部分都是你学习过得东西。恭喜你,你已经成功走过了最艰难的阶段了。
这时候,那些零散的词汇已经在你的脑海里连成了一片,成为你专业知识体系中最基础的部分。在后面的日子里,你要做的就是给自己的这个知识体系添砖加瓦。这和传统的学习方式比较类似,唯一不同的是,这个阶段你的知识量是在成倍的增长。
这个阶段时间越短,你的成长就越块。你成长的是不是快,取决于你当时承受的压力。我当时的压力主要来自以土雷为首老鸟们整日里对我的各种鄙视,这种压力促使我在很短的时间里走完了这个过程。
2. 专业技能
作为程序员,技能往往比知识更为重要。编程这个硬功夫你必须得拿得下来。新人往往比较惧怕写代码,大概在学校没有做过让自己有信心的项目,所以总是没底。不过,我还是建议新人不要放过任何一次练手的机会,要有“你敢给我做我就敢接”的心态。
其实,项目负责人在安排工作时都会对你的能力有个基本考量的。即使你真的没什么能力,他把工作交给你的时候也会做好风险管控的,难道真会因为你的经验不足而影响到他的项目吗?当然不会。如果你真的完成不了,在关键时刻他肯定有预案的。放心好了。大多数时候,给你安排一周完成的工作可能你身边的老鸟三四个小时就搞定了,即使你真的掉链子了也不用怕。
另外,新人也不要过分妄自菲薄。程序员的世界里,有一个神奇的东西叫做压力,在它面前很多不可能都成为了可能。也许你接受任务的时候明知自己完全不会,结果在压力面前你最终激发了自己的潜质按时保质保量地完成了任务。到时候估计你自己都不敢相信。这样的第一次不仅会给你留下深刻的印象,还会给你的职业生涯注入最原始的一份自信,这个弥足珍贵。
程序员最怕的是修改Bug的时候后面站着一群指手画脚的人,如果这群人中有领导的话,那将是一种分分钟让你大脑一片空白的压力。然而,经历过得人会发现这种时候往往会写出灵光乍现一般的代码。
3. 与人相处
作为新人,你身边的老同事是你重要的知识和技能来源。不仅如此,他们的工作方式,沟通方式,价值取向,性格特点都会对你产生巨大的影响。和他们相处非常重要。这么多年过去了,我的工作时的状态依然有第一份工作的团队的影子。
很多人都认为程序员大都沉默寡言,只沉浸在自己的世界里,很不善于和人沟通。不了解的人听到这种描述甚至会以为是一群自闭症和情感障碍患者。其实,实事并非如此。我的第一份工作中的同事就是一群无比活泼外向阳光的人。由于年龄差距不大,我很容易就融入进了他们的圈子里。
就拿前面提到的土雷来讲,他其实是一个十足的逗比。工作的时候,他比较严肃,说话严厉甚至刻薄。但只要话题是工作之外的事情,他分分钟就能点燃在场所有的人。有他在的地方永远充满了欢声笑语。他有一套属于自己的与人相处的方式,总是能举重若轻地处理各种棘手的冲突。就拿给别人提意见来说,每次他都能用自己独有的插科打诨的方式非常直接地给对方讲出来,而对方却没有一丝一毫被冒犯的感觉。这也是为什么在我刚进公司时被他无数次地当面鄙视却对他没有一点怨气的原因。从他那里我明白了原来不带恶意的刻薄也是一种友善。
与人相处有很深的学问,如何有效地沟通,如果提出质疑,如何达成共识,如何化解矛盾。程序员的日常工作有两个棘手的关系是必须要学会处理的,一个是和PL的关系,一个是和QA的关系。我们常常开完笑把这两个关系都说成是PK的关系。今天开会和PL PK,明天开会和QA PK。如果你能学会如何游刃有余地处理这两种关系,那你一定前途无量。
4. 建立第一批人脉
程序员的世界里,人脉真的很有限。大部分人所谓的人脉也都是自己的前同事,不过千万不要小看了他们将会给你带来的帮助。在你需要业内资源时,也许他们会给你提供意想不到的渠道,在你经济拮据时,也许他们会分给你一个私活,在你需要找下家时,他们也许能帮你内部推荐,在你准备自主创业时,他们也许会是你合伙人的一部分。
不过我们不能仅仅从功利的角度去评价这些关系。即使这些人并不能给你带来什么实质性的帮助,时常聚在一起聊一聊也能帮你找到在这个世界的存在感。毕竟,整天面对计算机的程序员或多或少会有些寂寞。
如果以上四点你都已经做的很好了,那么恭喜你,你的第一份工作已经及格了。接下来要做的就是努力发掘自己的优势,让自己成为想成为的那个人。加油!
网友评论