毕业十年 | 这是我的学习路线图

技术有很多种,也永远学不完。不仅语言更新换代严重,技术范围也有自己的更新,今年 C 语言流行,明年 Python 风靡,今年人工智能火爆,明年物联网是风口。我一直在思考技术人就这么苦逼地一直要跟着技术的风向跑吗?有没有一条可以沉淀下来,打磨到退休的技术?

我想技术永远是发展的,但有一条路径值得学习沉淀,甚至可以做到退休。

我们暂且宏观上把程序员分为3类:业务类,专业类,系统类。

程序员分类

业务类

业务类更多的是在应用程序。随着移动互联网的快速发展出现一批 UI 设计师,这里的设计师是指 APP 的界面设计,在注重用户体验的今天对于界面的设计出现水涨船高的需求。一时间 Android, IOS 的 APP 开发者如雨后春笋般涌出,待遇也是不低。高级的应用程序员除了界面的开发外也会涉及程序内部的业务逻辑,现在的 APP 逐渐演化成很多层的架构,比如分为业务逻辑层,基本功能模块层,UI 界面层等,如下图所示:

2d3c3b2d92276222056bfdcfd77a3ce1.png

一个 APP 就包括了很多内容。如果志向写应用程序的小伙伴,我建议你先练好基本功:数据结构,算法导论,网络编程,数据库等。然后根据兴趣的行业深耕学习。因为这一行的开发者和业务联系比较大,后续换行业就不太吃香,比如美图秀秀开发者更多的是注重在图形显示这一块,网易云音乐更多的就注重在音频这一块。当然不能以偏概全,很多能力是通用的,我这里的举例主要是相对而言。应用程序开发者会随着业务的多变性经常加班 coding,解 bug。所谓的码农更多的是出现在这一领域。

专业类

7882d66adbf892977a5ed38eba62d170.png

应用程序开发者是完成业务的直接执行者,夸张的讲应用程序开发者就是 API 调用者,但这些 API 是如何实现的?不同的专业领域有不同的 API。以上图 APP 框架为例,HTTP 网络请求就是调用了网络领域的 API 接口, SQLITE 就是调用了数据库领域的 API 接口,再比如目前比较火的人工智能,语音识别,图像处理等都属于专业类领域。这一领域的工作者拥有比较强的理论知识,算法知识,多以研究生或者博士生为主。这一领域的优势是待遇高,可替代性低,但也因为研究领域的专一性在找工作时也面临一些局限性。

系统类

cb7e3ee542e01b84e0b641c8087eb962.png

这里系统主要指 linux 系统。系统是个太大的概念,有上层 framework 系统也有底层内核机制,也包括驱动开发,甚至硬件也要知道。这一领域的人更多的是在嵌入式行业。在操作系统领域对知识要求很多:

  1. 看懂电路图

  2. 看懂芯片手册

  3. 有编写,移植驱动的能力

  4. 懂内核的实现机制

  5. 懂C语言,C++, JAVA等

这一行的优势是学好后行业通杀,大公司基本都有这方面人才的需求;相对做应用程序的人不会经常因为业务需求的变动搞得天天加班;行业稳定越老越吃香,不太会出现程序员35岁职业生涯问题。另外操作系统是很通用性的知识,夸张的讲只要是 IT 行业,学点操作系统的知识肯定是如虎添翼的作用:

  1. 硬件工程师通过学习可以理解软件的运行原理

  2. APP 工程师学些系统知识更有利于走向全栈

  3. 大学生学习linux对找工作多有益处

  4. 学好 linux 即可以做开发也可以做运维

  5. 永远不会淘汰的技术,只会越老越吃香

系统学习的升级宝典

转眼,毕业也有10年的时间。回忆总结,个人觉得学习最重要的两点是自己动手,自己整理。只有这样才能把知识点在自己的大脑里形成闭环,闭环的知识体系才是真正的掌握,努力一把,受益整个职业生涯,这是性价比最高的学习方法。认知到了,下一步最重要的就是资料,没有学习资料,一切都是空谈。春节期间我用了3天的时间把极客时间的课程梳理了一遍,考虑到每个人的背景不同,这里把学习路线分为三级,分别是入门,进阶,高手。

入门

掌握基本功阶段,需要掌握通用编程基础(C语言、数据结构/算法、操作系统、计算机网络、计算机组成原理、Linux系统基础)和基本的硬件基础,打好两大基础,是后续持续发展和不断进步的动力源泉。

a9f377d46461c3cc2dd99869e48ad116.png

进阶

嵌入式应用编程阶段,需要会以特定的嵌入式平台和特定的嵌入式操作系统为依托,熟悉这个系统平台上的编程方法和流程。以常见的ARM+Linux平台为例,需要掌握从内存管理到多任务编程、文件I/O、网络编程等内容。

926d2008d52e103ec51a2987fc4cd217.png

高手

要成为嵌入式高手,需要深入嵌入式底层开发,最常见的是内核开发和驱动开发,这些统属于内核态开发范畴,所以需要对操作系统内部机制有所涉猎和理解,在此基础上需要掌握从系统移植到内核开发、驱动开发的各个细节,这是一条成神之路。

0e49e5fc8802583426b4026dfd6d5c7b.png

我不推荐你单独购买这些课程(不够划算)。我建议你和我一样直接开通一个极客时间的会员,有了会员,不管你的背景和兴趣点在哪个方向,每个领域都有15-20门的课程可供你学习。

4ad20bb4ee17b0bd625b94690286600b.png

而且除了课程以外,每日一课、大厂案例等技术视频也都解锁了。

b6b463f197124ec8db369b91f1921656.png

这几天极客邦在搞活动,一年才 499。我的粉丝通过如下二维码购买,我还会把极客的 50 元返现都送给大伙儿,一年 449 就下来了。这个会员可以多次购买,第一年买完以后会送一张 50 元的代金券。继续用下方二维码,第二年更是折合 399 就能下来,超值!

综合薅完一算,绝对超值了!长按识别下方二维码下单,下完单微信找我即可(注意:必须得通过下方二维码购买会员我这里才能收到官方返现)。

882137dabad4c3a8037e544e1b98bb95.png

这是我的微信二维码(也欢迎加我好友互相围观)

2ab3949efa8e02f9f7f5cfcc4da1e43e.png

另外如果你只对内核感兴趣,这里推荐一门《Linux内核技术实战课》,想单独下单也可以!

5fd174c40000e0a8bccadfa7f871c525.png

如下是这门课程的详细目录结构

75740089b7db87ff0990da15dcbfbf8b.png

点击阅读原文,可以单独下这门课程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值