Android学习路线:如何成长为高级工程师

2023-10-27

博主参加了2014 CSDN博客之星评选,帮我投一票吧。

点击给我投票


前言

之所以写这篇文章,是因为最近博客和我的开发群( 215680213 )中,不少小伙伴都让我讲讲android学习路线,所以我决定写一篇博客,来说明这个问题。既然有不少小伙伴来咨询这个问题,说明大家都还是想快速地提高技术,毕竟技术的提高是职业发展中不可或缺的一步,技术好了,才能得到认可,才能升职加薪。一般来说,快速提高技术是不太容易的,但是通过正确的方法加上辛勤的汗水是可以缩短这个过程的。或许有人会问,你凭什么来写这个学习路线?你能写好这个技术路线吗?这个还真不好回答,不过我会按我的个人理解去写。这里先说下我的个人情况,我的个人介绍都在博客上面写着,希望能够给大家一些信心。下面将对技术路线一一展开,这里假设你还是个android菜鸟,即android初级工程师。


一  明确自我定位

现在你是初级工程师,但是你想当个高级工程师,所以,你就要给自己定个目标,即:我是要成为高级工程师的男人。有了这个定位,并且努力朝着这个目标去努力,然后内心深处就会有一个感觉,这个感觉就会成为你的B格,也就是说,虽然我现在是小菜,但是我不是一般的小菜,从而内心有一种自豪感,而这种自豪感会给你提供正能量。这一条是虚的,但是是有用的。


二 学习路线

首先找本android入门的书来看,这个好办,市面上大部分书都是入门的书,要把基本的东西搞懂,在学习的工程中要顺带写点demo,需要注意的是,demo要自己写,哪怕照着书上的抄,也不能直接把书中的demo运行一下。这个是有很大的区别的,代码感觉必须要通过敲代码来培养,抄一遍代码和运行一遍demo效果是截然不同的,这点一定要注意。入门的书看完后,基本就可以上手做一些开发了,比如公司的一些项目啥的。到此,我们已经成为初级工程师了,这个时间一般1-3个月即可。


下面说下如何要成为中级工程师:

中级工程师这个阶段很重要,一般来说需要1年左右的开发经验就能达到。首先,要找家靠谱的公司去做android,什么是靠谱的公司,就是在里面能学到东西,可以先不考虑待遇什么的,毕竟技术有了后面待遇也就自然有了。平时在公司要认真做项目,积极主动,一切以学知识为目标,不要图轻松少做项目。同时还要学习公司内部高级工程师、架构师们写的代码,加以理解变为自己的东西。这些都是工作中的经验,除了工作,还需要在业余时间勤奋 学习才可以。业余时间是指非工作时间的其他时间,而且这个时间利用的越多,你的成长之路历程就会越短,你就能越快地提高技术。大家不要小看业余时间,甚至好多情况下,只有工作时间是远远不够的,必须在业余时间也学习才行。那么业余时间如何学习呢?给大家如下几个建议:

1. 写一个app,比如高仿系列,或者自己做一个app发布也行


2. 建立一个博客,csdn或者个人博客都行

这一条在我的眼里,是必须的,因为学习讲究总结、融会贯通,而博客刚好可以给我们一个写总结的地方。时不时把自己的知识汇总下写一篇博客出来,这对自己是一个提高,对别人也是一个帮助。这个怎么说呢,当你写博客,你就会发现一个知识你自己会了和写出来这是不一样的,能写出来才是真正地懂了。另外,当你的博客写好了,会有好多人看,这对你也是一个赞赏和激励,让你觉得你的辛勤劳动更有价值,这种利人利己的事,是一定要做的。刚开始写点基础的,慢慢就要写点难一点的,这样才能逐步提高。除了写博客,平时也要在内心中多总结、所思考才行,比如可以想想,android中所有的IPC方式有哪些等。写博客和做开源,对于提高个人知名度很有作用,而人一旦有了知名度,很多好事就都来了。这里可以阅读我之前写的一篇文章:树立个人品牌:让名企hr们主动来找你


3. 建立或者参加开源,比如github

开源的好处就不同提了,github上各色各样的开源都有,平时大家都是拿来用,但是自己写一个开源给全世界的人用,不是一个很美好的事情吗?建议大家参加开源,因为开源看起来档次比较高。我就有自己的开源,大家可以参看一下:https://github.com/singwhatiwanna


4.研究android中一些高级的概念、源码等

这个是很重要的,除了量变外,还需要质变。作为一个中级工程师,必须在核心技术上也有所提高,比如aidl、remoteviews、android内部的运行机制等


经过上面几个过程,大概一年时间,android中级工程师就ok了,下面说说如何成为高级工程师:

成为高级工程师就没有太具体了,就是把中级工程师的那几个建议,每个都做的很好,这个阶段往往需要1-2年或者更多。高级工程师的要求是:熟练掌握android api,理解android的内部运行机制,对view、activity等一些常用的android内部运行机制熟练掌握,对常见的android知识点都有涉猎,并且还能够解决一些比较偏门的问题(需要基于android的内部机制),对android的性能调优和适配有认识,代码风格较好并且具有一定的设计模式,在工作上除了技术还要有业务的理解,能够指导初中级工程师,在工作中能够独挡一面。同时在解决问题的能力上达到一个全新的档次,即能够用恰当的手段去解决无法google出来的问题的答案。这个解决问题的能力的档次,这个有点抽象,但是的确很重要,它决定了一个人的档次,具体的需要大家慢慢体会,当技术达到一个档次后,你就可以轻松解决一些疑难杂症。


关于整个周期,从初级到高级大概要2-3年,或者更久。这么说,业余时间利用的越充分,这个周期就会越短,你的个人价值就会越高。虽然说起来简单,但是努力的过程是很艰辛的,但是只要你坚持去努力,很快你的生活就会不一样,相信这一点,谁都知道要努力才能有所收获,但为什么还是好多人没收获呢,原因是努力是不容易的,是要花时间的,是比看电影玩游戏要痛苦很多的。不怕别人比我们聪明,就怕比我们聪明的人还比我们努力,好了,大家加油了,花的时间到了,高级工程师自然就有了。最后,再强调下努力的重要性,在一个公司里,周围人的水平都和我们差不多,要深知脱颖而出的困难程度,从那么多人中脱颖而出是很难的,因此,一定要努力,一定要逼着自己去学习,这样才有可能脱颖而出,请大家一定要有这个意识。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android学习路线:如何成长为高级工程师 的相关文章

  • 个人博客全新UI:我心中你最美

    专注前端与算法的系列干货分享 欢迎关注 微信公众号 心谭博客 xin tan com GitHub 1 前世 从 2018 年 1 月份开始 因为喜欢记录 分享 还想认识更多有趣的人 我开始着手搭建自己的个人网站 最初版本的小站的 UI 设
  • Go语言值不值得学,发展前景怎么样?

    我学习了java和golang java用了5年 无限感慨java的生态 工业级的语言 无数的解决方案 不管你是做互联网还是传统行业的开发用java开发总能解决一切很多的问题 国内巨头阿里巴巴更是把java推向了极致 golang作为一个新
  • d指针在Qt上的应用及实现

    Qt为了使其动态库最大程度上实现二进制兼容 引入了d指针的概念 那么为什么d指针能实现二进制兼容呢 为了回答这个问题 首先弄清楚什么是二进制兼容 所谓二进制兼容动态库 指的是一个在老版本库下运行的程序 在不经过编译的情况下 仍然能够在新的版
  • Linux 查看操作系统

    转载 linux查看操作系统版本信息 这个常用 放在这里备忘 转载上面的链接 一 linux下如何查看已安装的centos版本信息 1 Linux查看当前操作系统版本信息 cat proc version Linux version 2 6
  • tomcat报错 Unable to process Jar entry

    错误描述 tomcat启动报下边的这个错 错误现象 09 Jul 2019 13 34 14 635 严重 RMI TCP Connection 3 127 0 0 1 org apache catalina startup Context
  • java关于ArrayList,Vector,LinkedList,Set及其面试题+LeetCode136两种方式实现

    ArrayList ArrayList的遍历补充 将list转换为数组 使用toArray 方法将列表转换为数组 再对数组进行遍历 Test void test01 List
  • BDTC2014中国大数据技术大会

    2014中国大数据技术大会32位核心专家演讲PDF下载汇总 重磅资料 下载地址 http download csdn net detail zhongwen7710 8295907 2014中国大数据技术大会32位核心专家演讲PDF目录题目
  • EC纠删码(Erasure Code)校验码算法相比传统RAID5有哪些优势?

    EC纠删码 Erasure Code 校验码算法相比传统RAID5有哪些优势 1 EC算法是跨节点的 4 2 1的冗余允许1个节点故障而不丢失数据 RAID5一般是由节点内的若干块盘组成RAID组的 只能容忍硬盘故障 不能容忍节点故障 2
  • 大厂Code Review 流程

    提交cr的流程 检查代码风格 可以安装googlestyle或者Alibaba的一些stylecheck工具 也许各开发团队会有自己的风格规范 从mainline中同步代码 注意使用 git pull rebase 而不是 git pull
  • 如何判断是否适合学编程?

    能问出这个问题的人 肯定是心里有点想学习编程 但是又担心自己不适合学习编程 学不会反而浪费时间 那么 如何判断自己是否适合学习编程呢 可以从如下几个方面入手 1 明确自己为什么要学编程 因为不同的编程语言适用的领域不一样 比如我认识一个做互
  • 编码问题

    编码 字符 gt 字节数组 解码 字节数组 gt 字符 编码 String str 你好 byte bus str getBytes UTF 8 解码 String str1 new String bus UTF 8 System out
  • vue 软键盘弹起底部按钮顶起来的问题

    vue 软键盘弹起 底部按钮fixed固定定位的button按钮顶起来的问题 底部的button按钮被手机弹起的软键盘顶起来 影响页面美观 html的内容 div class hold div 现在data中定义一个记录高度的属性以及判断b
  • 新人如何快速高效的学习Java?

    如果是新人 不想通过培训班 想学java 那么我可以很认真的告诉你 如果你是因为兴趣学学 那么你怎么学都可以 建议你找一些零基础入门的视频来学习 先看一遍 认识一下Java是个什么东西 如果是想转行学习 靠这个来工作 那么你就要好好的制定一
  • mysql 字符集问题整理

    mysql 字符集问题整理 一直对mysql字符集没有明确的概念 mysql为了方便 设置了各种层级的字符集 最近在移植mat数据库时 顺便把这个问题整理清楚 供参考和学习 文章最后有word版本 有两张图片以及不同文字的颜色区分 首先是M
  • 作为技术岗位面试官的一些分享

    我在过去的四年里参与了很多公司技术岗位的面试 说实话要看出一个人的综合素质 我还真的做不到 至于其他面试官是否可以 我也不得而知 但我个人感悟是 在面试过程中 面试官更加多的是去匹配和比较 在招聘过程中 企业会根据人力需求先制定出一套招聘需
  • 逻辑综合——工艺库

    一 库文件的设置 运行DC时需要用到的库文件有 目标库 target library 链接库 link library 符号库 symbol library 算术运算库 synthetic library 1 目标库 目标库是综合后电路网表
  • 从Java到区块链:如何成为区块链开发人员

    最近这些天 区块链是每个开发人员的谈资 来自各个领域的许多软件开发商现在正试图进入区块链市场 我们与Mobilunity的区块链软件开发人员Eugene Kyselev 讨论了他是如何走出区块链开发方面的第一步的 希望对大家有所帮助 JAX
  • 微信小程序从后台拿数据并成功展示到前台——demo

    项目结构 我没有使用index文件夹 使用了自己创建的test文件夹 1 创建好页面之后配置app json 2 前台页面 3 页面的js 4 页面展示效果 5 后台代码 一开始还想自己进行json转换 发现有线程的注解可以使用达到对象和j
  • 敏捷开发概述

    一 历史背景 20世纪60年代 软件规模小 已作坊式开发为主 20世纪70年代 硬件快速发展 软件规模和复杂度不同以往 引发软件危机 20世纪80年代 引入瀑布模型 以过程为中心分阶段控制软件开发 20世纪90年代 软件开发过程日益变重 开
  • java入门的第一个程序代码 hello world

    很多人说 学Java真的很难 其实 这是真的 但是高薪之所以为高薪 就是因为它比普通的活难的多 今天是我第一篇的博客 我还是想鼓励想学java技术的小伙伴一起来学 很多事只有去做了 你才能知道自己能不能成功 好了 接下来看Java入门的第一

随机推荐

  • Python数据分析与大数据技术与应用高级教程

    Python数据分析与大数据技术与应用高级教程 教程地址 https www piaodoo com 课程目标 虚拟现实 增强现实及混合现实技术既密切相关 又有显著差别 培训课程旨在帮助学员深入理解这三者的思想精髓及其统一技术构架 梳理出V
  • Hexo 完整使用教程

    官网 官网地址 https hexo io zh cn 环境 1 node hexo 基于 node 所以首先要安装node环境 2 npm 包管理工具 环境配置请参考本站对应安装教程 快速开始 安装 hexo npm install g
  • Mysql数据库内联查询、左连接查询、右连接查询、自连接查询介绍

    目录 一 内联查询 1 inner join 只查询键值一致 交叉 的部分 2 演示 二 左连接 1 left join 以左表为标准 查询输出左表中没有的字段信息 2 演示 三 右连接 1 right join 以右表为标准 查询输出右表
  • 区块如何防篡改_一种区块链防篡改技术的优化方法与流程

    本发明涉及区块链技术领域 具体涉及一种区块链防篡改技术的优化方法 背景技术 区块链是比特币等数字虚拟货币的底层技术 通过去中心化的数据记录 由全网所有的节点共同维护数据 实现安全地存储数据 具有不可伪造性 不可篡改性 可追溯性 匿名性等特点
  • Java编程练习之:水仙花数

    文章目录 1 题目 2 思路 3 代码 4 运行结果 1 题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 2 思路 这
  • 线程池的简介说明

    在多线程应用程序开发中 如果我们不使用线程池 则每次创建和销毁线程将会消耗宝贵的CPU 内存资源 所以我们必须创建一个线程池 线程池的功能 线程池用于管理线程 用于减少系统资源消耗 创建一个线程池 实现思路 借助线程池类Executor 借
  • Java Map集合 体系

    1 Collection集合 1 1 常用集合的体系 mermaid svg dmg6k5CugOsij3Ax label font family trebuchet ms verdana arial font family var mer
  • openGL之API学习(九十四)几何着色器的几个参数设置含义

    设定输入几何图元的类型 比如GL TRIANGLES glProgramParameteriEXT program GL GEOMETRY INPUT TYPE EXT inputGeometryType 设定输出几何图元的类型 比如GL
  • Leetcode之KMP字符串算法

    针对题目28题 实现strStr 功能找出needle在haystack字符串的第一个位置 否则返回 1 当然有暴力法 但是时间复杂度是O mn 而KMP算法提前计算出needle字符串的重复数据加以利用 j能够有效的回退到可能的位置 时间
  • 树干树叶点云分类

    将扫描的树木点云的树干树枝和树叶分类出来 后续放出程序代码
  • Cluster & Docker

    操作系统解决主要问题之一就是如何在一台机器上调度硬件资源 比如为一个进程分配cpu gpu 存储资源等 使得进程可以高效 按照预期地完成运行 云和互联网解决的主要问题之一是如何在多台机器之间调度硬件资源or调度信息资源 这就产生了更丰富架构
  • SpringCloud最新版环境集成-2021年11月

    总述 之前搞过SpringCloud项目 但版本是netflix维护的伦敦地铁站名称的版本 现在想做一下笔记 并尝试最新版本 看有什么变动没 结果还真有一堆坑 此项目集成了eureka feign ribbon hystrix zuul五大
  • 在.Net 6项目中设置MySql数据库的连接配置文件appsettings.json及在Program.cs中读取配置文件并向DI容器注册服务。

    1 配置一 配置好ConnectionStrings 通过ConnectionString动态读取ServerVersion 推荐使用 appsettings json ConnectionStrings MoviesDBContext s
  • MFC + 自定义类的序列化与反序列化

    使类可序列化需要五个主要步骤 从 CObject 派生类 或从 CObject 派生的某个类中派生 重写 Serialize 成员函数 使用 DECLARE SERIAL 宏 在类声明中 定义不带参数的构造函数 为类在实现文件中使用 IMP
  • SQL 删除表数据行与重置自动增长字段

    delete 语句 delete from tablename 表名 where ID 列名 x 表示删除数据表中ID列的值为x的数据行 在ID列设置了自动增长主键列的情况下 这种删除方式将会保留该数据行所占用的自动增长值 此后添加数据时此
  • Linux内嵌链表(sys/queue.h)详解

    Linux 内嵌链表 sys queue h 详解 queue 简介 SLIST STAILQ LIST TAILQ CIRCLEQ 例程 queue 简介 C语言不像C 语言可以使用STL 在编程中需要用到链表时 通常需要程序员重新设计链
  • java中数据库重连

    当数据库重新启动 而导致程序无法连接 需要重启tomcat才能重连的解决办法 方法一 将连接池由DBCP改为C3P0 c3p0连接池本身具有数据库重连机制
  • 传统的目标检测算法

    1 基于滑动窗口的目标检测算法 滑动窗口 gt gt 特征提取 gt gt 分类器 图 滑动窗口目标检测流程 对输入的图像设置不同大小的滑窗 确定步长遍历整个图像 每次滑动完成后对当前选择框进行特征提取 SIFT HOG等 并使用事先训练好
  • python+opencv学习之路(一 )学习打开图片

    python opencv学习之路 一 学习打开图片 载入opencv和numpy模块 import cv2 import numpy as np 读取图片 img cv2 imread 1 jpg cv2 IMREAD COLOR 1 j
  • Android学习路线:如何成长为高级工程师

    博主参加了2014 CSDN博客之星评选 帮我投一票吧 点击给我投票 前言 之所以写这篇文章 是因为最近博客和我的开发群 215680213 中 不少小伙伴都让我讲讲android学习路线 所以我决定写一篇博客 来说明这个问题 既然有不少小