时光给我留下了什么?
不知不觉间虚度了40年光阴,看着父母逐渐的苍老和孩子逐渐长大,看着自己发福的身材,已知道自己在这个陌生的城市里已经扎根,估计是很难再去哪里了。
回首故里似乎和童年一样渐渐变得模糊,每次回家总感觉自己已经很难融入其中,看着别人聊天聊地,自己也很难插上嘴,曾经自己所熟知的地方,慢慢变得陌生起来,每一次回去都说熟悉的面孔逐渐减少,而陌生的面孔不断增多。
我知道,我老了,随我老去的还有那些儿时的伙伴、旧房子、小河、山坡和我的青春,以及儿时的梦。
曾经刚开始接触编程的时候,对这种神奇的技艺非常憧憬,一直幻想着有一天像比尔盖茨和求伯君那样做出一款神奇的软件,一鸣惊人。慢慢的随着时间的推移,觉得自己的事业已经到达了天花板,现在在某中型互联网企业做总架构师。
怎样才能成为一名架构师?
1.写好业务代码,搬好每一块砖头
没有哪一个架构师不是从写业务代码成长过来的。上面指派的任务,要保质保量认真按时完成,这是最基本要求。
在这个的基础上考虑有没有什么风险,对别人有没有影响,能不能把公用部分抽出来造个轮子?如果是作为别人的上游,对别人来说是不是好用?代码是不是简洁干净?有没有可以写成配置的 hardcode?
一个好的工程师在拿到需求时,并不单纯是考虑这个需求怎么实现,还会考虑,自己设计的架构体系,扩展性在哪里,在他的眼里,看到的需求会被分解,折分,然后自己的技术方案,会挨个分解,分配。
在完成设计之后,他会很清楚的知道 ,自己设计的系统里,哪些变化是支持的,随便你改,我只需要改动一个很简单的内容,哪些是你绝对不能改的,你要改,我就必须花很大的代价,特别是在已经有线上数据的时候。
而且还要会拿着自己的架构体系跟 PM 沟通,讲清楚。
负责任,写好业务代码,搬好每一块砖头,完成自己的代码质量优化。当你做到了这些你就拥有了基本的架构思想:面向未来编程。
2.底层基础知识过硬,专业技术过硬
每个企业的业务方向都不一样,用的技术也不一样。很多人在开发过程中只是浮在表面,忽略底层源码分析,面试求职的简历也没有进行修缮和突出重点,自然求职不顺,加薪无望。
解决这个问题的最好办法就是:深入底层,抓住不变量。
要知道,底层知识永远都不过时。算法数据结构、基本的程序设计理论、良好的编码习惯、分析问题和解决问题的能力、强大的学习能力和旺盛的求知欲……这些永远都不过时,大脑的思维方式也永远都不过时。
专业技术过硬 ≠ 对API熟悉,技术过硬是指对技术在实际业务模型下的应用能力,自己在实际工作中对问题的分析解决能力。
有时候在做一个功能或者解决一个问题的时候,你有很多种选择,有很多方法,你是否有足够的知识储备让你选择解决方案,找到最优解?还是你仅仅知道一个唯一的解决方案?
当你面对一个问题的时候,你的思路是否能支持你一步一步找到 root cause?要花多少时间?找到以后你能不能有办法解决掉?
如果你觉得自己在这些方面还有欠缺,这里推荐大家去看一下这份源码解析PDF。
3.保持学习的习惯
很多人认为年纪大了学不过年轻人,但是这个逻辑是讲不通的。年纪大了家里事情多,没年轻人有时间那我还是能理解,但是也拥有年轻人没有的优势,比如对代码的熟稔,对规则的熟悉。
笔者大概每天保持学习 2 小时以上,主要是对新技术的学习和刷算法题。手游、短视频什么的基本不碰,碎片时间会刷刷CSDN、知乎。
笔者自己明显感觉到最近这些年,精力,智力,思维,工作能力相比于读书考试那会以来又达到了一个巅峰状态,工作上代码写的得心应手,学习东西快,理解能力强,刷算法时思维比以前还要敏捷。
不敢说公司抢着要把,但是至少笔者能说自己还是有一定竞争力,起码 35 岁被裁什么的在我这不存在的。就算是被裁,出去重新找个工作也很容易,还能涨涨薪水。
总结
要想成为架构师,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
最后分享给大家一份66万字Android开发核心知识笔记:
Android学习指南(2021最新版)
1.Jetpack架构组件从入门到精通
- Android Jetpack - Navigation
- Android Jetpack - Data Binding
- Android Jetpack - ViewModel & LiveData
- Android Jetpack - Room
- Android Jetpack - Paging
- Android Jetpack - WorkManger
- Android Jetpack架构组件之Lifecycle
- Android Jetpack Compose 最全上手指南
2.Framework精编内核解析
主要内容包含:
- 深入解析Binder
- 深入解析Handler
- Dalvik VM 进程系统
- 深入解析 WMS
- PackagerManagerService
3.Kotlin强化实战(附Demo)
- 第一章 Kotlin入门教程
- 第二章 Kotlin 实战避坑指南
- 第三章 项目实战《Kotlin Jetpack 实战》
- 从一个膜拜大神的 Demo 开始
- Kotlin 写 Gradle 脚本是一种什么体验?
- Kotlin 编程的三重境界
- Kotlin 高阶函数
- Kotlin 泛型
- Kotlin 扩展
- Kotlin 委托
- 协程“不为人知”的调试技巧
- 图解协程:suspend
4.Android设计思想解读开源框架
- 热修复
- 插件化
- 组件化框架设计
- 图片加载框架
- 网络请求框架
- RXJava 响应式编程框架设计
- IOC 架构设计
- Android架构组件Jetpack
5.NDK模块开发
- NDK 模块开发
- JNI 模块
- Native 开发工具
- Linux 编程
- 底层图片处理
- 音视频开发
- 机器学习
6.深入理解Android插件化技术(附Demo)
第一章 插件化技术的前世今生
第二章 插件化原理
第三章 Android插件化初探
第四章 架构演化(大厂篇)
- 360插件开发之DroidPlugin
- 滴滴VirtualApk实战
- 基于VirtualAPK Android重构之插件化
- 爱奇艺插件化原理分析之 Neptune框架
- 腾讯插件化框架 Shadow项目解析
7.高级Android组件化强化实战(附源码)
第一章 Android组件化初识
第二章 Android组件化初探目录
第三章 架构演化(大厂篇)
- 从智行 Android 项目看组件化架构实践
- 得到 App
- 微信 App
- 蘑菇街 App
- 爱奇艺 App
- 美团 App
- 携程App
- 支付宝 App
- …
8.Android架构设计权威指南
- 第一章 Android Jetpack实战和教程
- 第二章. MVC/MVP/MVVM
- 第三章. 国内知名架构文章
抖音 iOS 工程架构演进
美团外卖 Android 平台化架构演进实践
安居客 Android 项目架构演进
携程 Android App 插件化和动态加载实践
微信Android客户端架构演进之路
千万级用户的 Android 客户端是如何养成的 | 架构师实践日
手机淘宝构架演化实践
英语流利说 Android 架构演进
标签:插件,架构,Jetpack,App,35,40,Kotlin,Android,感言 From: https://blog.51cto.com/u_16163452/6534461