现在几乎每个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移动开发的前途一片光明。
   其实还有第三条路线,就是自己创业,但不管哪个方向,对自己的未来提前客观的做出职业发展规划是有必要的,还是那就老话,机会是留给有准备的人的。

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

  1. Java程序员的职业发展道路 附:大型网站 -- 架构技能图谱(Java版)

    职业发展道路基本有3条: 第一条路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家 第二条路线(技术转产品):初级Java开发-- ...

  2. 浅谈Android样式开发之布局优化

    引言 今天我们来谈一下Android中布局优化常用的一些手段.官方给出了3种优化方案,分别是</include>.</viewstub>.</merge>标签,下面 ...

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

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用 ...

  4. 浅谈Android系统开发中LOG的使用【转】

    本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以 ...

  5. Android:从程序员到架构师之路Ⅰ

    一般而言,人们大多先学开发(代码)的技术,随后才学(架构)设计的方法.然而,在实际做事时,却是先设计,随后才写出代码来.敏捷过程则让设计与写码迭代循环下去,一直到完成为止.在本课程里,就遵循敏捷的迭代 ...

  6. 程序员的职业方向: 是-->技术?还是-->管理?

    岁之后还能不能再做程序员....... 绝大多数程序员最终的职业目标可能都是CTO,但能做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都 ...

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

    Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属 ...

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

    ————————本文摘自千锋教育(http://www.mobiletrain.org/)对ios\android开发程序员的14条忠告————————— 1.不要害怕在工作中学习. 只要有电脑,就可 ...

  9. 浅谈android代码保护技术_ 加固

    浅谈android代码保护技术_加固 导语 我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽然我们混淆,做到native层,但 ...

随机推荐

  1. webloader上传图片详细教程/使用thinkphp5.0(原创)

    这个插件对后端程序员相当友好,无论是JAVA还是PHP,抑或python,基本只需要一句代码就能完成上传并且预览的效果,先上效果图,让你们眼馋一下 废话不说,直接撸代码,前端代码如下: <htm ...

  2. 本地配置环境打开项目出现404/本地wampserver配置伪静态以及php.ini配置

    本地wamp/phpstudy实现虚拟主机后,出现了500错误看日志看到.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled o ...

  3. Spring:面向切片编程

    在之前我们记录Spring的随笔当中,都是记录的Spring如何对对象进行注入,如何对对象的属性值进行注入,即我们讲解的很大部分都是Spring的其中一个核心概念——依赖注入(或者说是控制翻转,IOC ...

  4. django + dropzone.js 上传文件

    1.dropzone.js http://www.dropzonejs.com/ dropzone.js是一个可预览\可定制化的文件拖拽上传,实现AJAX异步上传文件的工具 2.dropzone.js ...

  5. Codeforces 776 A.Serial Killer-String直接比较是否相同

    A Serial Killer time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  6. POJ 3984 迷宫问题【BFS/路径记录/手写队列】

    迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 31428 Accepted: 18000 Description 定义 ...

  7. HDU 2045 LELE的RPG难题(递推)

    不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  8. 【PHP】mysql基本操作整合

    php版本:PHP Version 5.5.1 环境:windows10 XMAPP 数据库:mysql 代码: <?php function connetionDB($servername, ...

  9. [BZOJ3205][APIO2013]Robot(斯坦纳树)

    3205: [Apio2013]机器人 Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 1007  Solved: 240[Submit][Status ...

  10. 【kd-tree】bzoj1176 [Balkan2007]Mokia

    裸题不多说,注意在sqrt(n*log(n))次插入后重构树以保持深度. #include<cstdio> #include<cmath> #include<algori ...