浅谈Android移动开发程序员的职业发展之路

现在几乎每个it公司都在开发移动产品,我最早知道Android还是在09年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注。

   到2010年毕业的时候,Android已经发展到了2.2版本,百度了一下Android,知道了(应用)开发采用的是Java语言。我当时学过C,C++,对java有些了解,从成都辗转来到北京,找到的工作正是开发一款Android应用(生活服务类)。这时我有了一个HTC的安卓最新版手机。

   现在做Android移动开发已经有三年时间,从一个什么都不懂的小程序员到现在的项目经理,其中甘苦自知,对Android开发和对Android程序员的职业发展有一些自己的感悟,在这里愿与大家分享和讨论。

Android移动开发程序员晋级的三个“相对条件”

   第一:兴趣

   这事不展开说了,每个程序员都知道,做码农,如果不能乐在其中,是很痛苦的一件事,因此,入行需谨慎。

   第二:静气

   如果你新入行,菜鸟级,你的工作主要是改bug,不停的接受改bug的任务,总之,都是小事,这时,也许你会焦虑,我的对策是:马上定一个目标学习计划,主动学习,因为大学里的知识体系基本无用,Android不难,三个月会有小成。

   第三:平台

   自行车再快,也没有宝马快。努力固然重要,平台也很关键,因为那里有很多大牛人可以迅速带你成长,如果你现在还没有一个好的平台,你就泡一些大牛出没的论坛,看几本好书,找机会换到宝马平台上去。提示:换平台的时机很重要,您至少得有大众的实力,宝马平台才考虑接收你吧。

具体的职业发展规划和技能特点:

    Android移动开发程序员的职业发展路径在我看来,基本上有两条:技术专精路线和技术转产品路线。

路径:技术为王的职业发展路线

   晋升轨迹:Android初级开发程序员---中级---高级--软件架构师--系统架构师--项目经理--首席技术官

   各阶段对于技能要素的要求:

   入门初级阶段:

   掌握Java基本知识(或任何其他面向对象语言),需要掌握Android SDK软件开发工具包,多看Android相关的文档,IDE (例如Eclipse),这些是必不可少的。顺便学习一下JavaScript脚本基础。掌握这些基本上已经可以算是入门了。

   晋升中级阶段:

   想晋升为到高级Android工程师至系统架构师的职位,很重要的一点就是学习研究源代码,直接查阅Android的源代码(这是看李宁老师的书得到的启发),源代码很容易从网上获得。同时,Android很大程度上是基于Linux内核的,所以学习 Linux的相应API以及各种操作也是十分必要的。还有,常用混合移动开发框架(例如:AppCan)。编译原理,高并发网站架构设计等技能。

   高级发展阶段:

   再往上想发展到项目经理,还需要掌握Android 软件安全分析技术、软件开发常用测试、界面交互式系统设计,同时要补充些项目管理方面的知识,比如:软件项目风险管理常用团队协作开发工具需求分析设计设计模式。

   要做到公司首席技术官的位子,更多的是从架构考虑,包括:数据库系统优化、Windows Server服务器架设管理、网络安全技术与解决方案(Cisco)、海量数据库解决方案、大型服务器负载均衡优化技术等等。这是个需要绝对实力的职位。也是我的终极目标。

第二条路径:由技术向产品方向转型的职业发展路线

   晋升轨迹:Android初级开发程序员---中级---高级--软件架构师--系统架构师--产品经理--产品总监

   为什么转型?转型的条件是什么?

   由技术向产品方向转型是很常见的,每个公司都有,成功的例子很多,一个好的程序员更容易成为一个好的产品经理,比如:周鸿祎,雷军。但在考虑转型的时候,要问一下自己为什么转型,走向产品,拼的就不再是单纯的技术能力了,做产品要懂人情,会管理,要事事练达,这里边的性格因素你要考虑。

   具体的职业发展规划和技能特点:

   初、中期还是要储备技能,我不建议在初级直接转到产品,这等于放弃了你的优势,还是要静下心来把技术学会,老话讲,欲速则不达。

   一旦有转型的规划,就要提前学习产品经理的必会技能,如:用户体验设计、Axure rp快速原型设计工具、公关营销策划技巧、数据挖掘、需求分析设计、品牌传播、用户心理体验、软件需求说明文档写作、数据分析,哈,不少吧。

   我个人认为,最重要的还是需求分析设计,这是产品的灵魂。

   怎么做需求分析,网上资源很多,也有很多不错的书,很成功的产品,都可以参考,多学些消费者行为学、受众心理学、多记录,养成用笔而不是用脑记录的习惯,多用思维导图。

   产品经理的更高职位就是产品总监,这个职位更多的体现在执行和管理能力上,除了绩效量化考核量化管理、执行力、预算管理等,这时,要补充些基本理论知识,比如统计学、运筹学、经济学原理等,能把产品管理提升(忽悠)到理论高度,就可以考虑图谋副总裁的位子了。

   总结:

   先说一组数据:时至2013全球Android手机出货量6亿台,截至2013年底,全球Android手机出货已经有11亿台,从2008年9月Android公布1.0版本开始,到现在的4.4.2(2014年1月),应用已经开发有几百万个。(因为是开源,不好统计),由此可见,Android移动开发的前途一片光明。

   其实还有第三条路线,就是自己创业,但不管哪个方向,对自己的未来提前客观的做出职业发展规划是有必要的,还是那就老话,机会是留给有准备的人的。

更多开发经验分享:http://itlanbao.com/preview.aspx#1,0

时间: 2024-10-08 16:50:39

浅谈Android移动开发程序员的职业发展之路的相关文章

三年高级工程师,六年架构师,十二年美团送外卖,程序员的职业发展之路

今天网上闲逛,看到前段时间虎扑上的一篇热贴,<一年前,我月薪两万被人叫老总,如今35岁在美团送外卖>.讲的是一个新媒体公司从业者人到中年的人生境遇.做为一个十七年的程序员老兵,看得我也是心有感触.记得前段时间看到一篇类似的文章,一个35岁的名牌大学研究生,到BAT去面试,被人家像垃圾一样赶出来.还有一篇在华为工作十年,月薪数万的工程师,被华为劝退之后,连一万月薪的工作都找不到. 为什么这类文章会越来越多?中国互联网开始的时候是00年左右,真正发力的时候也就是05年左右,算下来这波工程师到现在差

程序员的职业发展

程序员的职业发展 本文为转载,以供参考.因为找不到原作者的文章出处,故没有原文链接.知道原文地址的朋友麻烦给出链接.谢谢. 作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问: 如果还没找到自己的兴趣怎么办?我的建议是多尝试,努力做,这是职业生涯的必经之路.当你积累了一定的技术和经验之后,就会面临多种选择.选择哪条路,因 人而异. 如果对某一种或几种技术非常

Java Web 程序员的职业进阶之路

啥也不说了,都在图里了.希望可以给大家的职业规划一些提示,尤其是写了几年程序,却越来越迷茫的同学. Java Web 程序员的职业进阶之路,布布扣,bubuko.com

【绝对干货】Swift是花拳绣腿吗?从Swift谈开发语言与程序员的职业发展

Swift是一种新的编程语言,用于编写 iOS 和 OS X 应用.Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制.Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣.我们的腾讯Bugly移动开发者沙龙第二期就是围绕这一主题展开的,很多同学表示听的不够过瘾,因此小编特意邀请分享者将精华整理成文字,来于大家分享. 首先我们考察一下Swift究竟是一个什么样的变成语言.在2014年苹果的WWDC(世界开发者大会)上,Swift首次亮

程序员的职业发展 (转)

一种职业需要的技能越简单,对精力的依赖程度越高,就越容易被淘汰.计算机行业本来是一个需要高度积累的行业,往往要5年以上的时间才能出道.但很多软件开发人员这5年所积累的有效知识十分有限,不是什么高科技含量的东西,所以很容易被年轻人超过.而且目前的社会环境和舆论导向往往使得这些人过分关注操作层面的东西,比如会不会使用一种编程语言.但是,操作层面的知识是无穷无尽的,过分追逐的结果除了疲惫不堪又无法应对之外,真正能称得上核心竞争力的更高层面的知识和技术往往很欠缺,结果当然只能是等待被淘汰.      

Java程序员的职业发展方向

历届与软件相关专业的大学生,都想找一份开发类的工作.Java会是一个不错的选择,小伙们还在犹豫的是Java程序员到底可以从事哪些职业呢?方向又在哪里?未来的路在何方? 今天小编就带着小伙伴们一起看看Java程序员的4大职业方向: Java互联网方向 Java在互联网方向的应用非常多,当然这也有更多的细分.目前采用Java开发互联网网站及应用的IT企业越来越多,这也增加了Java开发工程师的需求. Android及手机开发 目前,Android开发工程师已成为3G行业最炙手可热的岗位之一,初入行平

浅谈Android系统开发中LOG的使用

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法. 一. 内核开发时LOG的使用.Android内核

安卓开发_浅谈Android动画(四)

Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属性动画类 方法 描述 setDuration(long duration) 设置动画持续时间的方法 setEvaluator(TypeEvaluator value) 设置插值计算的类型 setInterpolator(TimeInterpolator value) 设置时间插值器的类型 addUp

对ios、android开发程序员的14条忠告

————————本文摘自千锋教育(http://www.mobiletrain.org/)对ios\android开发程序员的14条忠告————————— 1.不要害怕在工作中学习. 只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍.如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的.如果你盲目地要求更多的工作,也是不可能提升自己的.放慢脚步,先将一些基础的知识捡起来. 2.在事业上勇往直前,自己为自己负责. 大概只有十分之一的人才能得到导师的特殊照顾,如果你是十分之九中的一员