突破自己的技术瓶颈,Android程序员高级进阶,危机感

>  突破自己的技术瓶颈,个人的技术输入与输出
1、技术瓶颈 ; 2、工作上瓶颈 ; 3、收入上瓶颈
如何突破技术发展瓶颈?- http://www.sohu.com/a/246164204_100066886
如何持续进步,突破技术瓶颈?- http://www.sohu.com/a/134134698_355140
多年经验的大厂程序员,如何突破技术瓶颈?- https://blog.csdn.net/qq_39627461/article/details/80488482
  -- 面临几个问题:
  技术学习的困惑:当达到一个瓶颈时,可以学习的参考系越来越少,首先是因为高端技术人才呈现倒金字塔形态,身边缺少能引领你的人生导师;其次,业内的技术交流,大多数在做科普以及刷存在感,到达一定阶段后对个人提升作用越来越小(甚至用一天时间参加技术大会效果还不如用一天的时间在咖啡馆看书学习);再次,国内的文化导致技术人专家逐渐转向管理岗位,技术缺少积累,特别容易出现断层和继承。
  技术深度与广度的选择的困惑:技术深度的进一步提升,可以逐步做到业界大牛,专业技能越来越强,广度的延伸也更容易变成全栈技术人才,两者各有利弊,个人时间和精力有限,如何抉择?
  技术方向的困惑:大型互联网公司的技术框架基本都在最初选型时确立,与当时的业务规划、业界当时的技术趋势、个人的过往经验积累相关,成熟规模大的业务从稳定性考虑,一般技术选型落后新技术2、3年,对于技术人员来说,从实际工作考虑需要使用老技术,但是业界的趋势又是在朝着新技术的方向发展。

  技术管理型人员需要更加关注整个知识体系的构建,其中包括重要的软技能。这类人员的重点是总体规划和设计,能够对问题进行分解。对于分解后的技术问题和细节则可以转交到细分岗位的专业人员去做。要做到这点我们仍然需要有大量的技术积累,因为这是你和专业技术人员沟通的桥梁和通用词汇。业务和问题驱动IT和技术,是从单纯技术思维开始转变的一个重点。
  源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。

> 程序员高级进阶
从菜鸟到Android资深工程师的进阶之路- https://blog.csdn.net/mary_ml/article/details/50539521
-- Android开发者已经度过了初级、中级,如何成为一个Android高手呢? 
 一、初级
    1. 拥有娴熟的Java基础,理解设计模式,比如OOP语言的工厂模式要懂得。
    2. 掌握Android UI控件、Android Java层API相关使用。
    迈向中级,最好再次更新下Java技术,掌握Java concurrent库、nio库,精通xml、json解析,做过socket c/s端的程序。
 二、中级
    1. 熟练掌握NDK JNI方式的开发,对Android framework十分了解。
    2. 移植一些开源项目,比如FFmpeg、Mplayer到Android上运行。
    迈向高级,熟悉android开源代码的结构,中间件下层的库,比如webkit、opencore、opengl。
 三、高级
    1. 熟练的Linux驱动开发,精通Linux内核结构。
    2. 掌握Android移植,比如常见的TI OMAP、Qualcomm MSM的硬件移植。
    迈向顶级,发现Android系统中的0day漏洞,可以轻松的找出Root系统的10种方法,帮助Google改进Android操作系统。

投入大量的业余时间在Android开发上,并且习惯去思考问题、总结问题并将其融会贯通

-- 中级工程师的水平:
技术要求: 
- 基本知识点 
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术 
- 书籍推荐 
《第一行代码 Android》、《疯狂Android》

中级工程师
  小明经过一年的努力学习终于成为Android中级工程师了,月薪变成了17k。到了中级工程师,已经可以在公司里干很多体力活了,但是一些很重要的任务小明还不能一个人承担起来,这个时候小明需要学习的内容就很多了,如下所示: 
- AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别; 
- Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用; 
- 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等; 
- 事件分发:弹性滑动、滑动冲突等; 
- 玩转View:View的绘制原理、各种自定义View; 
- 动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理; 
- 懂性能优化、熟悉mat等工具 
- 懂点常见的设计模式

为了成为Android资深工程师,需要学习的东西就更多了,并且有些并不是那么具体了,如下所示: 
- 继续加深理解”稍微深入的知识点“中所定义的内容 
- 了解系统核心机制: 
1. 了解SystemServer的启动过程 
2. 了解主线程的消息循环模型 
3. 了解AMS和PMS的工作原理 
4. 能够回答问题”一个应用存在多少个Window?“ 
5. 了解四大组件的大概工作流程 
6. … 
- 基本知识点的细节 
1. Activity的启动模式以及异常情况下不同Activity的表现 
2. Service的onBind和onReBind的关联 
3. onServiceDisconnected(ComponentName className)和binderDied()的区别 
4. AsyncTask在不同版本上的表现细节 
5. 线程池的细节和参数配置 
6. … 
- 熟悉设计模式,有架构意识

猜你喜欢

转载自blog.csdn.net/ShareUs/article/details/82051197
今日推荐