2021-08-28-front-end-career-questions


文档摘要

标题:前端职业问题 链接:front-end-career-questions 作者:杨顺·泰 作者职位:Facebook工程主管 作者网址:https://github.com/yangshun 作者头像网址:https://github.com/yangshun.png 标签:[前端, 职业] 隐藏目录:是 最近,一位在新加坡初创公司工作的初级前端工程师联系了我,想了解作为职业的前端开发前景。 我的经理告诉我,目前在组织里,为更高层级或更高个人贡献者(IC)级别的前端工程师定义要求与期望有点困难。既然你目前在Facebook工作,我想了解一下那里针对前端工程师的更高IC级别有哪些要求与期望呢?

标题:前端职业问题 链接:front-end-career-questions 作者:杨顺·泰 作者职位:Facebook工程主管 作者网址:https://github.com/yangshun 作者头像网址:https://github.com/yangshun.png 标签:[前端, 职业] 隐藏目录:是

最近,一位在新加坡初创公司工作的初级前端工程师联系了我,想了解作为职业的前端开发前景。

我的经理告诉我,目前在组织里,为更高层级或更高个人贡献者(IC)级别的前端工程师定义要求与期望有点困难。既然你目前在Facebook工作,我想了解一下那里针对前端工程师的更高IC级别有哪些要求与期望呢?(也许可以参考IC4、IC5及以上级别,如果你那边也是这样的划分的话)

对于规模较小的公司来说,这可能确实如此,但只要你不限于只做前端工作,还是有可能晋升的。职级的提升主要取决于工作范围和复杂度。IC3(初级工程师)负责具体任务,IC4(软件工程师)负责功能开发,IC5(高级软件工程师)负责项目,IC6(资深软件工程师)负责跨团队的大型项目,IC7(资深资深软件工程师)负责跨整个组织的项目,IC8及以上(首席软件工程师)则负责跨公司的项目,甚至影响整个行业。如果你能证明自己有能力胜任这种规模的工作,那么获得相应级别的薪酬应该没有问题。不过,我这里给出的大致参考标准是针对像Facebook这样拥有数万名工程师的公司。如果只是做一项影响全公司十人的工作,那大概不会达到IC8的水平。顺便提一下,React核心团队大部分由IC5/IC6组成,还有一位IC7。Flow团队有不少IC5和IC6,因为它的技术非常复杂,影响着整个公司编写JavaScript的方式。GraphQL则有许多资深工程师,而GraphQL的创建者目前已经是总监(相当于IC8级别)。

现在你还在大量从事前端相关的开发工作吗?无论是公司内部还是个人项目?如果是,我想了解一下你经常做些什么,以及你尤其喜欢前端开发的哪些方面?

我目前仍在工作中大量从事前端开发。自从不再把Docusaurus作为副业来搞之后,个人层面的前端开发就少了很多。你可以去我的GitHub看看我做过的一些项目。在工作中,我负责oculus.com,并且搭建了它的基础设施。我还为内容开发者打造了一个React组件的设计系统,方便他们开发营销页面。

我真的很喜欢前端开发的方方面面,或许除了优化性能之外。在Facebook,我们开发了许多前端相关的工具(比如Jest、GraphQL、Flow)和库(我们内部的CSS-in-JS解决方案、Docusaurus、React、Flux等),这些对我来说特别令人兴奋。即使是在前端开发领域,也有不同的层次——面向用户的部分(HTML/CSS/视觉相关代码)和后端部分(JavaScript代码、网络层、存储),还有各种工具(ESLint、Babel、TypeScript、webpack)。我自称为全栈前端开发者,因为我对整个前端栈都比较精通。尤其是工具开发让我特别兴奋,因为那里的问题既有趣又充满挑战。通常只有大公司才会遇到这类问题,因为它们只会在大规模场景下出现。因此,我很喜欢在Facebook工作,因为Facebook正是这样一家大公司。

从个人角度讲,你有什么建议可以帮助前端工程师更好地成长吗?有没有一些特别值得推荐的领域?

一定要扎实掌握基础知识。市面上有很多UI和CSS库,但一个优秀的前端开发者仍然需要懂得如何不借助这些库也能搭建网站。不妨深入研究抽象层之下,理解这些库试图解决的问题,不要盲目使用它们。多动手实践——试着自己实现那些你常用库的简化版,开发有趣的用户界面和产品等等。

你如何看待广度与深度的发展?比如,你觉得软件工程师是否有必要了解自己当前所处领域以外的其他技术?特别是,你如何看待一名懂后端的前端工程师(即全栈开发者),或者一名懂移动端开发的前端工程师(随着React Native或Flutter的兴起)?

我在另一篇博客文章中已经稍微回答过这个问题。如果你读完那篇文章后还有疑问,欢迎随时问我。

免责声明
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。


作者与出处
原作者: yangshun
来源:yangshun
许可证:MIT
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: yangshun 转发
评论区 (0)
U