成为一名优秀工程师需要的条件

最近我接触了很多新事物,如何用 Node.js 写接口、Mysql 的多表查询改怎么写等等。在某种程度上我已经忘记了很多前面所学的 React 知识了,只能靠联想出来,我还没有正真领悟的真谛。
所以我写下这篇文章,我想要成为一名优秀的工程师需要真正领悟到某项事物的原理。它是如何做到的🤔。但这也是颇具挑战性的。

原理

你知道单纯学会一样东西很容易,但要想掌握其原理就要困难的多。像我知道 React Hooks 不过是对函数的封装成高级函数。但我不知道的是如何实现。
要想知道理解 React 原理并不是一件容易的事。即使是用 React 开发项目一两年的人也不一定知道其原理。
至于为什么要理解原理,因为仅凭学会,很久不用也是会忘的一干二净。而理解完后你就会知道什么时候该调什么样的函数、这段代码该如何优化、具不具备复用性。
怎么样才能学会原理呢,多阅读源码、书籍。看着别人怎么做,怎么实现。自己一点一点的去模仿。像著名的 Node Web 框 Express、Koa的作者 TJ 曾说过这样一句话:I don’t read books, never went to school, I just read other people’s code and always wonder how things work。
由此我得出结论,成为一名优秀的工程师需要了事物的本质,以及它存在的意义。

接受

想成为一名优秀的工程师,必须接受事物的发展。以前总会抱怨要学的东西太多了。但仔细想想拥有这么多好的技术,何尝不是一件幸福的事呢。只需要专注自己擅长的领域发展就行了。而不是跟风,什么热门学习什么,像最近很火的 Rust 语言,即使是 Vue.js 的团队成员很多也是学不会的,这可不是我说的,这是他们在网上说的,不过如果你能学会 Rust 那么你的薪资一定不会低,否则这一切都是空谈。
琢磨自己擅长的领域,如在大前端中有的人擅长做数据可视化技术、有的人擅长工程化配置、有的人擅长页面架构等等。在根据自己擅长的领域深入学习,接受一切新事物。如 2020 年发布的 Vite ,哔哩哔哩、腾讯视频等这些网站都已经采用了这门技术。还有最近很火的 Next.js 框架。
所以要想成为一名优秀的工程师,要能保持接受一切新鲜事物。

心态

要保持一种乐观的心态,虽然我有时会被一些 Webpack 报错而感到恼羞成怒💢,有时又会觉得 ESlint 的语法检测有毛病,有时又会因为代码提示的不友好而放弃继续写下去等等,我似乎有很多话想说🥹。但转念一想,Webpack 的报错也许我能解决但是因为看不懂报错的英文句子而已,ESlint 语法检测报错可能是因为它不支持最新的 Vue 语法亦或是需要在配置项关闭某些服务。
在工作中我们也要保持这种心态,写不出来的代码,跳过去。保证主要的业务能正常运行就行了,回头在去想想,实在不行,还有组长&技术总监顶着,交给它们。况且要明白公司用我们不过是一时而已,项目稳定正常运行还能保持盈利还好,如果盈利不了或不符合预期,指定裁员。最主要还是为了提升自己。
总结要想成为一名优秀的工程师需要具备良好乐观的心态。
综上所述,这是我对一名优秀的工程师的理解。