最近面试了一些公司,拿到了一些offer。这些offer的工作可以分为工具类和业务类。最终,我选择了业务发展的offer。本文解释了原因。上一篇讲了前端工作的五个层次:引擎层、运行时层、工具层、业务层、构建层。引擎层:自定义容器,包括JS引擎、渲染引擎等。通常用C++完成,这类工作主要集中在跨端领域。运行层:自定义前端框架、SDK。小程序和跨端引擎必须要对接前端框架,需要做一些修改。音视频等领域需要专业的团队提供SDK进行业务开发。工具层:自定义工具链。包括编译、调试、文档等。处理的对象是代码,为业务开发提供工具支持。业务层:实现产品需求。基于前端框架和工具链完成产品经理的需求。构建层:实现构建工具,支持拖拽生成代码,放到不同的环境中。目标受众是非开发人员。这是前端工作的一般分类。引擎层一般由c++或懂c++的前端开发开发。做runtime层自定义前端框架和SDK的人很少。大部分前端还是在业务层开发,小部分人在工具层工作。发展。(构建层其实和工具层做的事情差不多,只是服务对象不是开发者。)其实我个人是开始做业务开发的,只是最近几年在工具层做的东西比较多。端团队专门做工具链,包括:编译:将源代码编译成跨端引擎可以运行的代码,中间做各种lints和transform。调试:连接chromedevtools调试跨端引擎的代码,其他基于websocket的调试服务IDE:修改VSCode源码定制UI,集成其他工具。创建一系列VSCode插件来辅助开发。文档和代码生成:ts通过编译生成markdown,c++和ios头文件,android抽象类等。我离开是因为我想去华为做编程语言,但是没去,所以面试了一些front-结束位置,得到了一些优惠。这些offer岗位按照之前前端工作水平分为3类:工具层:继续编译、调试、IDE工具链,包括小程序和ReactNative。构建层:可视化构建和交付的工具。业务层:通用业务开发。最终还是选择去外企做业务开发,原因有二:工具链主要是写Node.js,写的组件比较少,离前端技术比较远浏览器。而且服务的对象是开发者,而不是最终产品的用户,离用户更远。我想更贴近浏览器和用户,我想提高编写组件的技能,所以我想做业务开发。外企的工作时间比较短,大概1065,这样我每天可以多花几个小时学习和写文章。其实主要原因是第二个原因。比起工作内容,我觉得给自己多一点时间更重要。因为我已经具备了在工具领域自主探索的能力,进入这个领域并不需要在工具上下功夫。当然,这是我个人的选择,不建议大家选择这种方式。如果要给建议的话,大概有两个:最好三年左右进大厂。你在大厂的眼光和成长速度跟在小公司是完全不一样的。比如阿里的四个前端方向:IDE、Serverless、构建、智能。这些小公司基本不会做,只有大公司才能接触。而且里面还有很多技术分享,可以开阔你的视野,丰富你自己的发展方向。大厂题材可以镀金,但更好的镀金方法应该是你的作品。所以接下来的目标应该是打造自己的个人杰作,或者是某个业务产品,或者是某个工具等等。本文主要讲一下前端工作的分类以及我对工具或者业务offer的选择。每个人都有不同的经历,不同的想法,不同的选择。如果可以选择,你是想做更多的生意还是更多的工具?【小编推荐】鸿蒙官方战略合作共建——HarmonyOS技术社区Windows11重大功能改版!Explorer将增加新功能Windows11和Windows10更新周期将同步:明年10月将有重大升级Windows11功能继续完善,飞行模式下可开启蓝牙微软、谷歌和Atlassian都增加了错误报告奖励网络安全知识了解计算机操作系统
