初中级Android工程师如何快速成长寻求突破

news2024/11/15 23:38:22

前言

写这篇文章的初衷是看到很多同学在一家公司工作了三五年,因为技术没有得到提升而随着年龄的增长导致不敢提出涨薪和跳槽找工作。希望这篇文章能够给这些还是初中级Android工程师的朋友一些启发。

快速成长

我们在向领导提出加薪申请或者是准备跳槽到更大的平台时,我们需要认识到自己现在的能力是否比刚入职到这家公司时更强,所以在此之前我们必须让自己成长起来。那么我们该如何快速成长呢?我理解的成长主要包括两个方便,分别是技术能力和职业能力。

如何快速提升技术能力

  1. 坚持:积少成多,重在坚持,构建自己的知识体系,我现在每天也都能保持至少分享一篇技术文章。
  2. 多写多练多思考:看过了,看懂了不等于学到手了,相信这个世上没有人会有过目不忘的本领,更何况是咱们这些上了年纪的人,只有多多练习才能加深大脑对它的印象。切记不要直接抄写代码,要理解每行代码的意思才是最有意义的。
  3. 敢于挑战:养成优秀的习惯,每次项目结束之后或者是休闲的时候,可以挑战一下自己能不能将整个项目独立开发出来,如果你具有单挑整个项目的能力,那么在面试时介绍项目的时候,可以直接说明这个项目是我独立开发的,那面试结果可想而知。

如何快速提升职业能力

职业能力是指我们在职场中的综合能力,比如:沟通能力、业务能力、协作能力、反馈能力、规划能力、总结能力。这些能力如果得到提升的话,又将是一条Android工程师的发展路线。至于如何提升,我总结了一些个人经验供大家参考。

沟通能力

  1. 语言一致性:面对不同工种比如测试、后端、产品和业务方首先要语言一致,你的语言表达要使对方能听懂,如果你一直说专业技能语言,别人是听不懂的,要将专业词汇转化成别人能听懂的语言。
  2. 理解一致性:你在说 A,对方听成了 B,你以为对方也在说A,那么永远只有“沟”而不会“通”,甚至不欢而散。我碰过多次这种沟通半天不能达成一致来找我协调,最后发现俩人不在一个频道上,造成无效沟通。我一般都是先听完,然后给我的理解给对方复述一次,问对方我理解的是不是对的,而不是急于表达我的观点。
  3. 多动手少说话:语言在传达过程中会很容易被错误理解,比如我描述一个人的长相,一千个人会画出一千个样子,如果我拿出一张照片,就能够准确的进行信息传递。沟通过程中多画图,多演示,多用白板能够提高沟通效率。少说话除了用动手代替之外,还有就是说的过程中要说重点,先说结论再解释,也许有些人不Care 解释只需要你给结论即可。当有太多的解释而没有引出结论时,可能会被认为很啰嗦说不到重点。

业务能力

  1. 给自己当“傻子”:一个好的产品是应该学习成本比较低的,给自己当“傻子”去使用自己负责的业务产品,就会发现太多可优化的点。
  2. 多换位思考:不要用技术的角度去看业务,要思考产品的用户是谁,核心是解决用户什么问题,有没有解决,反馈如何?
  3. 用公司视角:你负责的业务上下游依赖业务是哪些?在部门中处于什么角色?在公司层面处于什么地位?站在不同视角看待业务就会获得不同的看法。
  4. 关注行业竞品:行业趋势是什么样的,竞品的优势在哪里,我们的优势在哪,对行业要保持一定的敏感性。

协作能力

  • 找到共同目标:通过良好的沟通能力,寻找到共同目标,放大共同价值会很容易达成合作。
  • 多换位思考:多站在别人的角度考虑问题,多问对方的难点是什么,多问对方需要我如何协助,了解诉求之后再针对性提出解决办法,而不是上来就说我要做什么,而是我可以给你带来什么。
  • 反馈能力 提高意识:事事有反馈是非常非常非常重要的意识,想象一下:1.你负责的开发任务如果需要负责人每天都问你一次到什么进展了,有没有做完,不问你也不说;2.群里有人反馈你负责的页面出了问题,而你已读未回,其实你可能已经在排查了,或者有更要紧的事去处理。但是你没有回,别人就会觉得你不负责任,甚至认为整个团队没有Owner 意识。如果当时回一个 “在看”,“开会中,5 分钟后看”效果就会不一样。

规划能力

  • 定目标:没有目标就没有坚持的动力,做之前要先定好目标。目标可以有长期目标,中期目标和短期目标。
  • 定周期:所有的目标都要有明确的时间节点,没有时间节点,很难进展下去。
  • 做拆解:目标拆解的粒度越细,执行的效果就会越好,一直拆解到不能拆解为止。

总结能力

  • 多练:很多开发人员会做不会说,会说不会写。我的经验就是多练,练的多了就会有感觉。上学那会作文都写不到 600 字,现在一口气写上几千字停不下来。平时多写业务文档,技术文章总结,也能锻炼你的总结能力。
  • 逼自己:总结不是记流水账,要化繁为简,很多人会说不能再精简了。我的经验就是逼自己,比如 5分钟总结一下上半年的工作亮点、只选择一件事你认为是最需要给老板说的、总结字数不超过 100 字等,慢慢就会清楚如何做总结。

如何寻求突破

技能能力的提升,能够让我们在Andoid开发这条路上越走越长,那么我们如何才能突破现在的技术瓶颈到下一个阶段呢?小编结合自己的学习经历整理出了一条从Android初级工程师到Android高级工程师甚至是资深架构师的学习路线和对应的学习笔记,供大家参考。

1.Android基础知识体系

  1. 架构设计(泛型和注解)
  2. 动态架构编程原理
  3. Android虚拟机指令
  4. 虚拟机垃圾回收
  5. 虚拟机类和对象的结构
  6. 并发内存模型
  7. synchronize机制
  8. 深入并发原理之线程池
  9. 高效IO与数据序列化

对应学习笔记: ​

编辑
2.Android性能优化知识体系

  1. UI优化
  2. 启动优化
  3. 崩溃优化
  4. 卡顿优化
  5. 安全性优化
  6. 弱网优化
  7. App深度优化
  8. 开发焦点问题优化
  9. 编程效率优化

对应学习笔记:
在这里插入图片描述

3.Android framework内核

知识点:

  1. framework通信
  2. framework底层服务
  3. framework系统资源
  4. framework事件机制
  5. framework ui机制

对应学习笔记:
在这里插入图片描述
4.Android前沿技术体系

  1. 自动化构建App
  2. 前沿编译插件技术
  3. Compose
  4. JetPack

对应学习笔记
在这里插入图片描述

5.Android常用开源框架

  1. 架构师通用技能,分别是:数据结构与算法,代码设计准则,设计模式的综合运用。
  2. 网络访问框架
  3. 图片加载框架
  4. 数据库管理框架
  5. 进程通信框架
  6. Rx响应式框架
  7. 注入解耦
  8. 组件化框架
  9. 热修复框架设计
  10. Shadow插件化框架设计

对应学习笔记:
在这里插入图片描述
以上就是我整理出来的从Android初级到高级工程师的学习知识体系,还有对应的学习笔记供大家参考。

学习笔记获取地址:

​docs.qq.com/doc/DWHFqVHBMVEJPWUx1

总结

成长就像爬山一样,一开始大家都在同一起跑线,有说有笑并肩出发,过程中有人坚持下来到达了山顶,有人停在了半山腰看着别人陆陆续续超过自己,有人选择了错误道路也许永远到不了山顶,有人选择了适合的道路很快就到达了山顶。成长的过程中肯定存在很多坎坷,但是每一次突破自身所带来的的成就感会成为你坚持下去的动力。坚持加上选择再需要一点运气,回报自然就会水到渠成,加油吧,打工人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

概率机器学习笔记

1.单变量高斯混合分布 原书对结果的得出没有给出解释,我比较困惑,网上找到了一篇推导的帖子,看完就明白了。 式2.49的解释: 红框即为关键处,这是显而易见的期望,不过是条件方差的期望: 该证明的作者&…

共阳(共阴)LED数码管编码交互演示

LED数码管原理 LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法,共阴极就是各段的显示字码共用一个电源的负极,是高电平点亮,共阳极就是各段的显示字码共用一个电源的正极,是低电平点亮。只要控制…

WPF教程(一)---创建一个WPF程序基础知识

1.前言: 这篇主要讲WPF的开发基础,介绍了如何使用Visual Studio 2019创建一个WPF应用程序。 首先说一下学习WPF的基础知识: 1) 要会一门.NET所支持的编程语言--例如C#。 2) 会一点“标准通用标记语言”:WPF窗体程序使用的XAML语…

字符集与字符编码的区别与演进(ASCII、GBK、UNICODE)

1 常见编码 1.1 单字节编码:ASCII ASCII使用1个字节(8个bit)来记录一组常用字符,见下表: 例如其中字母a的二进制位:1100 001 97,那么a在计算机中就可以用1100001来保存。 注意上表中其实只…

Spring入门案例--DI入门案例

入门案例思路分析 (1)要想实现依赖注入,必须要基于IOC管理Bean DI的入门案例要依赖于前面IOC的入门案例 (2)Service中使用new形式创建的Dao对象是否保留? 需要删除掉,最终要使用IOC容器中的bean对象 (3)Service中需要的Dao对象如何进入到Service中?…

1682_尝试写一个shell(做个努力的小菜鸟)

全部学习汇总: GreyZhang/bash_basic: my learning note about bash shell. (github.com) 跋:看了一下,这个可能是我大约十年前的学习笔记了,脑海中都没有多少那时候的记忆痕迹了。然而,当初的一些时间消磨的确是给今天…

Android/SELinux 添加 AVC 权限

authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主 增加属性配置 在文件路径下增加了如下代码用于gc02m1的兼容倒置前置摄像头成像配置 //daisy if(MSM8909_SENSORS){ property_set("ro.camera.gc02m1", "1"); } /home/scooper/works…

go之基于rabbitmq的火山云服务器弹性伸缩管理程序

Author: wencoo Blog:https://wencoo.blog.csdn.net/ Date: 18/04/2023 Details:文章目录 项目背景项目功能模块实现configMq.jsonconfigECS.jsonconfigDB.json 完整代码打赏 项目背景 项目服务器不够用了,需要弹性伸缩服务器,准备使用火山的…

算法套路十——回溯法之子集型回溯

算法套路十——回溯法之子集型回溯 算法实例一:LeetCode17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不…

【Spring Boot】spring boot 项目的创建

目录 一.本地创建 二.官网创建 一:本地创建 1. 2. 3. 4. 5. 6. 选择相应的版本,并点击next 7. 8. 9. 二.官网创建 1. 点击链接进入官网 2. 3. 5. 6.

【进阶C语言】动态内存管理

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于C语言进阶系列,本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数…

win10 专业版登录Microsoft账户提示:0x800704cf 错误代码——问题解决记录

win10 专业版登录Microsoft账户提示:0x800704cf 错误代码——问题解决记录 系统版本 版本 Windows 10 专业版 版本号 21H2 安装日期 ‎2021/‎5/‎7 操作系统内部版本 19044.2846 体验 Windows Feature Experience Pack 120.2212.4190.0 问题描述 曾经手动修改过…

《程序员面试金典(第6版)》面试题 10.11. 峰与谷(双指针,贪心思想)

题目描述 在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组&#xff0c…

网络原理IP协议

hi,大家好,小魏又来了,我们已经认识了UDP,TCP,现在来认识一下位于网络层的协议,IP 认识IP地址 1.地址管理 2.路由选择 在之前的讲解中我们已经认识到了网络层的IP协议,负责寻路操作 IP地址(Internet Protocol Address)是指互联网协议地址&#xff0…

【Java版oj】day35年会抽奖、抄送列表

目录 一、年会抽奖 (1)原题再现 (2)问题分析 (3)完整代码 二、抄送列表 (1)原题再现 (2)问题分析 (3)完整代码 一、年会抽奖 …

C++ 命名空间 输入输出 缺省参数 引用 函数重载

在学习C之前,我们要先知道C和C是向上兼容的,也就是说,在cpp文件中既可以写入C的代码,也可以写C的代码,在日常编写代码中,经常会出现C和C混编的情况。 此博客都是在 C 的缺陷的基础之上 整理 C 中对其的优化…

PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

文章目录一、强大的 hub 模块1. hub 模块的使用2. hub 模块的代码演示二、搭建神经网络进行气温预测1. 数据信息处理2. 数据图画绘制3. 构建网络模型4. 更简单的构建网络模型本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 一、强…

机器学习——回归与聚类算法

线性回归 广义的线性模型 不仅是自变量是一次方的是线性模型,参数是一次方的也是线性模型,比如: 总结:线性关系的一定是线性模型,线性模型的不一定是线性关系。 损失函数 优化损失 求解模型中的w,使得…

SeNet论文解读/总结

此文章为深度学习在计算机视觉领域的图片分类经典论文SeNet(Squeeze-and-Excitation Networks)论文总结。 此系列文章是非常适合深度学习领域的小白观看的图像分类经典论文。系列文章如下: AlexNet:AlexNet论文解读/总结_alexnet…

uniapp-搜索配置

自定义搜索组件 1.定义组件的 UI 结构: <template><!-- 通过属性绑定的形式&#xff0c;为 .my-search-container 盒子和 .my-search-box 盒子动态绑定 style 属性 --><view class"my-search-container" :style"{background-color: bgcolor}&q…