返回目录:游戏资讯
1. 程序员最多的两条进阶路线是一条是技术路线,即由程序员、高级程序员、系统分析师,到架百构设计师。在这条路线上,立足于从业务模型到计算机软件模型的度转换,成为高端的软件技术工作者。
2. 另一条是管理路线,即由程序员,经开发小组负责人、项目经理,再到企业中高层管理者。程序员加强自己管理意识的培养,问多站在组织的角度来分析问题和解决问题,成为优秀的管理者,甚至答职业经理人。
3. 其实在软件企业中,随着产品管理的兴起,可以说,走向产品,是程序员在技术与管理之外内的第三条职业通道。越来越多的程序员开始转型做产品工作,特别是对那些具有创业意识的程序员而言,走向产品是一条必经之路。鹅厂的robin和360的周鸿祎,容他们都是由程序员做起,然后开创自已的产品和事业。
现在软件和互联网大概有哪些方向?程序员的职业方向又有那些?
首先是需求从哪里来?
客户的项目
如果做的是客户的项目,需求当然是从客户那里来的。客户绝大多数是软件开发的小白,但我也见过客户是优秀的软件人才,他们很难清楚地描述自己真正的业务要求,这时候就需要有个人隆重出场了:业务分析师。对于大公司,业务分析师是专职的,对于小公司,项目经理或者开发骨干也就硬着头皮上了。业务分析师需要把需求理理清楚,交给后面的架构人员做设计。
业务分析师如果在某个行业干久了,就会变成业务专家,例如你把国内各大银行的核心系统项目都做了个遍,那你对银行业务的熟悉程度甚至可能超过银行的特定人员,这时候你就超级值钱了,不仅仅能分析业务,更能够帮助银行优化业务,你说牛不牛?
问:业务分析师需要懂技术吗?
答:最好是懂一点,你分析出来的东西是要程序员们实现的,如果不考虑现有的技术,一味地迎合用户,肯定会被程序员们骂死。
如果你是由程序员成长起来的业务专家,技术精湛,那就坐着数钱玩吧。
公司的产品
如果你做的是产品,例如微信、QQ、淘宝、魔兽世界、征途、大话西游,那需求其实是自己公司的人来定义的。
定义这个需求的现在有个时髦的职业:产品经理。像张小龙就是微信的超级产品经理,史玉柱就是征途的骨灰级产品经理。
产品经理主要根据用户的心理和体验来设计产品,让大家用的爽,好的产品经理现在非常吃香,也属于紧缺人才。
问:产品经理需要懂技术吗?
答:需要,最好是从程序员成长起来的,知道一个产品设计实现的难度,不然只顾自己爽,也会被程序员骂死。
设计和开发
架构师
听起来很高大上的一个职位,但是需要强悍的技术实力和深厚的技术积累。架构师的成长需要历练,需要技术的广度和适当的深度。设计优雅、灵活、可扩展的架构是架构师的主要工作。
不能只追求最新、最热的技术,还需要考虑现有团队的能力,技术的成熟度。
人员需求:★
难度指数:★★★★★
web 后端程序员
后端程序员主要实现业务逻辑,提供接口给前端使用。
Java 当然是用的最多的,但是也有别的相对小众的像 Python、ruby on rails 等,还有就是 PHP,简单粗暴,中小网站常用,无论哪一个,学习起来都不是很难。
这一块的人员需求是比较大的。
人员需求:★★★★★
难度指数:★★★
web 前端程序员
主要是 Java、CSS、JQuery 等,最近几年大家重视浏览器端用户体验,浏览器端做得越来越炫,所以也很火。
人员需求:★★★★★
难度指数:★★★
手机端程序员
主要是 Android、iOS,由于移动互联网的发展,现在很火爆,需求量很大,相对而言 iOS 的门槛高一些,程序员也少一点,不过工资高一点。
人员需求:★★★★
难度指数:★★★★
系统编程程序员
有些需求很简单,有些需求很复杂,需要支持海量的用户,海量的并发,像淘宝的“双十一”, 像微信的春节抢红包。
需要做云计算,虚拟化,分布式处理,支持系统水平扩展。对于海量的数据,还需要做大数据分析,从中提取有价值的信息,例如 Hadoop。由于需要对操作系统,数据库,服务器端系统做定制开发,甚至自己做一套,小公司一般没有这样的技术能力,主要是 BAT 这样的公司在做。人员需求不是很大,对程序员来讲,需要在一个领域钻研得非常深,技术稳定度比较好。
人员需求:★★
难度指数:★★★★★
安全
互联网时代,你的信息一不留神就有可能被偷走,安全变得越来越重要。所以单单实现了功能,满足了性能还不够,很多公司,尤其是 BAT 对安全非常重视。当然这个方向也需要对技术钻研得很深才可以。
人员需求:★★
难度指数:★★★★★
测试
这个对技术要求不太高,但也需要测试相关的知识,能够设计测试用例,准备测试数据,执行测试。
现在敏捷开发流行,对测试也要求懂开发知识,至少能够开发一些自动化的脚本。很多女生后来转到了测试岗位,我想主要是因为女生比较细心。我在 IBM 见过一个非常优秀的测试人员:她不仅仅能出色完成上面指e68a84e79fa5e98193339派的工作,还可以参与设计开发的讨论,经常能从测试角度提出开发人员都没有想到的问题,极大地帮助提升了软件的质量。
数据库管理员
几乎所有项目都需要数据库的支持,对于大型、超大型项目,会有一个叫做 DBA 的职位。他对数据库知识极为精通,平时对数据库进行管理,开发时能帮助开发团队设计数据库,并且找出性能瓶颈,进行性能调优。
美工 / 文档
美工
主要是对界面进行美化,一般是由美工先出界面原型,大家讨论,修改,确定后美工会生成各种界面元素,像图标、按钮等。
现在对美工也有一定的技术要求,不仅仅是画界面,还要把 html 模板做出来,所以美工需要懂得 HTML、CSS,甚至部分 Java。程序员拿到 html 模板后,往上添加业务代码即可。
文档编写人员
小项目一般是团队中有人兼职做,大的项目、产品会有人专职写文档, 我 2003 年的时候参与过上海证券交易所的项目,看到有个专职的文档编写人员写的 Word,非常专业、精美,完全是可以直接出版的水准。我把它 copy 下来,自己都想山寨一个,但照葫芦画瓢都做不出来。
项目管理
项目已经开始了,业务分析师、架构师、开发、测试等一群人如饿狼扑食,势必要把项目撕个粉碎。可是这么多人怎么协作? 如何管理?进度能不能按要求完成?这就需要项目经理出马了。
项目经理,说白了就是带着大家做项目,主要和人打交道,需要协调各个方面的关系,保证项目的进展顺利。
问:项目经理需要懂技术吗?
答:当然需要,最好是开发出身,要不然你就听不懂那帮程序员在说什么,只能在表面漂浮着,无法深入项目,别人也就不服你,团队肯定是带不好的。
运营
如果你是在开发自己的产品,开发完成以后,马上就会遇到一个问题,怎么推广?
在互联网时代,世界是公平的,竞争异常激烈,一个好的软件、App 或者网站,如果缺乏运营,你的技术再好也不行。
运营其实就是想方设法让你的产品被人知道,被人用起来,这里边水很深,例如怎么写个软文?怎么在社交网络、微信、微博进行营销?怎么统计,分析,精准地定位?
这方面,2014 年以前的小米绝对是典范。雷军的 7 字诀:专注、极致、口碑、快。 黎万强的《参与感》 都是经典。
好的互联网运营人才奇缺,当然非常的吃香。对编程不感兴趣的同学,不妨看看这个方向。
说了这么多职业方向,你会发现,绝大多数都要求懂一定的技术,所以我其实想说的是:刚参加工作,不妨先从程序员开始,慢慢地再寻找自己感兴趣的方向。
程序员转型可以做的职业很多,比较有前途的有创业、研发管理、产品经理、培训师、销售、运维等,具体原因如下:
一、创业。最近几年,IT行业中因为创业实现逆袭、直接当上CEO、赢取白富美、走上人生巅峰的例子频频出现。Facebook以190亿美元的价格收购了WhatsApp,而WhatsApp创立也就不到五年时间。同时,Facebook创始人扎克伯格同时也是一位创业者。开发者在IT领域创业有自身的优势,自己拥有技术,能够保证产品品质。
二、研发管理。这也是我们比较常见的软件开发者职业生涯轨迹发展道路,先在研发一线岗位实战锤炼,获得更多经验之后,逐渐走向管理岗位:工程师、项目经理、研发总监、技术副总、CTO……转向研发管理岗位的开发者,需要具有一定的领导管理能力,当然,能够有领袖气质自然能够更好的e799bee5baa6e79fa5e98193e59b9ee7ad94362做好这些工作。
三、产品经理。国内目前最牛逼的产品经理非微信之父张小龙莫属,如果你拥有绝佳的洞察力,能够了解人性需求,相信自己可以创造出人人都愿意的产品,你也可以像张小龙一样,升职加薪、当上总经理、出任CEO、迎娶白富美、走上人生巅峰。
四、培训讲师。“三人行,必有我师”,你希望成为那个“师”吗?口若悬河、侃侃而谈,你的学生仰望着你,你看着学生一步步走向成功、升职加薪、当上总经理、出任CEO、迎娶白富美、走上人生巅峰也未尝不是人生一大乐事。
五、销售。如果你在做项目的过程中与甲方建立起了深厚的“友谊”,当然你也可以转行去做销售。而且开发出身的销售,起码比较务实,也比较容易和客户建立起信任。
六、运维。即使程序员的代码写的很烂,但只要对产品熟悉,转行做运维还是可行的。毕竟运维基本上不用太大的技术含量。
卖猪肉;
卖水果;
卖烧饼;
开网店;
搞汽车装修装饰;
开咖啡店;
开电脑耗材店;
开打字复印店;
开个小饭馆;
开个家庭旅馆;