首页 > 编程语言 >一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!

时间:2023-06-22 11:38:34浏览次数:36  
标签:插件 架构 Jetpack App 35 40 Kotlin Android 感言


时光给我留下了什么?

不知不觉间虚度了40年光阴,看着父母逐渐的苍老和孩子逐渐长大,看着自己发福的身材,已知道自己在这个陌生的城市里已经扎根,估计是很难再去哪里了。

回首故里似乎和童年一样渐渐变得模糊,每次回家总感觉自己已经很难融入其中,看着别人聊天聊地,自己也很难插上嘴,曾经自己所熟知的地方,慢慢变得陌生起来,每一次回去都说熟悉的面孔逐渐减少,而陌生的面孔不断增多。

我知道,我老了,随我老去的还有那些儿时的伙伴、旧房子、小河、山坡和我的青春,以及儿时的梦。

曾经刚开始接触编程的时候,对这种神奇的技艺非常憧憬,一直幻想着有一天像比尔盖茨和求伯君那样做出一款神奇的软件,一鸣惊人。慢慢的随着时间的推移,觉得自己的事业已经到达了天花板,现在在某中型互联网企业做总架构师。

怎样才能成为一名架构师?

1.写好业务代码,搬好每一块砖头

没有哪一个架构师不是从写业务代码成长过来的。上面指派的任务,要保质保量认真按时完成,这是最基本要求。

在这个的基础上考虑有没有什么风险,对别人有没有影响,能不能把公用部分抽出来造个轮子?如果是作为别人的上游,对别人来说是不是好用?代码是不是简洁干净?有没有可以写成配置的 hardcode?

一个好的工程师在拿到需求时,并不单纯是考虑这个需求怎么实现,还会考虑,自己设计的架构体系,扩展性在哪里,在他的眼里,看到的需求会被分解,折分,然后自己的技术方案,会挨个分解,分配。

在完成设计之后,他会很清楚的知道 ,自己设计的系统里,哪些变化是支持的,随便你改,我只需要改动一个很简单的内容,哪些是你绝对不能改的,你要改,我就必须花很大的代价,特别是在已经有线上数据的时候。

而且还要会拿着自己的架构体系跟 PM 沟通,讲清楚。

负责任,写好业务代码,搬好每一块砖头,完成自己的代码质量优化。当你做到了这些你就拥有了基本的架构思想:面向未来编程。

2.底层基础知识过硬,专业技术过硬

每个企业的业务方向都不一样,用的技术也不一样。很多人在开发过程中只是浮在表面,忽略底层源码分析,面试求职的简历也没有进行修缮和突出重点,自然求职不顺,加薪无望。

解决这个问题的最好办法就是:深入底层,抓住不变量。

要知道,底层知识永远都不过时。算法数据结构、基本的程序设计理论、良好的编码习惯、分析问题和解决问题的能力、强大的学习能力和旺盛的求知欲……这些永远都不过时,大脑的思维方式也永远都不过时。

专业技术过硬 ≠ 对API熟悉,技术过硬是指对技术在实际业务模型下的应用能力,自己在实际工作中对问题的分析解决能力。

有时候在做一个功能或者解决一个问题的时候,你有很多种选择,有很多方法,你是否有足够的知识储备让你选择解决方案,找到最优解?还是你仅仅知道一个唯一的解决方案?

当你面对一个问题的时候,你的思路是否能支持你一步一步找到 root cause?要花多少时间?找到以后你能不能有办法解决掉?

如果你觉得自己在这些方面还有欠缺,这里推荐大家去看一下这份源码解析PDF。

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_插件化


3.保持学习的习惯

很多人认为年纪大了学不过年轻人,但是这个逻辑是讲不通的。年纪大了家里事情多,没年轻人有时间那我还是能理解,但是也拥有年轻人没有的优势,比如对代码的熟稔,对规则的熟悉。

笔者大概每天保持学习 2 小时以上,主要是对新技术的学习和刷算法题。手游、短视频什么的基本不碰,碎片时间会刷刷CSDN、知乎。

笔者自己明显感觉到最近这些年,精力,智力,思维,工作能力相比于读书考试那会以来又达到了一个巅峰状态,工作上代码写的得心应手,学习东西快,理解能力强,刷算法时思维比以前还要敏捷。

不敢说公司抢着要把,但是至少笔者能说自己还是有一定竞争力,起码 35 岁被裁什么的在我这不存在的。就算是被裁,出去重新找个工作也很容易,还能涨涨薪水。

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_插件化_02

总结

要想成为架构师,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

最后分享给大家一份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 最全上手指南

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_Android_03

2.Framework精编内核解析

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_Kotlin_04

3.Kotlin强化实战(附Demo)

  • 第一章 Kotlin入门教程
  • 第二章 Kotlin 实战避坑指南
  • 第三章 项目实战《Kotlin Jetpack 实战》
  • 从一个膜拜大神的 Demo 开始
  • Kotlin 写 Gradle 脚本是一种什么体验?
  • Kotlin 编程的三重境界
  • Kotlin 高阶函数
  • Kotlin 泛型
  • Kotlin 扩展
  • Kotlin 委托
  • 协程“不为人知”的调试技巧
  • 图解协程:suspend

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_Android_05

4.Android设计思想解读开源框架

  • 热修复
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_插件化_06

5.NDK模块开发

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_Android_07

6.深入理解Android插件化技术(附Demo)

第一章 插件化技术的前世今生
第二章 插件化原理
第三章 Android插件化初探
第四章 架构演化(大厂篇)

  • 360插件开发之DroidPlugin
  • 滴滴VirtualApk实战
  • 基于VirtualAPK Android重构之插件化
  • 爱奇艺插件化原理分析之 Neptune框架
  • 腾讯插件化框架 Shadow项目解析

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_Kotlin_08

7.高级Android组件化强化实战(附源码)

第一章 Android组件化初识
第二章 Android组件化初探目录
第三章 架构演化(大厂篇)

  • 从智行 Android 项目看组件化架构实践
  • 得到 App
  • 微信 App
  • 蘑菇街 App
  • 爱奇艺 App
  • 美团 App
  • 携程App
  • 支付宝 App

一个40岁中年程序员的感言:一定要学好这些东西,35 岁以后也依然被公司抢着要!_插件化_09

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

相关文章

  • Codeforces 1835F - Good Graph
    goodproblem,badround。判断YES还是NO很trivial,就直接跑最大匹配看看是不是\(n\)即可。如果是NO,那么考虑Hall定理的证明过程构造即可。具体方法就是找到左部任意一非匹配点,在残量网络上BFS可以到达的点,那所有可以到达的左部点形成的集合就是符合要求的反例。因为你......
  • Codeforces 1835E - Old Mobile
    首先先观察到一个非常浅显的性质:就是一个位置在序列中不是第一次出现,那么到这个位置的时候打出这个字符需要恰好一次按键,这是因为我们肯定在打出第一次出现这个字符的位置的时候已经知道哪个键对应这个字符了,到那个位置的时候直接敲一下就ok了。也就是我们只用关心这个序列中出......
  • 关于 Spartacus 服务器端渲染的 404 Not found 页面处理
    当启动Spartacus时,路由由Router逻辑处理。将评估四种不同类型的路由:路由应由自定义路由路径处理;客户添加了硬编码路由,并且我们应该优先考虑这些路由。路由是PLP(产品列表页)或PDP(产品详情页)。路由是CMS(内容管理系统)内容页面。路由是未知的(404页面未找到)。当向Sparta......
  • 【剑指Offer】35、数组中的逆序对
    【剑指Offer】35、数组中的逆序对题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007。输入描述:题目保证输入的数组中没有的相同的数......
  • CH340芯片USB转TTL的坑
    #USB转TTL不能识别#USB转TTL没有ttyUSB 不说过程了,直接说结论我买的这个ch340的usb转ttl,在ubuntu20上面叫/dev/ttyCH341USB0最开始我也经历了驱动重新编译安装和brltty独占的问题(如果你们这两个没处理掉问题就去百度,很多文章都写了)最靠谱的还是去/dev下面找 多出......
  • chemex访问首页提示404 Not Found
           问题描述:由于windows下用phpstudy集成环境部署,中途调试其它项目时,把apache切换成nginx,再次切换回apache时,chemex站点的伪静态配置变成空白了,导致chemex首页访问时提示404 问题原因:nginx或apache服务器未配置伪静态。 解决方法:如果是nginx服务器......
  • h3c 渠道代理打400
    起初是直接打400电话寻求帮助之后是关注公众号加账号才能拨打到现在的app账号+上岗证+产品序列号的方式拨打,注意上岗证一定要其他考好,不同产品不同上岗证,考试方法是app上视频时长加选择题的方式,不限制考试次数。 我起初一直以为公众号加账号拨打,去了现场才知道要靠上岗证,最气人的......
  • IS220PAICH2A 336A4940CSP11通用电气模拟输入输出模块
    IS220PAICH2A336A4940CSP11通用电气模拟输入输出模块IS220PAICH2A336A4940CSP11通用电气模拟输入输出模块  但是传统的以太网是一种商用网络,要应用到工业控制中还存在一些问题,主要有以下几个方面。1、存在实时性差,不确定性的问题传统的以太网采用了CSMA/CD的介质......
  • IS220PDOAH1A 3364940CSP2通用电气I/O模块
    IS220PDOAH1A3364940CSP2通用电气I/O模块IS220PDOAH1A3364940CSP2通用电气I/O模块 随着相关技术的发展,以太网的发展也取得了本质的飞跃,再借助于相关技术,可以从总体上提高以太网应用于工业控制中的实用性。1、采用交换技术传统以太网采用共享式集线器,其结构和功能仅......
  • 《LINQ实战》译者感言
    《LINQ实战》译者感言此刻您手中这本沉甸甸的书,虽然来得晚了一些,但仍旧是不可多得LINQ权威学习指南。在最近一年的工作中,我会经常用到LINQ。毫不夸张地说,我无法想象再回到没有LINQ的.NET日子会是怎样,我深深地折服于其给每个开发人员带来的方便和简化——LINQ在程序世......