小团队一般 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. Qt 新手实战项目之手把手打造一个串口助手

    一前景 很多时候我们在学习一门新的语言,一直在学习各种语法和记住各种关键字,很容易产生枯燥的情绪,感觉学习这些玩意儿不知道用在什么地方,心里很是苦恼,这不,我在这记录下我学习Qt的第一个的小项目-串口 ...

  2. linux 开机自启动的两种方式

    方法 1 – 使用 rc.local sudo vi /etc/rc.local 在文件最后加上: sh /root/script.sh & 如果是 CentOS,我们修改的是文件 /etc/ ...

  3. Java实验项目三——面向对象定义职工类和日期类

    Program:按照如下要求设计类: (1)设计一个日期类,用于记录年.月.日,并提供对日期处理的常用方法. (2)设计一个职工类,该职工类至少具有下面的属性:职工号,姓名,性别,生日,工作部门,参加 ...

  4. WSL中使用systemctl报错问题

    Windows10里面自带的wsl中安装docker后不支持systemctl命令.需要更换命令,用Sysvinit的命令代替systemd,命令如下: Systemd command Sysvini ...

  5. Java基础00-反射35

    1. 类加载器 深入理解java类加载器类加载器 1.1 类加载 类加载或类初始化的三个步骤:类的加载.类的连接.类的初始化 加载:类加载过程的一个阶段:通过一个类的完全限定查找此类字节码文件,并利用 ...

  6. Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest

    官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...

  7. rJava在ubuntu上的安装

    1.Oracle JDK 8(必须装oracle的,open的不行) http://www.cnblogs.com/loca/p/4679110.html Install Oracle JDK 8 o ...

  8. Java实战:教你如何进行数据库分库分表

    摘要:本文通过实际案例,说明如何按日期来对订单数据进行水平分库和分表,实现数据的分布式查询和操作. 本文分享自华为云社区<数据库分库分表Java实战经验总结 丨[绽放吧!数据库]>,作者: ...

  9. Luogu2839 [国家集训队]middle 题解

    题目很好,考察对主席树的深入理解与灵活运用. 首先看看一般解决中位数的思路,我们二分一个 \(mid\),将区间中 \(\ge mid\) 的数置为 \(1\),小于的置为 \(-1\),然后求区间和 ...

  10. 前端基础js(四)

    一. js [1] html:用于显示页面 [2] css:用于描述页面的样式 [3] javaScript:用于描述页面的行为 二.js中三大部分内容 [1] 基本语法:函数.对象.事件类型(变量, ...