前几天后台有读者问我这样的问题。他在一家互联网公司工作3年了,每天都很忙,事情又多又杂。

本想着学习多一些东西也不是坏事,可到头来一无所获,什么都没学会,满腔的热情也被消磨得差不多。

三天两头动辞职的念头,但又不知道自己还能做什么,甚至开始后悔:

如果当初选择另一个行业,是不是就会好一点呢…

想到后面的路,完全不知道下一步该怎么走,只有「迷茫」二字横在心头。

其实这样的问题,几乎每 10 个人里就有 7 个人会问。

有研究表明,在职场中,至少 40% 的人在迷茫期,50% 的人在自我怀疑期,10% 的人在无计划期:

  • 迷茫期:没有目标,不喜欢自己的工作,没有动力

  • 自我怀疑期:觉得自己能力不行,想提升自己但不知道应该学什么

  • 无计划期:有明确的目标,但是不知道该具体怎么去做

不管你中了以上哪一点,其实都在说明一个问题:找不到目标,没有时间,没有方法。

因为没有系统成长的方法,很多人只能毫无目的的努力,接着迷茫、辞职、跳槽,陷入恶性循环。

如果此刻我们及时做好个人发展计划,不再被事情「推着走」,当然能在正确的道路上一路开冲,实现爆发式成长。

工作迷茫的时候,最应该干些什么?

做好个人发展计划,找到学习的方向。通过一份专属的职业规划,和可执行的方法,实现自己的职场目标。

简单说,就是你清楚知道自己要去哪里,利用地图路线和先进的交通工具,你当然可以安全、快速抵达目的地。

所需的技能,我整理成了一个学习思维脑图,还有相关的PDF资料,没有学习方向,或者需要建立自己知识体系的,都可以在我的GitHub里获取一下!







遇到瓶颈怎么突破进阶

之前不少人都问我同一个问题,就是我学习Android有两三年了,但是遇到瓶颈了,感觉没什么进步,到底怎么才能进阶呢?

我相信有不少人遇到这样的困扰,那么今天我就以一个过来人的身份给大家解答这个问题。

1.看一些进阶的书籍

看书是每个阶段进步必备的过程,但是这个阶段你需要看的是一些进阶类的书籍了,不管是关于Java还是关于Android,你需要看一下以下书籍:

「Thinking In Java」

也许之前你看过,但是我相信对于一些高深的知识你肯定没理解,这个时候再回头看一下这本书,估计又是一番收获。

「Effective Java」

这本书堪称Java进阶必备,里面教你一些你不知道的Java技巧,以及一些常用的设计模式与原则,真正教你如何优雅的写Java。

「Android开发艺术探索」

这本书是面向Android中高级工程师,里面讲到的一些知识点与技能很不错,Android进阶必备。

2.阅读Android源码,理解一些高级概念

Java语言进阶了,同样关于Android你也需要进阶,并不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理。

我整理了一份《Android开发相关源码精编解析》,需要的朋友都可以在我的GitHub里获取一下,无偿分享。

3.坚持写博客

中级工程师不只是一味的去做事、学习,其实更多的需要对知识的总结与归纳,而写博客是最好的手段,坚持写博客其实就是对你知识体系的回顾与总结,很多时候你对某块领域自认为掌握了,但是能写出来,并且能让别人看懂,那才是真正的熟练掌握呢,不说别的,就说一些IT界业内的大牛一般都有自己的博客,那些博客文章才是你知识沉淀的最好见证。

4.在GitHub上参与开源项目

我曾无数次提醒大家GitHub堪称程序员必备,聚集了全球各个领域的程序员,在上面你可以直接阅读Google、Facebook顶级公司的开源项目,可以一睹顶尖工程师的风采,在这里你绝对打开了另一扇世界大门,你可以阅读大牛源码,并试着贡献自己的代码,走出第一步,多参与,多交流,那句话怎么说来着:「与优秀的人接触,自己才会变得优秀。」同样的道理,阅读大牛们的代码多了,自己不知不觉中就会成长进步。GitHub并不仅是一个名片,更是进阶必备神器!

最后

本文梳理了Android 开发者进阶过程的学习思路和一些我个人的建议。要详细学习这些知识点还需自己去看书、看博客、查资料等。当然了,本文所列出的知识点还不完全,要比较系统的学习。

我这边整理了一套全网最全的Android开发核心知识笔记,需要的可以去我的GitHub里获取一下,无偿分享,只需要大家点赞支持一下。

方法对了,你做1年Android开发能顶别人做10年的更多相关文章

  1. Android开发人员必须掌握的10 个开发工具+应该深入学习的10个开源应用项目

    一.Android开发人员必须掌握的10 个开发工具 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. ...

  2. Android 开发人员必须掌握的 10 个开发工具

    Android 开发人员必须掌握的 10 个开发工具 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. ...

  3. Android开发中用友盟做分享的一些坑

    仅限于用5.1.4版本的 按照友盟分享的API在自己的代码中修改: 1.微信分享需要打包APK文件,数字签名与微信开发申请的要一致 2.此name中属性不能修改 value为友盟的申请的appkey ...

  4. java生成四位随机数,包含数字和字母 区分大小写,特别适合做验证码,android开发

    private String generateWord() { String[] beforeShuffle = new String[] { "2", "3" ...

  5. Android开发必须知道SERVICE的10件事

    这些年我在和其他安卓攻城狮交流时经常谈到的一个话题就是Service组件被开发者错误地理解,不管是新手还是老司机.这篇文章就是交流的成果. 这篇文章不会讲解Service的使用方法,这个要去看官方的( ...

  6. 在android开发中使用multdex的方法-IT蓝豹为你整理

    Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...

  7. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  8. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  9. android 开发环境搭建 (转)

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环 境去学习,Android的更新速度比较快了,Android1 ...

随机推荐

  1. 腾讯云TKE-基于 Cilium 统一混合云容器网络(下)

    前言 在 腾讯云TKE - 基于 Cilium 统一混合云容器网络(上) 中,我们介绍 TKE 混合云的跨平面网络互通方案和 TKE 混合云 Overlay 网络方案.公有云 TKE 集群添加第三方 ...

  2. 三代码使用QScrollArea

    QScrollArea是QT封装好的一个滑动界面类 构造函数如下: 指定一个父对象就行,构造函数提供一个滑动的区域,但是这个区域里是没有内容的,构造函数介绍里面让我们看setWidget()这个函数, ...

  3. ABP Framework:移除 EF Core Migrations 项目,统一数据上下文

    原文:Unifying DbContexts for EF Core / Removing the EF Core Migrations Project 目录 导读:软件开发的一切都需要平衡 动机 警 ...

  4. 8、linux常用命令

    8.1.pwd: 显示当前的路径: -L:显示逻辑路径,即快捷方式的路径(默认的参数): -P :显示物理路径,真实的路径: 8.2.man: 命令的查看: 8.3.help: 命令的查看: 8.4. ...

  5. 3、dns服务搭建

    3.1.dns服务简介: 1.DNS(Domain Name System)域名系统. 目前提供网络服务的应用使用唯一的32位的IP地址来标识,但是由于数字比较复杂.难以记忆,因此产生了域名系统(DN ...

  6. Docker:Docker的Run命令使用时报错

    命令报错:WARNING: Your kernel does not support swap limit capabilities, memory limited without swap. 这是因 ...

  7. 黑马c++基础的一个通讯录系统

    前言: 代码写的挺简单的,更像是c语言的课设,然后没有持久化的东西,之前也写过一个类似的,不过我写的纯c语言大概有1700多行,把信息全用文件存起来了, 所以如果要写完整的话,最好还是用数据库或者文件 ...

  8. Oracle如何以逗号分隔的字符串拆分为多行数据

    近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参考.指教. ...

  9. asp.net mvc请求流程

    收对应用程序的第一个请求 > 执行路由 > 创建 MVC 请求处理程序 > 创建控制器 > 执行控制器 > 调用操作 > 执行结果

  10. CF1539A Contest Start[题解]

    Contest Start 题目大意 有 \(n\) 个人报名参加一个比赛,从 \(0\) 时刻开始每隔 \(x\) 分钟有一个人开始比赛,每个人参赛时间相同,均为 \(t\) .定义一个选手的不满意 ...