个人程序员到项目经理之路

这篇文章其实很早就想写了,但说实话一直不写的缘由是有点心虚,毕竟我也才毕业不到5年时间,不是什么行业大牛,也不是知名大V,惧怕本身写很差给读者带来误导。但又转念想一想,谁不是这样过来的呢,大部分人刚毕业都不可能立马找到满意的工做,大部分人对本身的职业规划也是充满迷茫,都是慢慢积累,一路摸着石头过河。今天我就大胆写出来,哪怕对你有一点点启发,能帮你少走一点点弯路,我就以为值了。java

我14年毕业于一个普通的本科院校,计算机与科学技术专业,算是所谓的科班出身吧。从大学毕业顺利拿到毕业证和学位证来说,我算是合格的,但从毕业就业所需的专业技能来说,我是学渣。这里我并不想过度强调中国大学教育与社会所需工做技能的脱节。现在的互联网时代,想要学习任何的技术知识大多都能找到,关键是你怎么利用学习资源了,因此不要抱怨本身的学校和大学教育环境。程序员

如今想一想,个人大学日子过的太爽了,篮球、dota、妹子、一帮好兄弟、热闹的班集体,肆无忌惮的挥霍着本身的青春,大学四年能够说是目前为止我人生里最美好的一段回忆了吧。但时间是公平的,有的人肆意挥洒青春,毕业就面临着失业,而有的人早早就为考研或是工做准备着,他们大多也都能如愿。我是前者,但我也不后悔,那段时光短暂而美好,青春无悔。面试

大三末的时候,虽然是专业技能不好,但编程仍是有一点基础的,就硬着头皮试着去找了一份工做,是一家作电商网站的公司。记忆深入的是当时那个公司老板给我开出一个月的工资是2000,须要说明的是当时是2013年,我还没毕业,并且我所在的城市是一座四五线的内地小城市,一个月2000感受真的不少了。跟我一块儿进去的还有几个实习的同窗,私底下我问了都才1000多点。我心里当时那个高兴啊,我想这主要源于我面试时候的表现吧。其实当时的技术水平都很低,我感受主要是那个老板以为我综合能力更强,但愿我将来能带领一个小团队。我大学期间是班长,自认为沟通能力还不错吧,我想这个是主要缘由,在面试的沟经过程中,我表现出的自信,叫吹牛逼也行,我以为征服了那个老板,固然也多是由于我太帅(噢,那个老板好像是女的)。编程

后来临近毕业,家里人让考公务员。我也确实努力考了一把,差点进面试,说实话我如今想一想幸好没考上,若是当时真当了公务员,我可能会后悔,虽然说工做稳定,但必定见识不了外面世界的精彩。公务员考试失败后,我就想着继续找计算机相关工做了,当时还真没想去大城市,以为去像北京这样的大城市,可能就是去找死,水平这么低,找不到工做的,如今回过头想一想那时候真傻逼。一个堂哥给个人建议是,你要下定决心从事计算机行业,就别小城市发展,要去就去IT汇集地北上广,当时他给我举了个形象的例子,至今记忆犹新,在小城市里作IT就像在小河湖泊里划船,只有到大城市的大江大海里,才能历经风雨,扬帆远航。如今回想过往几年,确是这样。微信

从认为本身来北京是找不到工做、是找死,到我下定决心来北京,经历了不少,包括家里人的反对、本身痛苦的思想斗争。很庆幸我打败了本身,很感激当时本身下定决心的勇气。年轻的时候不去冒险,不去尝试,要等到本身老了吗?架构

我大学的时候学的是Java,刚来北京的时候,仅有一点基础知识,编码能力颇有限,投了一部分简历,收到面试也不多。相比之下,当时有不少同窗参加了培训,他们也确实比我更快找到了工做。因为以前的实习经历,我对本身仍是有信心的,我以为我不培训也能找到工做,我更愿意在工做中去学习,而不是再回到上课的日子里,事实证实我能够。虽然面试机会很少,但我抓住了每次面试机会,每次面试都是提高本身的机会。基本都是白天面试,晚上回来学习,我发现这样效率很高。针对职位要求去准备相关知识,我记得找工做面试那一周我晚上都是熬夜到两三点才睡觉,终于功夫不负有心人,收到了两家公司的offer,一个是作测试的,一个是作java开发。考虑到之后的发展方向,我选了java开发。框架

在公司的前半年基本都是白天在公司跟着别人作项目,晚上回去本身再学习。说实话很辛苦,当时水平过低,你们也都很忙,遇到问题,不到万不得已也不会轻易问别人,基本都是本身查资料,本身摸索。这里说下,有时候有些技术难题若是本身一段时间还没解决,就厚点脸皮赶忙问同事,没啥很差意思的,技不如人不可怕,可怕的是你不敢面对,别人的指点能让你少走不少弯路。通过半年的努力,我渐渐从一个Java小白开始跟着作项目,本身也学着搭建框架了。工做虽辛苦,常常加班,但有几个一块儿进公司的同龄人,咱们一块儿加班一块儿玩,渐渐成为了朋友,工资不高但还算过的开心。这样的日子过了快2年,渐渐地,我发现了问题,一是在这个公司里我能学到的东西已经很少了,技术氛围不够,提高空间有限;二是领导一直口头上说要给咱们加薪,但一直日后拖,每次加班一段时间后,就带领你们下馆子,大吃一顿,喝一场酒,讲一场兄弟情。只怪当时咱们太年轻,居然每次都被领导的兄弟情感动,巴不得为他上刀山下火海。后来了解到,2个爱喝酒的,跟领导玩的好的老员工,私下领导都给了“好处”。而他们就是平时指挥咱们干活的人,其实咱们干的活比他们多的多。认清了这一点,咱们几我的相继跳槽换了公司,临走时领导还极力挽留,说如今行情很差,很差找工做。谁能再信你的鬼话,尼玛不出来不知道,咱们的薪资基本都翻了2-3倍。正在看这篇文章的童鞋,若是你的领导是这种总拿兄弟情洗脑的人,如今是市场经济,听哥一句话,找个机会赶忙撤吧。学习

到下一家公司,开始仍是作Java开发,这个时候水平离大牛还很远,但基本也能在项目中担任重要角色,甚至在有些项目中挑大梁了。但渐渐的我又发现问题了,此次不是公司的问题,是我本身的问题。这时候作研发快3年了,在思考个人将来发展方向时,我迷茫了。往什么方向发展呢?那段时间我看了不少关于职业规划的书,不少书中基本都指向了2条路,一条是管理方向,一条是技术大牛、架构师方向。我对比了本身,问了本身几个问题,我喜欢写代码吗?我能在技术的道路上走的更深吗?测试

说实话当初考大学选专业的时候,想必大多数人同样,都不知道本身喜欢什么。当时选专业的时候,我就以为计算机象征着科技、将来,就选了计算机专业。其实也不知道本身喜欢不喜欢这专业,未来会不会喜欢写代码。大学期间学渣不说了,参加工做写了几年代码后,我发现有时候我是喜欢写代码的,特别是在我用本身的思路实现一个牛逼功能的时候,那时候我甚至以为本身能改变世界。但我发现这种得到心里知足感、自豪感的时候并很少,更多的时候多是出于完成任务。同时我发现,周围不少人是这种状况,但也有少部分人,他们不只喜欢写代码,并且擅长写代码。好比,一样的功能开发,擅长的人可能半天完成,而我也能完成,但须要1天甚至更长的时间。也许有人会说,这说明你不努力,你没有及时掌握牛逼的技术知识。咱不要抬杠,即使你努力,在作同一件事上,你必须认可,有些人是更有天赋的的,这叫擅长,而你最多叫喜欢。我特别喜欢打篮球,有时候甚至幻想能去打NBA,看NBA的都知道科比牛逼,除了我科天天看洛杉矶凌晨4点钟的太阳,你觉得人家没有天赋吗,努力加天赋,人家这叫擅长,我就算全天24小时再努力打篮球,最多叫喜欢。网站

认清了喜欢和擅长的差距,我逐渐认清了本身,我最多算喜欢写代码,但我并不擅长写代码。成为技术大牛,也许擅长的人须要5年,我可能须要10年甚至更长时间。也许我加倍的努力,理论上有可能实现的,但有时候选择可能比努力更重要。也许别人5年后成了大牛,而我在成为大牛的路上已经熬成了秃瓢大爷。我认清本身后,决定了本身之后不会走技术大牛这条路线。固然这只是说我选择路线时候的考虑,不一样的人状况不一样,并非说管理就好,技术就很差。就算我下定决心之后要走管理路线,但对于技术,在我成为项目经理以前我也仍是不敢有丝毫懈怠,由于这是当时的安身立命之本啊。至于管理路线,当时也是只知其一;不知其二,不知道本身具体管理路线怎么走。可是当时我内心就埋下了一颗种子,等待着它的发芽。

在明确本身之后要走管理路线的状况下,我也没有放弃技术的精进,我会留心观察一些以前我没有关注的事情,好比项目上的一些沟通、客户或产品经理提出的需求、项目范围控制、项目里程碑节点、项目阶段总结等等。这些以前我都认为是琐事,是没用的事。花时间在这些事上不如让我静心写几行代码,不用理会那么多乱七八糟的人和事。我想大多数程序员也是这么想的,但这些看似跟程序员关系不大的事情,后来我发现也是完成一个项目必不可少的,甚至有时候比写代码重要的多。

下面说2种状况,看你遇到过没。我刚写代码的时候,小组长布置了开发任务,我啥也不问,以为理解就直接开始作了,结果快作完了,组长告诉我他想要的并非这样,卧槽,辛苦写了半天的代码要重写。这是很典型的程序员遇到的一个问题,一方面是缺少对功能需求的理解,只想着如何实现这个功能,却不知跟实际的需求相差很远。另外一方面缺少与布置任务人的沟通。还有一种状况,有时候客户需求说的很清晰,咱们理解的很清楚,沟通也不错,貌似咱们作的都对,但却有一种现实让咱们很痛苦,感受功能越作越多,尼玛啥时候能作完啊,需求感受没边没头的,为了工期咱们还要苦逼加班加点。向着目标咱们工做加班加点也能理解,可是像这种项目给你形成了很大的精神压力,彻底没有了当初改变世界的兴奋。上面说的第一种状况,须要咱们程序员写代码的时候多理解需求、多沟通,避险陷入孤岛的思惟陷阱,但后面一种状况,看似与程序员写代码无关,但直接影响到了咱们,这其实就是项目经理要解决的问题。

上面说的第2种状况,在项目管理中叫项目范围蔓延,属于项目范围管理中的问题。那么项目经理通常怎么处理这种问题呢,这就要说到项目范围管理中的定义项目范围,定义范围其实就是明确需求的过程,肯定哪些需求在项目范围内,哪些将排查在项目范围外,从而定义出项目产品、服务或成果的边界。这个定义范围的过程当中会有一个输出叫项目范围说明书,它的前身叫项目工做说明书(SOW)。这个文件通常是须要项目甲方、乙方肯定的,大部分状况是很正式的书面文件,有双方的负责人签字的。在项目进行过程当中须要项目经理根据这个及时把控项目范围,若是出现范围蔓延就要及时找客户相关方负责人沟通了,通常客户看到这个当初你们达成一致的文件就不会再逼逼新增需求了,固然也有例外的,这时候若有必要就问题升级了。现实项目中遇到的问题可不只仅是这一种状况,还有不少,好比项目时间管理、成本管理、质量管理、沟通管理、风险管理等等,每个展开都能写一篇文章,受限于篇幅,这里不一一展开讲了,之后有机会挑你们感兴趣的说说个人理解。

回到个人经历上来,在我不断精进本身技术的同时,我会很留心项目经理作的事,常常在完成本身的工做的前提下,去协助项目经理处理一些工做。有段时间公司项目不少,但项目经理人员有限,项目经理都是一我的同时带几个项目。我参与开发的项目,完成本身的开发任务以外,我基本都会尽最大努力去帮助项目经理作一些事,好比写一些项目文档,业务需求分析,跟客户沟通等等。面对不一样的客户,沟通方式也不同,这块我学到了很多。但也很累,好多时候半夜里还在帮着写文档,不要觉得项目经理就很轻松。

相比开发,更多时候是专一本身的代码,完成功能就行。而项目经理从项目一开始到结束,都在各类操心。项目开始的时候要制定项目计划、定义项目范围,执行过程当中要随时把握项目进度、评估各类风险,项目验收阶段要保证知足客户验收标准,期间还有各类会议、汇报工做等等。有时候我甚至以为倒不如写代码痛快,但我以为凡事都有个过程,不可能一开始就能处理好全部事情。渐渐的,我熟悉了一个项目的完整流程。有一次,我所在的项目中,项目经理家中有事不得不离开,整个项目须要一个能掌控进度的人,项目经理向领导推荐了我,我顶着压力接了,毕竟这是个机会,期间遇到我不能解决的问题,及时领导汇报,磕磕碰碰,最后项目总算是结了项。我平时的努力部门经理也都看在眼里,经过此次机会,我也证实了本身,不只能写代码,我还能带项目。虽然短时间内职位上没有变化,但后续的项目中我开始带项目了,我作的就是项目经理的工做,后来也确实获得了职位晋升。

有一点须要注意的是,项目经理大部分都是从技术作起,从项目作起,慢慢历练出来的,不少时候是被提拔出来的,不是说你刚刚毕业或忽然想转项目经理就能作的了,这须要一个过程,须要你踏踏实实作好本身的工做的前提下,多去关注,多去学习。还有一些人若是对客户需求敏感、对产品设计感兴趣,也能够作产品经理,这也是管理路线的一个选择。

不知不觉,感受写了好长,很感谢你能看到这里,后续我会常常在公众号里分享本身的一些感悟。不管是作技术仍是管理,但愿你们都能找到适合本身的路。最后再说一点,不论你从事任何工做,都要培养下本身的写做能力,多记录,多总结,多分享,每次写做都是一次很棒的自我对话,这真的是将来很重要的一项我的技能。

PS:但愿以上内容对你有帮助,若是你对本身的职业规划有疑惑,想获得一些建议,欢迎你们扫描下面二维码关注个人公众号「kevinsheng」,关注后有机会能够添加到个人我的微信,我会常常分享一些本身的职场经验、感悟、提高认知的内容,期待与你们沟通交流,一块儿进步。

有须要Java资料的能够加我

相关文章
相关标签/搜索