“你们程序员不就是修电脑的吗,你牛什么牛?(1)
但我之前写的大多数文章,都是毫无知识涵养的,所以,我一度断更了很久,虽然当初我每一篇文章都有很认真的写。
除了博客学习,一些同学还会选择一些在线教学视频网站,比如 mooc 网,网易云课堂,腾讯课堂,扣丁课堂等。这些网站上通常都有成套的语言教学,老实说,这上面的部分课程质量确实比学校教学的更加全面一些,但“高昂”的价格,让大部分同学还是选择了放弃了这一“捷径”。
所以一部分同学把希望寄托给了书籍。
**读书是一个好习惯,书籍也是一个好东西。**很多专业性的书籍,都写的非常好,也非常全面,因为是文字性的描述,所以相对于视频学习起来时间成本更低。但书籍的内容质量也是良莠不齐,除去其他同学的推荐,自己很难真正感悟到书籍的内容对自己的帮助。这时候建议你就需要看一下《如何阅读一本书》,提升自己的读书效率。但又发现,读书真的很难坚持。
大多数人把上面这种方式归咎为没有学习氛围,无法驱使自己认真学习,加上没有健全的交流群,没人给自己解惑,有些书籍偏向于基础知识的讲解,根本学不到真正的实践技术。
所以一部分同学把希望又寄托给了培训机构和一些专注于提升能力的收费课程。
大部分知识付费的项目还是非常不错的,比如扔物线朱凯的 HenCoder Plus,比如腾讯课堂上的享学课堂 Android 进阶课等。但比较遗憾的是,它们可能都是为大多数人制定的,而缺乏私人定制,可能并不适合现在的你。
二、顿悟:知道自己不知道啥
大多数人工作 3 年后,会陷入这个阶段:知道自己不知道啥,明白自己的薄弱之处。 这个时候其实很好办,因为自己知道问题出在哪里,当然好对症下药,刚好我也就是处于这个阶段。这个时候不管是去选录播直播加答疑形式的 HenCoder Plus,还是选轻付费的享学课堂 Android 进阶系统课,都是合适的。
这个阶段的同学最大的问题是时间不够用,所以选择以上的学习方式其实就是花钱买时间而已。大多数这个阶段的同学可能都已经濒临成家养家的压力,生活中的琐事和压力都多了起来,工作中可能也已经成为主程,除了要完成一些技术难题的攻坚,可能还需要指导一下新人,所以一定会出现时间极度不够使用的情况。
时间不够是最难解决的问题,可能也是最好解决的问题。时间确实就像海绵,挤挤总
是有的,即使有时候我们会出现挤不动的情况,但那一定只是一个短期状况。
这个阶段的同学最需要读书,因为这些同学通常都已经有了自己的知识体系,也明白自己的薄弱之处在哪里,这时候就需要做专项提升,越到这个阶段,就会越发现基础知识的重要性。 很多东西,真的需要学懂本质,这也是为什么大多数面试官都喜欢考察基础问题,因为真的基础才是根本,一个基础优秀的同学从来都不会太差。
我也是最近半年通过部门开展的读书活动才爱上了读书,书读百遍,其义自见是真理。很多书籍需要你反复软磨硬泡几次,每一次阅读都是一次认知的提升,而认知的提升最终会带给你财富的变现。
三、瓶颈:不知道自己知道啥
工作很久后,不少工程师会陷入第三个阶段:不知道自己知道啥。 这时候,因为大多数知识已经成为了自己的血肉,很多设计理念和架构都会让自己觉得理所当然,但真要较真起来,可能自己也弄不清楚到底是源自于哪里。
很多时候,这些同学会更加明白自己的不足之处在哪里。但时间却更不够用了,他们大多数都已经成为了团队的领袖,成为了队伍的灵魂,开始负责起团队的大小事务,不能只关注到技术本身,而要关注很多技术之外的东西,比如产品感,项目推动能力,管理能力。大多数时候,Leader 决定了团队的天花板,一个好的 Leader 能让团队的天花板更高。
但非常尴尬,这个阶段的同学基本都有了自己的孩子,需要拖家带口,需要处理人情世故,很难再把技术做的足够纯粹,即使很明白自己的技术不足之处在哪里,却很难抽出时间去处理,因为这时候,可能软素质的提升才是当务之急。
总结
总的来说,一名工程师都会经历上面的三个阶段,我们不能去扭转什么,我们唯一能做的,通过学习缩短这个周期,让每个阶段提前,这样才可以让自己有更多的精力和时间投入到技术当中去。最后的最后,给大家在做些分享,希望能帮助到正在处于第二、三阶段的朋友们。
我自己之前在技术瓶颈阶段,报名过享学课堂的课程,让我在短时间来成功跳槽阿里 P7。再征得官方的同意下,给大家个福利,也算是给他们做个宣传,分享一些他们内部的进阶学习路线及文档学习资料给大家!
架构师筑基必备技能
目前 Android APP 开发主流语言就是 Java 语言,Java 语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用 Java 语言来进行编写的。
知识要点:1、深入理解 Java 泛型 2、注解深入浅出 3、并发编程 4、数据传输与序列化 5、Java 虚拟机原理 6、高效 IO
设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个 g 那么大。
所以,当今的 Android 移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:1、热修复设计 2、插件化框架设计 3、组件化框架设计 4、图片加载框架 5、网络访问框架设计 6、RXJava 响应式编程框架设计
360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI 页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对 APP 进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK 大小优化
3、开发效率优化
分布式版本控制系统 Git
自动化构建系统 Gradle
4、项目实战
启动速度
流畅度
抖音在 APK 包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德 APP 全链路源码依赖分析
彻底干掉 OOM 的实战经验分享
微信 Android 终端内存优化实践
Android 框架体系架构
Android 框架体系架构(高级 UI+FrameWork 源码) 这块知识是现今使用者最多的,我们称之 Android2013~2016 年的技术。
Android 开发者也往往因为网上 Copy 代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
本篇知识要点:1、高级 UI 晋升 2、Android 内核组件 3、大型项目必备 IPC4、数据持久与序列化 5、Framework 内核解析
NDK 模块开发(音视频系列)
NDK(Native Development Kit 缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在 Android 中,NDK 是一系列工具的集合,主要用于扩展 Android SDK。NDK 提供了一系列的工具可以帮助开发者快速的开发 C 或 C++的动态库,并能自动将 so 和 Java 应用一起打包成 apk。
本篇知识要点:1、NDK 开发之 C/C++入门 2、JNI 模块开发 3、Linux 编程 4、底层图片处理 5、音视频开发 6、机器学习
Flutter 学习进阶
2019 年无疑是 Flutter 技术如火如荼发展的一年。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
本篇知识要点:1、Flutter 跨平台开发概述 2、Windows 中 Flutter 开发环境搭建 3、编写你的第一个 Flutter APP4、Flutter Dart 语言系统入门......
评论