1. 关于客户端的技术栈 入职之前,我以为客户端的技术栈就是写UI逻辑,都是Java/Kotlin,但真正工作后才发现Android的技术栈很深。就以我身边小组的同事为例,有写Java/Kotlin业务逻辑的,有写Go效率工程的,也有写python数据分析的,还有写C++/汇编研究Linux/Android虚拟机的。可以说Android在开发语言上不设边界,根据工作需要去选择,从UI到系统底层,Android可以深挖的东西很多很多,在探索的过程中,会发现使用到很多大学课堂上的基础知识。 不过一般实际工作时,都会集中专注于某个点,前面提到的这些技术点没有时间面面俱到,一般都是从日常的工作出发去总结和发散。例如某个活动需求需要展示新的卡片,但该卡片展示时会很卡顿,是不是图片加载可以优化,还是后台有在做高负载的工作,是不是卡片通用的框架性能不好,框架Java层没法继续突破了能不能改成Native C++代码来实现... 有了想法再去调研,沟通,能把方案落实到下一阶段的工作计划里是最好的,否则在互联网的快节奏环境下,上班时间会被各种需求排满,产品在后面push,工作之余很难有时间去做额外的内容。这点我觉得任何岗位都是类似的,工作时在拧螺丝,后端岗位是在写各种crud,算法岗在不断尝试模型验证效果。个人成长平台和岗位很重要,但更多时候得要自己多在平常多挤出时间去自我提升,虽然会很累。