平凡的回答
程序员掌握的一些技能属于通用技能,比如说数据结构,这个在不同的语言下面下核心是不变的,比如单链表,不会因为在python还是java,还是C++,都是一样的。
而有一些就属于跟语言或者领域强绑定的,有些库Python有,但是R没有,这种需要额外花点时间。
Github上有这么一个库,它讲的是对于软件开发人员的「常青树技能」,也就是不管到哪里都能用的是的技能。
它分为了技术性和非技术的技能,然后还把非技术性放在了前面,比如沟通,团队合作等等,一个人的精力毕竟有限,其次问题解决能力等也是必要的,因为技术不断在发展进步,你不可能永远保持最新的技术,只能是遇到问题然后解决。
开发者常青技能 / Evergreen Skills for Developers
│
├── 非技术技能 / Non-technical Skills
│ ├── 核心技能 / Core Skills
│ │ ├── 沟通 / Communication
│ │ └── 团队合作 / Teamwork
│ ├── 创新与(自我)管理 / Innovation & (self-)management
│ │ ├── 开发过程 / Development Process
│ │ ├── 问题解决 / Problem Solving
│ │ └── 心态 / Mindset
│
├── 技术技能 / Technical Skills
│ ├── 通用技术知识 / General Technical Knowledge
│ │ ├── 编程原则 / Programming Principles
│ │ ├── 数据结构 / Data Structures
│ │ ├── 干净代码 / Clean Code
│ │ ├── 源代码管理 / Source Code Management
│ │ ├── 技术协作 / Technical Collaboration
│ │ ├── DevOps 实践 / DevOps Practices
│ │ └── 其他知识 / Other Knowledge
│ │ ├── 语言理论 / Language-Theory
│ │ ├── 优化 / Optimization
│ │ └── 并发性 / Concurrency
│ └── 特定领域技术知识 / Field-Specific Technical Knowledge
│ ├── 前端开发 / Front-end Development
│ ├── 后端开发 / Back-end Development
│ ├── 架构 / Architecture
│ ├── 基础设施 / Infrastructure
│ └── 安全 / Security
其次就是技术技能,这就涉及到计算机的专业知识了,比如通用技术里的编程原则,数据结构,怎么写出干净、整洁、易读的代码等等。
除此以外,还有一些特定领域的知识,比如前后端开发,做架构的,做infra的,这些都需要各自特定领域的知识。
这些不同工作的技术栈是不同的,互相之间不通用。
不过现在好的地方是AI辅助编程还是很爽的
简单的逻辑可以直接生成
复杂点的也可以通过多次询问来尽可能的保证正确率。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...