为什么要写【编程十年】系列文章?在前进的过程中我们需要明确目标,才能有前进的动力,此系列结合自己所相信热爱的技术规划出属于自己的【编程十年】之路。此系列会在不断实践中动态更新调整,或是个人感悟、或是知识迭代等。每个人的发展和选择不同,故此系列仅供参考。
此系列文章将分为六大块来组织内容:
- 入门篇(1年)
- 专业篇(2-5年)
- 成长篇(2-10年)
- 修养篇(1-N年)
- 人生篇(1-N年)
-
入门篇
在学习编程的第一个两年中,我学习了LabVIEW、Matlab、Java、Python、Golang、.NET、网络编程、操作系统、数据结构与算法等系列知识,这两年培养起了我对编程的极大兴趣。故结合自己的实践做出如下推荐:学习两门入门语言,这里选择自身感兴趣且入门曲线比较平滑的。我推荐如下几门语言:Python、JavaScript、LabVIEW(如果你在工控领域,此语言是入门的较好选择,屏蔽底层的细节,专注于上层的设计)、RPA(好玩的低代码平台)。
随后我们需要学习Linux操作系统(Mac-Unix也可)、编程工具Visual Studio Code、Web相关技术(Web互联网作为第三次工业革命信息化浪潮中的最大发明,我们没有理由不去了解和学习)。
最后会给出一些案例实现供大家思考,会附上源码及实现思路图供大家参考。专业篇
专业篇主要涵盖编程语言进阶、理论学习、系统知识三方面。在语言进阶推荐学习Java、.NET(个人爱好)、C、Go这四门语言,在学习过程中要去感受编程范式,同时要养成规范的编码。理论学习方面需要掌握数据结构与算法、网络模型、计算机原理等。系统知识会涉及操作系统、编译原理、数据库系统等。
最后会给出一些案例实现供大家思考,会附上源码及实现思路图供大家参考。成长篇
在夯实了专业知识后,会有不同的从业方向,主要涉及到如下这些:分布式架构、操作系统、区块链、人工智能、大数据、运维、前端、嵌入式开发、安全信息等。笔者选择的方向是分布式架构,会介绍如下这些方面:分布式系统技术栈、分布式全栈监控、服务调度、流量数据调度、Paas平台、弹力设计、管理设计等。
修养篇
有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员只能沦为码农,这是码农和工程师的关键区分点。如何培养“程序员的修养”,我觉得如下几个方面比较重要:英文能力、提问能力、代码修养、工程视角、洞悉能力、工具能力等。这些方面我会给出相应的学习资料和自身实践的方法供大家参考。
人生篇
关于人生,选择了程序员这个职业,很多时候都需要耐得住寂寞和孤独,但这份孤独让我们能够在一个人的时光里成为自己世界的建造者。人生是一段很长的路,我想,年龄从来不是衡量一个人是否成熟的标志,一个人是否成熟来源于他是否了解自己所作所为的目的,来源于他是否敢承担所做决定的后果,来源于他对自己的了解与信任程度。选择了这份职业,便意味着不断学习、勇往直前,哪怕前路多坎坷。当然我们也失去了领略其他行业的机会,但生命常有缺憾。我们既要写好代码,也要过好这一生,毕竟职业只是人生中的一部分,此系列篇章将会从以下几点来写文:
技术变现
- 领导力
- 时间管理
- 学会学习
- 高效沟通
- 世界观