程序员练级之路(持续更新)
- 1.前言
- 2.正文
- 一、入门篇
- 二、程序员修养篇
- 三、专业基础篇
- 四、软件设计
- 五、高手成长篇
- 六、职业规划
1.前言
17年本科毕业之初我还是做硬件的(嵌入式C语言开发,无人机C++开发),我可以熟练的编写单片机代码,但是面对新的需求,更高的性能,还是感觉力不从心,相信很多小伙伴不管是做软件的还是硬件的都有过这感觉,这感觉让人很不爽,我也一直在探索原因,我潜意思知道是因为基础,但是到底是什么基础(海量的知识,纷繁错杂的学习曲线真不是好选择的),我得方法就是不停的学习,看前辈的方法,在实践,这样循环往复。
然后机缘巧合看了 陈皓 老师的 程序员练级攻略(2018) 这篇文章,很有启发。于是在极客时间也买了老师的专栏,按陈皓老师的话说这个是他20的学习总结,作为一个技术人应该抱着10年甚至更久的目标去学习,所以我就是在此基础上也梳理一个我自己的学习路线,希望也给有困惑的小伙伴以帮助。
2.正文
一、入门篇
- 零基础启蒙
- 编程入门
2.1 入门Python
2.2 入门JavaScript
2.3 入门 Linux(更新中) 玩转Ubuntu
2.4 入门Web 编程(搭建个人网站)
2.5 汇编语言(选学,深入底层需要)
- 正式入门
3.1 网络协议
3.2 数据库
3.2.1 关系型数据库(以 MySQL 为例)
3.2.1 非关系型数据库(NoSQL)
3.3 版本管理工具(Git & GitHub)
二、程序员修养篇
- 英文能力
- 问问题的能力
- 编程规范
三、专业基础篇
- 编程语言
1.0 汇编语言
1.1 C 语言
1.2 C++
1.3 Java
1.4 Go 语言
- 理论学科(只列举计算机四件套,实际需要的更多)
2.1 数据结构与算法
2.2 计算机网络
2.3 操作系统
2.4 计算机组成原理
- 系统学科(是指系统层的思考能力)
3.1 操作系统
3.2 网络系统
3.3 数据库系统
四、软件设计
- 编程范式
1.1 面向对象编程
1.2 函数式编程
1.3 指令式编程
- 设计模式
五、高手成长篇
- 系统底层(主要是Linux )
- 分布式架构
- 微服务
- 容器化和自动化运维(Docker 和 Kubernetes为例)
- 云计算(以 AWS 为例)
- 机器学习和人工智能
- UI/UX设计
- 技术获取能力
六、职业规划
- 找到喜欢的职业
- 面试攻略