首先你要明确入行的目的,你是深深的热爱着编程还是只是因为程序员是个高薪的职业呢?如果是后者,那么不好意思,你需要慎重的选择。
在中国,程序员并不是一个很好地称呼。程序员似乎象征着邋遢,宅,甚至是IT民工。记得有一期非诚勿扰上面,上去一个男嘉宾,开场说他是搞JAVA的,台上女嘉宾的灯全灭了。是不是很可笑,很可悲?而且只有你真正的进入这个行业你才清楚,这个看上去还不错的薪水,你却付出了超过薪水价值的代价。创业型与游戏型公司里面的项目小组一般是5~10个人,因为他们需要快速的开发以应对多变的市场波动,所以程序猿的每天工作时长都在12小时以上,身体和精神收到摧残不说。作为程序猿的你很少有时间去陪陪自己的家人、自己的女友。
如果作为前者,你是因为深深的热爱着编程,那么恭喜你,你有着一颗hacker的心,属于那些愿意做一些有挑战性的事情的人。就如WhyTheLuckyStiff所说:“当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。”
当你开始编程,开始创造的时候,开始享受的时候,一切外界的评论,都挡不住你对技术对创造的热爱。但是,我不得已要泼你一盆冷水,来提醒你一下。你是否准备好了忍受寂寞,也许你面对的是十年寒窗无人问,若你没有熬住,也许就等不到一朝成名天下知的时刻。技术是永无止境的,好的程序员必须保持对于新的技术敏感度,保持学习的热情。Stay hungry ,Stay Foolish。
明确了目的,那么你应该规划下自己的职业生涯。
宏观的讲,个人认为我们需要经历三个阶段:深度、广度、高度。
高度:这个层面往往体现在规划能力,能够看到未来业务的发展,设计出相对合理的架构满足未来业务的快速扩展。这个阶段应该是少参与到具体的编码中去,应该是一个公司的CTO或者首席架构师角色。这个方面的能力比较虚,相对来说也是最难炼成的。
广度:就是知识领域的广度。反映在IT技能上,就是所掌握的领域,比如.net,java,数据库,web,前端等等。不一定每个领域都能够精通,但是至少都能了解,能够在面对问题的时候能够拿出一个切实可行的解决方案。对于跨领域方面,可能是你的沟通能力,管理能力等。
深度:在某一领域有很深入的了解,旺旺是一门具体的技术。比如js代码写的很精通,数据库知识非常丰富,精通linux操作系统底层。
深度->广度->高度,越往上,要求的抽象能力越高,越往下,要求细节知识越具体。一个人往往具备了以上三样,就是一个成功的大牛。
微观的讲,.已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。对大多数人来说,首先是要专,在技术上做的比较深入,然后进行工作调整,把自己转变为某个领域的专家,第三步,根据自己的情况,来选择技术还是管理。具体可以参考程序员的四个象限和两条主线。(http://www.apkbus.com/android-6221-1.html)
有了自己的规划,最重要的是执行。我认为很多漂亮的计划都会因为执行力不够而夭折。一个一流的计划经过二流的执行,甚至不如三流。而一个三流的计划,经过一流的执行,也许就能达到二流。所以从计划本身来说,执行往往更重要些。
如果你要走技术路线,那么就深入某一领域,培养程序员以下几个基本素质。
1.团队精神和协作能力;
2.良好的文档习惯;
3.规范化、标准化的代码编写习惯;
4.需求理解能力;
5.复用性、模块化的思维能力;
6.测试习惯;
7.学习和总结能力。
3.规范化、标准化的代码编写习惯;
4.需求理解能力;
5.复用性、模块化的思维能力;
6.测试习惯;
7.学习和总结能力。
如果你要走管理路线,那么你首先需要向一个PM的目标前进,然后成为总监乃至CTO。我这里讲讲要成为一个PM需要哪些能力。
先看看下面的招聘启事吧,这只不过是一家几十人公司的一个招聘广告:
---------------------------------------
招聘职位1:软件项目经理
职位描述:
1、带领实施团队完成某软件项目;
2、制定项目计划和实施部署;项目进度、质量及范围管理与控制。
3、负责软件实施过程中与各方的沟通、关系协调与维护;以及实施人员的安排与管理
4、负责了解客户对软件的业务需求及意见,及时反馈、跟踪开发人员解决问题。
5、及时、有效协调资料解决项目实施过程中出现的疑难问题;
职位要求:
1、具备优秀的团队协作精神,良好的沟通能力,有较强的口头/书面表达能力;
2、熟悉企业信息化业务,百万企业信息化项目经验;
3、精通数据库系统和项目管理工具,;
4、熟悉XYZ行业相关业务知识;有财务背景知识,快速理解和学习能力;
5、良好的客户服务意识,负责、敬业、细心。
6、有软件大项目管理经验或N年以上项目管理经历优先;
---------------------------------------
那么,让我们看一下这个招聘启事对软件项目经理能力的描述吧:
团队协作精神 ——高
沟通能力 ——高
口头表达能力 ——高
书面表达能力 ——高
IT技术 ——高
XYZ行业知识 ——高
理解和学习能力 ——高
服务意识 ——高
项目经验 ——高
团队协作精神 ——高
沟通能力 ——高
口头表达能力 ——高
书面表达能力 ——高
IT技术 ——高
XYZ行业知识 ——高
理解和学习能力 ——高
服务意识 ——高
项目经验 ——高
---------------------------------------
我们概括一下,是不是差不多就5类:沟通(口头表达能力,书面表达能力,沟通能力,服务意识)、管理(团队协作精神)、技术(IT技术)、成本控制、行业(XYZ行业知识)。理解和学习能力是很综合的,无论是在学习过程还是生活中都能体现。最后一点,项目经验,这东西是学不来的,只有踏踏实实跟着团队做几个项目才能积累起来的。
如果你想成为一个项目经理,那么首先就要把自己定位成一个项目经理,拿项目经理的水准来严格要求自己。比如沟通,平时应该多锻炼和他的的沟通能力,不一定非要在项目中和客户沟通。还有如果没有技术,那么谁都不会信服你的。
从技术和非技术的角度来向项目经理看齐。
技术
1.有着一定的技术广度。首先你需要对现在有的技术有一定的了解。我认为,好的PM不一定是团队中技术最强的,但是一定能知道这些技术能拿来干什么。如果你不懂JAVA,你一定不知道你手下有没有偷懒,明明一个礼拜就可以完成的事情,他两个礼拜都没有搞定,导致你的计划全乱掉了。
其次你需要对新兴的技术有所了解 。IT行业每时每刻都会涌现出很多新兴的技术,谁也不知道某一项技术的出现会不会能改变IT发展的趋势。就如java语言刚出现的时候,谁也不会知道它会那么流行。
2.有着一定的技术深度。深入了解一门技术。这门技术是你的敲门砖,是你打开PM大门必须的钥匙。在网上那些当上项目经理,在IT行业走的很远的人都会对我们说,作为一个PM,技术不是最重要的,重要的是那些非技术的东西。可作为一个科班出生的程序员,我真的无法透过那层雾来看他们描述的PM的世界。直到后来,我和一个当过项目经理的老师谈话才明白。技术,其实是个敲门砖,当敲开这扇们之前,他还是挺重要的。可是当敲开后,那些非技术的东西才是PM的精髓。
3.了解技术发展的历史。个人认为技术发展有一种趋势,当我们能通过过去和现在之间的联系,推算未来技术发展的潮流。
非技术
作为一个PM,你的最终目的是:替老板赚钱。别说我庸俗,也许以后你成为首席技术总监以后你有资格谈技术本身,不然老板是你的衣食父母,你必须替他想。围绕着这个目的我们通过技术知道,达到技术设计最优化;通过管理团队,达到团队产出最大化;通过成本控制,达到经济效益最大化;通过和用户沟通交流,达到用户满意最大化。这一切一切概括的说就是你领导一个团队,使用一些掌握的技术,作出一个项目,使得客户满意,然后老板开心。老板一开心,也许你就升职加薪,那么你就开心了。
所以,PM要学习的非技术的东西很多,大致分为以下几个方面:
1.产品市场
2.产品设计
3.团队管理
其中里面又有很多相关的内容,比如拥有好的人脉也是很重要的。比如学习如何培养自己的创新思维等等。你需要学习营销和推广,需要了解消费心理学、行为心理学等等。
我无法告诉你具体该怎么学习,因为我自己也没有达到那个高度。以上这些内容也是借鉴一些行业的前辈的指导,以及自己的一些独特体会,所以难免见解有些狭隘。但是如果文中的某一点能给你一些启发,那么也不枉我写了那么多了。
参考文献:1.程序员的四个象限和两条主线(http://www.apkbus.com/android-6221-1.html)
2.写给新手程序员的一封信(http://www.williamlong.info/archives/2700.html)
3.程序员应具备的素质(http://www.zhihu.com/question/20376060)
4.知乎上的一些回答(http://www.zhihu.com/question/20376060)
推荐阅读:
- 《产品经理实战手册》,王欣、夏济 编著,中国经济出版社,2006
- 《产品经理的第一本书》,(美)哥乔斯 著,戴维依 译,中国财经出版社,2004
- 《产品经理的第二本书》,(美)哥乔斯 著,戴维依 译,中国财经出版社,2004
- 《水平营销》,(美)科特勒 等著,陈燕茹 译,中信出版社,2005
- 《市场营销》,(美)科特勒 著,俞利军 译,华夏出版社,2003
- 《用户体验的要素:以用户为中心的WEB的设计》,(美)加瑞特(GARRETT,J.J) 著,范晓燕 译,机械工业出版社,2008
- 《赢在用户:WEB 人物角色创建和应用实践指南》,(美)穆德,亚尔 著,范晓燕 译,机械工业出版社,2007
- 《一目了然:WEB软件显性设计之路》,(美)霍克曼(HOEKAMAN,R.) 著,何潇 译,机械工业出版社,2008
- ......
豆瓣豆列:
- 互联网产品经理推荐书单 互联网产品经理推荐书单
- 互联网产品经理 全方位入门 互联网产品经理 全方位入门(共46本)
- 适合产品经理阅读书籍 适合产品经理阅读书籍
- 产品经理入门读书 产品经理入门读书