小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。

所以,大部分(超过九成的)开发干上许多年,还是做不了架构师,这是什么原因造成的呢?

1:码农分为真的能写代码的,以及自认为能写代码的。

2:真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。

3:真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状的。

4:会钻研的码农又分为喜欢广度了解新技术蜻蜓点水的,以及深入钻研用到知识的。

了解广度的码农又有少部分愿意深入某些技术,喜欢深入研究的又往往缺乏广度知识。

5:极少深度广度都关注的码农又分为为技术而技术和为业务而技术的。

纯为技术而技术的码农在国内的软件行业需求太少,且需求的往往不是应用软件领域了。

6:为业务而技术的深度广度都了解的码农,又需要有良好的沟通能力。

7:而沟通好的,又有一部分当PM去了。

8:然后剩下的,又有一部分慢慢脱离实际开发(不再做任何实现)或者开始依靠拿各种中间件搭积木来作为“架构”手段。

9:除去这些,剩下对业务有一定了解,对技术广度上有多种涉猎,深度上对部分技术研究彻底,还有很重要的一点,考虑问题足够细致全面。

10:细致全面善于沟通,技术上深度广度都没问题, 又喜欢这个工作,还会不时做底层实现,从业务和开发两个角度出发,搭出“架构”来是为了开发效率,为了运行效率,为了开发质量,为了业务灵活和运行稳定,为了维护方便等等这样的人,个人认为可以称为“架构师”。

大厂热门架构演进之路

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,网上碎片化的文章让人摸不着头脑。

特此分享这份字节跳动前技术总监汇聚了上百篇业界知名架构文章整理的而成的《Android架构设计权威指南》,帮助大家在以简驭繁的代码中,对架构乃至标准化开发模式 形成正确、深入的理解!

指南主要介绍Android框架的初始化过程及主要组件的工作原理。分析Android框架的主要源代码,理解框架工作原理所需的各种基础知识和构成实际Android平台骨干的服务框架,,下面是详细内容:

第一章 Android Jetpack实战和教程

1.Android Jetpack - Navigation

2.Android Jetpack - Data Binding

3.Android Jetpack - ViewModel & LiveData

4.Android Jetpack - Room

5.Android Jetpack - Paging

6.Android Jetpack - WorkManger

7.Android Jetpack - Paging 3

第二章. MVC/MVP/MVVM

1.MVC框架-导言

2.MVC框架-ASP.NET窗体

3.MVC框架-第一应用程序

4.MVC框架-文件夹

5.MVC框架-模型

6.MVC框架-控制器

7.MVC框架-视图

8.MVC框架-布局

9.MVC框架-路由引擎

10.MVC框架-动作过滤器

11.MVC框架-高级示例

12.MVC框架-Ajax支持

13.MVC框架-捆绑

14.MVC框架-异常处理

15.MVP架构设计:Google官方MVP思想解读

16.开源MVP框架

17.MVC、MVP、MVVM,到底该怎么选?

第三章. 国内知名架构文章

1. 抖音 iOS 工程架构演进

1.1 前言介绍

1.2 抖音工程架构演进

1.3 组件化

1.4 流水线式迭代开发

1.5 抖音工程架构演进

1.6 组件化探索过程中遇到的一些问题:

2. 美团外卖 Android 平台化架构演进实践

2.1 平台化背景

2.2 屡次探索

2.3 搜索库拆分实践

2.4 页面组件化实践

2.5 MVP 分层复用实践

2.6 中间层实践

2.7 平台化实践

2.8 平台化总结

2.9 展望

3. 安居客 Android 项目架构演进

3.1 三网合并

3.2 由RxJava驱动的MVP架构

3.3、组件化与模块化

4. 携程 Android App 插件化和动态加载实践

4.1 需求驱动

4.2 原理

4.3 实现

4.4 收益与代价

5. 微信Android客户端架构演进之路

5.1拓荒

5.2成长

5.3变革

5.4 进化

5.5 开放

6. 千万级用户的 Android 客户端是如何养成的 | 架构师实践日

6.5 模块内的解耦

6.6 灰度发布机制

6.7 模块间通信

6.8 总结

7.手机淘宝构架演化实践

7.1.Bundle

7.2 WebApp

7.3 PackageApp

7.4 研发支撑

7.5 测试支撑

7.6 运维支撑

7.7 发布支撑

8. 英语流利说 Android 架构演进

8.1 英语流利说早期架构

8.2 英语流利说核心架构

8.3 核心架构说明

8.4 引入多进程层

8.5 英语流利说常用辅助架构

8.6 英语流利说常用支持型架构

需要的朋友只需要 点赞支持一下,然后点击我的【GitHub】免费获取。

为什么大部分的Android开发成为不了架构师的更多相关文章

  1. 转:Android开发中的MVP架构(最后链接资源不错)

    Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...

  2. 高焕堂《android从程序员到架构师之路》 YY讲坛直面大师学习架构设计

    <android从程序员到架构师之路>YY讲坛活动:  sundy携手高焕堂老师全程YY答疑 与大师一起,分享android技术 时间:7月21日下午2:00   报名联系QQ:22243 ...

  3. 转: Android开发中的MVP架构详解(附加链接比较不错)

    转: http://www.codeceo.com/article/android-mvp-artch.html 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解M ...

  4. 设计模式笔记之二:Android开发中的MVP架构(转)

    写在前面,本博客来源于公众号文章:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=402435540&idx=1&sn ...

  5. Android:从程序员到架构师之路Ⅲ_高焕堂

    Part-2: 从Android框架代码中学习设计 一 基础设计模式(Pattern)的代码:以Android为例 1.Template Method模式:IoC(控制反转)机制 2.Observer ...

  6. android初级应用到高端架构教程------ 完整体系化学习android开发

    系统的学习android开发技术,从应用到底层,再到架构,告别乱糟糟的学习方式,不再是抓不住重点.从上到下贯通,全面学习android开发.让你拥有清晰的思路,一步步学习android开发! 一般而言 ...

  7. android大牛高焕堂最新力作-android架构师之路

    android大牛高焕堂 个人介绍: Android专家顾问,台湾Android论坛主席,现任亚太地区Android技术大会主席,台湾Android领域框架开发联盟总架构师.发表100多篇Androi ...

  8. Android开发学习之路-记一次CSDN公开课

    今天的CSDN公开课Android事件处理重难点快速掌握中老师讲到一个概念我觉得不正确. 原话是这样的:点击事件可以通过事件监听和回调两种方法实现. 我一听到之后我的表情是这样的: 这跟我学的看的都不 ...

  9. Android开发学习之路-该怎么学Android(Service和Activity通信为例)

    在大部分地方,比如书本或者学校和培训机构,教学Android的方式都基本类似,就是告诉先上原理方法,然后对着代码讲一下. 但是,这往往不是一个很好的方法,为什么? ① 学生要掌握这个方法的用途,只能通 ...

随机推荐

  1. redis优化小建议

    1.优化的一些小建议 1.尽量使用短的key 当然在精简的同时,不要为了key的"见名知意".对于value有些也可精简,比如性别使用0.1. 2.每个redis设置合理内存 每个 ...

  2. Linux下Rsyslog日志远程集中式管理

    Rsyslog简介 Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计.rsyslog能够接受从各种各样的来源,将其输入,输出的结果到 ...

  3. 13、linux中用户和用户组

    linux是多用户多进程的系统: 每个文件和进程都需要应对一个用户和用户组: linux系统通过uid和gid来识别用户和组的: 一个用户必须要有唯一的uid和一个主组来识别身份,不同的用户可以使用同 ...

  4. 4.3Unicode和ASCII码

  5. Python 绘制词云

    文本内容:data(包含很多条文本) 1.分词: import jieba data_cut = data.apply(jieba.lcut) 2.去除停用词: stoplist.txt:链接:htt ...

  6. 删除表的语句(drop truncate delete)

    p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Helvetica ...

  7. create-react-app 入门学习

    全局安装 create-react-app npm install create-react-app -g 创建项目 在全局安装了create-react-app 后 创建项目,如果按照下面的第一种办 ...

  8. 「CF643G」 Choosing Ads

    「CF643G」 Choosing Ads 传送门 如果你知道摩尔投票法可以扩展事实上是个一眼题,又好写又好调. 首先摩尔投票法是用来求众数定义为超过所有数个数一半的数的一个算法. 大致算法流程: 将 ...

  9. HCNA Routing&Switching之动态路由协议OSPF建立邻居的条件

    前文我们了解了OSPF的router id.数据包结构.类型.不同类型的数据包作用以及OSPF状态机制,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15027 ...

  10. 怀疑前端组件把我的excel文件搞坏了,怎么证明

    背景 我在做个需求,用户通过excel上传文件,文件中,每一行就是一条数据,后台批量处理:但是呢,用户填的数据可能有问题,所以我后台想先做个检查,然后在每一行中加一列,来指出这一行存在的问题. 我本来 ...