晚上和几个软件开发工程师(程序猿)在COSTA喝咖啡,自然而然谈到大到公司,小到一个团队、一个项目的管理,顺手mark一下,也许对新入职场的人有一些借鉴的经验。
- 大公司厉害的不一定是技术
- 项目管理真的很重要
- 厉害的技术不一定能做一个合格的teamleader
- 每一个员工都应该明确自己的责任
对于一个金字塔顶端的公司来说,大家往往关注他的产品、他的技术多牛逼,而往往忽略支撑这些一定是有一个完整的行政制度,完备的人才体系,以及完善的项目管理流程。
这些不是某一个势头正高的创业公司或者市值几百亿的独角兽公司能够拥有的。太过于崇尚自由的文化价值不一定能带来令人愉悦的工作体验,盲目的各抒己见也不会带来大的创新。
反过来说完善的流程制度也不会让人觉得太过于死板,反而会让公司运转的更加流畅。
项目管理真的很重要:
毕业之前从来没好好上过项目管理的课,很多人也觉得项目管理似乎和自己没有多少关系,大多数公司也并没有意识到找一个丰富项目管理经验的PM(project manage)比高T大牛还要重要。
很多从top公司的员工跳槽出来的第一感觉是工作的很别扭,为什么开发会跟产品、技术、运营撕逼,为什么你的需求改了一版又一版,为什么已经修改过的bug又重现了,为什么强调了很多遍的问题还会有人没有关注到,为什么项目总在赶进度,为什么你总在加班?
在思考这些之前,
- 想一下团队有没有好好的做需求的评审,还是产品或者老板一句话你就去改需求。
- 想一下团队有没有做好版本控制,有没有合适的缺陷管理平台,还是出现bug总是私下里和测试沟通,随便拉一个分支,改好一合就算解决了。
- 想一下项目开发是否有相应的开发文档,有没有及时同步项目中的问题,还是从始至终简单的往群里一 扔,或者口头一说。
- 想一下项目开启的时候排期是否合理,有没有好好的规划里程碑,选择好开发模式、迭代周期、人员结构,有没有提前预估到项目中存在的技术风险、人员风险、外部风险,还是为了证明团队实力,自豪的跟老板说了一个上线日期,然后靠加班解决问题。
所以一个teamleader不但要会技术:
往往很多技术大牛做leader是不及格的,作为一个leader你是不是想过总是
- 我认为这个功能很简单,组员应该很快完成。
- 我认为这个架构设计的很完美,组员就应该围绕我来做。
- 我不能驳了老板、产品运营的面子,这个需求改了就改了。我认为只要我严格要求(温柔相待)就会让团队运转很好。
然而这只是基于“我”,一个leader应该多从团队考虑,想一下如何针对团队的层次进行分工,如何和团队的老人沟通,以什么样的标准要求正式员工,怎么正确的培祥新人。
更应该学会拒绝,你的妥协和面子往往对团队是有害的,有些修改就应该走流程重新评审,有些增加就应该放到后期或者重新排期。
管理者要明确自己的任务,对于每一个员工来说也要清楚自己责任:
- 不要推脱自己的过错去想怎么弥补,
- 不要认为别人帮你是应该的去想自己怎么独立,
- 不要放低自己的标准去想怎么更优化,
- 不要总去质疑leader的想法去换位想想。
领导说的不一定是对的,自己的想法可能更好。
如果工作的一直不舒服,可能真的是这个公司不适合你......