上午好,Jiageng Chen,
软件开发是一门系统性的、高复杂的学科。我始终认为:选择并学习何种编程语言、项目框架,完全不是这门学科的核心内容,甚至它的重要性排名相当靠后。语言和框架只是实现需求的工具,在语法细节上也许差异巨大,但设计程序的核心理念大同小异。
最重要的一定是系统性的知识框架与思维能力。就像技术工人的螺丝刀和扳手,它们是工具,用什么品牌和型号其实都没关系,用着顺手即可。一些年轻的计算机爱好者可能觉得学了 10 种语言、20 种语言,就拥有了更强的工作能力,也许走错了方向。
至于应该着重学些什么,我认为这些知识更重要:
- 计算机组成原理
- 面向对象的软件设计思维
- 软件开发流程
- 用户研究 (产品经理)
- 高等数学
- 线性代数
- 统计学
- 数据结构
- 算法
- 人工智能
- 计算机网络
- 数据库
- 操作系统
- 项目管理
- 版本控制 等
始终牢记,要做复合型人才。语言和框架,学好三四种自己喜欢且风评良好的即可,不要死磕数量。“写代码” 只占软件开发工作的一小部分,拥有系统性知识框架与思维能力的开发者在遇到需要运用新技术的场景时,完全有能力在一两天时间内掌握一门新的语言 / 框架。
另外,如果不是单纯爱好,而是想要以此为事业、以此为谋生手段,希望进入最顶尖的平台,学历非常重要。在如今的全球就业环境,没有顶尖的学历,注定会失去很多更好的机会。
衷心祝你在软件开发行业取得成功。谢谢!😀
顺颂 时祺
- Ling Gao
2021 Windows Insider 最有价值专家 (MVP),
2025 Microsoft Community Contributor & Advocate,
Microsoft Management 社区引领者,Windows 商业 & 云冠军