这是一个发布在Quora上的问题,提问者问到:“作为一个软件工程师,想要生存下去,在未来的 5-10 年内有哪些必须掌握的技能呢?例如人工智能?高等数学?”
下面是一位曾经在 Facebook 和 Google 工作过,目前在 Uber 就职的程序员 Pedram Keyani 的分享,目前已获得 3500+ 的赞:
如果你的目标是成为一名通用软件工程师,那么未来 5-10 年需要掌握的技能与过去 5-10 年并没有什么太多的差别
通用技能:
- 深刻理解计算机科学的基本原理
- 数据库
- 网络技术
- 编译器
- 数据结构
- 算法
- 操作系统设计
- 分析能力
- 能够把大问题分解为小的问题
- 顺序和需要完成的工作的优先级
- 与团队的合作(有意义的工作是以团队为单位进行)
专业技能:
如果你想适应行业发展趋势或者认为现实世界需要计算机技术,那么你可以专注于机器学习、计算机视觉、移动开发或分布式系统(物联网)。
对于机器学习我有一点警告。大多数人认为这是一个热门的领域(它确实是),但是机器学习实际的应用需要依赖于强大的操作系统设计,即有效的利用内存、IO、以及不驻留在机器分类上的提取功能。大多数研究课程都集中在底层的分类,但真正神奇的是如何将它们应用于现实世界的问题。
本文选自《开发者头条》1月14 日最受欢迎文章 Top 3,感谢作者 WEB 资源网 分享

一位曾在Facebook和Google工作的资深程序员Pedram Keyani分享了通用软件工程师在未来5-10年需要掌握的核心技能,包括但不限于:深刻理解计算机科学基本原理、数据库、网络技术、数据结构、算法等。他还提到了专业技能的重要性,如机器学习、计算机视觉、移动开发或分布式系统等,特别强调了将机器学习应用于现实世界的挑战。
5363

被折叠的 条评论
为什么被折叠?



