生存指南:开发者所必需的基本功和软技能

1,582 阅读3分钟

Hi developers👋,我叫Jim阿金,目前是一位在深圳的独立开发者,我的github地址是:github.com/betterRunne…

另外我也是论文阅读器Paperly📚和开源笔记插件Context Note📝的作者

后续打算在这里分享一些国内氛围不太注重,但对于一名开发者而言至关重要的基本功🥢和软技能🔨。或许你所在的学校和企业中并不会直接教授这些内容,但你总能从一些优秀的开源贡献者或者国内一线互联网的优秀员工中留意到这些细节,它们实际对于一名开发者走向正确的职业道路、快速成长、晋升乃至独立创业都举足轻重

在这几年职业生涯中逐渐意识到国内很多的开发者(包括曾经我自己🐷)在一些开发习惯和细节上与国外主流的体系有着不小的差距:低效和不合理的搜索、不可持续维护的代码(包括很多一线大厂员工)、匮乏的计算机底子、迷茫从众的技术路线与职业规划...更重要的是,我发现这些问题并不是经验和能力的问题,而是一些习惯和细节的问题,它们是可以通过简单的纠正和训练习得的。这也是我打算推出这个系列的主要原因:希望这些不好的习惯不再成为每一位开发者的绊脚石,让科学的计算机素养可以伴随我们整个职业生涯。

整个内容我会以知识点的形式展开,这些知识点按照属性分为基石basic软技能soft skills经验experience三个板块,下面是具体的思维导图:

developer3.png

这里面总结的内容来自我个人职业生涯的所学所得以及对一些优秀开发者的观察与探讨,不知道这里有多少戳中了你的痛点或者引起了你的共鸣?

对于开发者而言,我们有时候难免会把聚焦点更多放在专业领域内的知识和技巧,比如某个框架的源码或是某个工具的原理。但从本质来说,这些知识是具有实效性的:随着浏览器的不断优化5年后web主流框架可能不再是 Vue或者React,Rust可能会成为未来更多工具开发的首选语言,web3.0浪潮下前后端的界限可能会再次模糊...

如果我们无法从这些知识中提取出本质的基本功并不断打磨它们,面对这些日新月异的变化我们可能会感到无所适从;相反地,拥有扎实基础的开发者总是可以快速习得一个新的领域的最佳实践。(当然上述说的阅读源码和理解工具原理本身是一种非常好的习得基本功的途径和方式,这里无意弱化他们的重要性,仅做阐释用)

Frontend/Backend/Algorithm Engineer,首先他/她是一名Engineer。

编程、建筑、篮球、武术、绘画、音乐——所有的技艺都似乎如此。


后续我打算对思维导图中每一个小点做成独立的章节📖进行详细的探讨。文章的目录结构会以下图形式展开,读者可以先浏览一遍灵魂拷问❓提到的问题进行快速自检,以判断自己的掌握情况以及是否有兴趣继续了解。

image3.png

这是第一篇文章「Git-仓库管理」,欢迎直接在notion文档评论或者添加我的个人微信进群,群里会对考察👀和习题 ✏️进行讲解与答疑。

(PS: 在微信我也可以提供免费的简历点评和优化、以及职业生涯的经验分享和规划建议;另外如果你对开源🧠和创业💰有兴趣,也欢迎一起探讨!)