今年可以说是我职业生涯中很重要的一年,是一个转折点。因为在7月底的时候,我经历了人生的第一次跳槽,并且从一名程序员“转行”为了一名项目经理,当然仍然是IT行业的项目经理。
说起我的上一家公司,我对它真的是有着非常深厚的感情。从2010年刚毕业,就进入了这家公司。这是我的第一份工作,一直干了6年多直到2016年的7月底。
刚进去的时候工资并不高,但是每天都热血沸腾,激情澎湃的。原本是按C++程序员被招进去的,没想到后来变成了做C#。好在有C++的底子,C#也就不难学,一边开发着一边学,真的是现学现卖了。当时适逢公司要做一个新项目,规模比较大,大家每天晚上都要9点10点才走,每个周六还要再加一天班,不过从来没觉得累,也不觉得苦,就跟打了鸡血一样。入职后不到半年,研发部的经理就让我去带团队了(那时候叫小组长)。当时的小组里只有两个成员,还都是有两年以上工作经验的,技术也比我强。因此我作为一个应届毕业生,他们的后辈,真的是硬着头皮接的这个任务,心里十分忐忑。不过我很明白这是一个好机会,虽然没把握能带好这个团队,但也先带了试试再说,没什么可怕的。领导都是很有看人的眼光的,他觉得你行,那你就一定能行。也不用担心会把项目做砸,因为一定会有人在关注你的进展,不可能为了培养和考验一个新人就冒着把项目做砸的风险。如果你实在胜任不了,兜不住了,绝对会有人出手拉你一把的。因此新入职的同学们,真的要胆大心细,不要因为缺乏自信就推掉好机会。年底的年会上,我还被评为十大优秀员工,总之是顺风顺水。直到现在,我也十分感激当时的研发部经理,让我积累了很多带项目的经验。
这家公司当时没有什么产品部、产品经理,于是我们做项目的时候,从与客户沟通搜集需求、做需求分析、制定项目计划、UI设计、数据库设计、写代码实现功能,都是一条龙作业。好在还有美工、测试、技术支持。不过当时还是会有很多客户或代理商遇到问题之后直接就打电话到我这里来。后来公司规模越来越大,直到2015年才开始由产品经理负责需求,其它的工作还是由各个项目组处理。我们几个小组长也有了个比较正式的头衔——“研发经理”,在负责项目的规划、设计、监控的同时,也要负责核心代码的编写。
为了能更好地完成任务,我在2013年的时候自费去学习了项目管理相关的一系列理论知识,并且考了一个PMP证书回来。这可以说为我后来的转型打下了一个很好的基础。
当时公司里并没有人把项目管理当做一门需要去学的技术,也没人听说过什么PMP,大家都是沿袭之前的老套路来开展各项工作。这样做其实并没有什么问题,项目照样可以按时按质地完成。但我心里总是隐约觉得不妥,觉得好像不应该是这样的做法。而且在做项目的过程中遇到的各种问题,即使解决了也说不出个什么原由来,好像一切都有规律可循但又摸不清它在哪里,是什么样子。
我一直觉得写代码是我的兴趣所在,可是我在这家公司写了好几年代码,技术上也没觉得有多大突破,主要还是本公司用得到的那点儿东西,需要用到什么了再去学什么。偏偏我们公司也没用到什么高深的技术,基本上刚毕业的新人培训一个月就能胜任。只有这个管理项目的方法,我是主动想要去了解一下的,于是在网上搜了一通有关项目管理的培训,这才发现原来项目管理也是有资质认证的,这才知道还有PMP,才知道我做的工作,除了要亲自写代码,其实和项目经理是非常接近的。
但是即使考到了PMP,也没有看出对当前的工作有多大助益,毕竟工作方式工作流程不是我能定的。
拿一个很简单的例子:文档的管理来说。之前的老项目,基本就没留下什么文档,我们刚进去的时候都是靠之前的老员工口口相传。后来做的新项目,虽然都有文档,但是很多项目组都是在糊弄而已,那些文档并起不到什么约束和指导的作用,项目有了变更之后也没人去维护,基本没多大的留存价值。再有问题了,依然是靠口口相传,大家都没有维护文档、查看文档的习惯。我可以说是几个研发经理里面对文档最重视的一个了,写得非常详细,也都会定期维护。这一点同样也为我现在的转型奠定了基础,可以说我现在每天的主要工作就是写各种文档、维护各种文档、开会、发邮件。
其实,我一直以为我能在这家公司一直待下去呢。因为它的福利待遇不错,虽然工资不高但是也够用,每年也给涨工资,还开始准备上市了给老员工们留了原始股。而且它的企业文化非常好,同事之间的关系也非常融洽,凝聚力很好。之前已经离职的员工,我们也会经常聚餐K歌,甚至连已经离职10年了的前辈,都能联系上一起聚。更重要的是,它见证了我的恋爱、结婚、生子、买房等一系列人生大事。就连我老公(是的我是女的)也是在这家公司认识的,他比我晚1年入职,座位就在我旁边。结婚之后,他就离开了这家公司。程序员的圈子很小,平时的私人时间也比较少,可以说,我从来到北京以后,95%的人脉都在这家公司里。
可惜就是这样一家我已经视为自己家的公司,却仍然不得不离开了。我们的公司正在转型,重心已经开始偏移,部门经理跳槽了,就连公司老总(创始人)都已经把所有事务交给了之前的副总,跑去经营另一家公司,只做这家公司幕后的“股东”了。我们做的那些东西,虽然公司还需要,但是已经基本比较稳定,也没太多新的需求,部门人数也已经削减了一半。
从今年开始,我们这个部门要被其它部门“吞并”的感觉越来越强烈,同事们都在私下里议论纷纷。先是一开始带过我的那个“师傅”,也是我们这个部门的“镇部之宝”,忽然就被调到别的部门去了。整个部门就只剩下两个研发经理,各带着3个程序员,在原来的那套东西上修修补补,解决一下客户问题和新的小需求。然后之前要做成什么样都是我们自己说了算,现在都要听产品部的了,我们变成了纯粹的程序员。直到这个时候,我才惊觉,原来我是不甘于只敲代码的,我更喜欢去做一个项目的管理者。也正是这件事,才让我正视了自己,这时我就开始有点想要离开的想法了,但是仍然是情感上占了上风,舍不得。
让我更加坚定这个想法的,是因为公司现在的老总从鼎鼎大名的M公司挖来的一位产品大牛,做了O2O部门的老大。我是不清楚这位的能力究竟有多牛,不过他的臭脾气可真是一顶一的。我在这个公司如此祥和的环境里待久了,冷不丁的遇到这么一位,真是有种长见识了的感觉,也第一次体会到了作为一个底层的技术人员的不易。第一次争吵的起因是这样的,我去找这位大神商议,大意是:“我们这个功能马上就要上线了,这个部分可能不需要这样实现,否则会比较复杂也需要更长的时间。这一版本是否可以先这样实现...”云云。结果没想到这位我们才第一次见面的同事,上来就冲我发火了:“这不就是两行代码的事儿嘛!”“这不就是....,正常人都是这么实现的!”“程序员就是吃这碗饭的!”我的火气也一下就上来了:“我是负责这个功能的,我可以告诉你,这并不是就两行代码的事儿!”既不是一个部门的,也不是我领导,有问题就不能好好说话吗?你可以嫌弃我技术不好,但是你不能带着X眼看人低的情绪,直接贬低我们程序员这个行业。我程序员是吃这碗饭的,但我并不是只能吃你这碗饭。