前几天后台有读者问我这样的问题。他在一家互联网公司工作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. nginx服务跳转

    1.什么是页面跳转 将URL信息做改变 将URI信息做改变 完成伪静态配置 2.实现页面跳转的方法 http://nginx.org/en/docs/http/ngx_http_rewrite_mod ...

  2. 1、centos7修改网卡名称为传统的eth0

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]#mv ifcfg-ens ...

  3. 部署JAX-WS Web服务作为战争中的Apache Tomcat(Deploying JAX-WS webservice as War in Apache Tomcat)

    问 题   I have developed a webservice using JAXWS and able to run it from the eclipse on Tomcat 7 with ...

  4. redis学习笔记(二)——java中jedis的简单使用

    redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...

  5. nmon工具安装及nmon analyser的使用

    步骤一:下载nmon及nmon analyser工具 nmon:http://nmon.sourceforge.net/pmwiki.php 根据自己系统的版本下载相应的版本即可 nmon analy ...

  6. WPF教程三:学习Data Binding把思想由事件驱动转变为数据驱动

    之前大家写代码都喜欢用事件驱动,比如说鼠标输入的click事件.初始化的内容全部放在窗体加载完毕的load事件,等等,里面包含了大量的由事件触发后的业务处理代码.导致了UI和业务逻辑高度耦合在一个地方 ...

  7. kong插件Prometheus+grafana图形化展示

    目录 1. 准备工作 3. 为kong添加 prometheus插件 4. 打开kong的metrics支持 4. 配置prometheus.yml添加kong提供的数据信息 5. 在 Grafana ...

  8. python使用笔记16--操作redis

    操作redis应先引入第三方模块 执行以下命令 pip install redis 1.redis常用方法 1 import redis 2 #decode_responses=True将bytes转 ...

  9. C语言:判断整除

    if (aa%10==0)来判断 不能用if (aa/10==int(aa/10)) 判断

  10. Java基础00-接口组成更新31

    1. 接口组成更新 1.1 接口组成更新概述 1.2 接口中默认方法 代码示例: 需求: 1:定义一个接口MyInterface,里面有两个抽象方法: void show1(); void show2 ...