感谢掘金&Zoe
首先感谢掘金这个帮助开发者成长的社区,从 2020 年开始写博客至今,不仅沉淀(水)了近 80 篇博客,还完成了职业生涯的小突破。最重要的在优弧大大发掘我之后,借由掘金这个平台认识了很多好朋友和大佬。其中大圣和言哥对我的影响最多,在我多次迷茫或者瞎搞的时候给出建议或者直接敲打我。
话说回此次由 Zoe 同学主办的 3 月闯关活动开启,等你来战! 活动,一开始我是拒绝的,毕竟我没有换工作的打算。Zoe 同学告诉我不求职,总是有升职加薪的追求的吧,顺手就把 闯关路线二:升职加薪 推荐给我,甚至拿出我欠优弧文章的事情来压我。嗯!我就是在 Zoe 同学不断约稿和不断催稿的情况下完成了闯关活动,直到活动快结束的时候我才知道还有导师职业规划指导的环节(p≧w≦q)。向我们勤劳又负责的 Zoe 同学致敬,您辛苦啦!以前是我错了,现在我想做个好人。
活动历程
技术点评
- 使用 Jest 和 Enzyme 进行 React Native 单元测试|技术点评
- 「译」2021 Flutter 和 React Native 如何选|技术点评
- 当我们在聊 RN 时,我们在聊什么 | 技术点评
其中第三篇获得了 优秀文章奖,奖品是掘金周边大礼包!
项目复盘
由于在临安买房的事耽搁,这个阶段只输出了一篇文章,很荣幸再次获得 优秀项目复盘文章奖,奖品还是掘金周边大礼包!我对象说我都可以卖掘金周边了,看我这三个缸子,一个泡茶,一个泡咖啡,一个白开水,还有两个在家躺尸:
成长计划
- 在跨端领域继续深耕,一年内达到公司技术专家级别
- 目前处于广泛涉猎技术,构建个人知识和技能体系的阶段。垂直领域的精深和知识体系的架…
- 不断调整优化自己的目标,并严格要求自己:#网页链接#。虚心听取别人的建议和批评。
- 肖老师,经验丰富,一个字稳
- 不管什么事,我都有整理和记录的习惯。所以我经手的东西都有详细文档。离职的时候,领…
肖老师是谁?肖老师是我老东家一起奋斗过的兄弟,一起写过代码,一起泡过澡,现在是晞格玛云技术总监,有合适的小伙伴我可以帮忙投递简历。
感谢宗心大佬
当我知道还有导师指导职业规划这个事之后,我就拜托 Zoe 同学帮忙联系宗心大佬选我,一是很早就关注了闲鱼在 Flutter 方面的实践,二是宗心大佬带领的团队正是我所从事的跨端方向(具体聊了之后发现跨端只是闲鱼的一部分,后面会展开说)。感谢宗心大佬给了我这次机会,下面是宗心大佬的简介:
跨端问与答
问题是我提前准备的,都是现阶段令我焦虑和困惑的点。宗心大佬人真的很随和很 nice,也极其耐心地针对我的问题给出了答疑,真的就是拨云见日,令我茅塞顿开(此处非玩笑话)。可惜的是我这个憨憨虽然录了屏,但是没有声音,记忆它不完整,也不能完全复述大佬的意思!希望大家见谅,放上视频合照以纪念此次指导:
大佬侧颜 | 大佬正脸 |
---|---|
Flutter 真的会干掉 React Native 吗?
问题背景
前一段 Flutter 2.0 出来的时候,一片唱衰 React Native,Flutter 完爆 RN 的声音让我很焦虑。在我的认知里,这两者并不存在你死我活的问题呀,而且早起两个同队都给出声明说不存在直接竞争关系,那么作为国内最早且使用 Flutter 最多的团队,宗心大佬是怎么思考这两者的呢?
大佬解答
Flutter 和 React Native 所适用的业务场景是不一样的,Flutter 更多地可以替代原生开发作为 App 开发的新模式,闲鱼目前的基础链路就在用 Flutter 做归一的架构。而 React Native 可以做动态化的事情,比如手淘的活动引导页这类需要高度动态化的场景。
React Native 更多的是让前端可以写客户端,对前端更友好。而 Flutter 偏向于原生,对原生同学比较友好。
我的感悟
技术存在即合理,站在宗心大佬的高度,一切技术的选型和架构一定是跟随业务场景走的。脱离业务去谈技术和架构,就是流氓行为,不负责任的,纯属制造焦虑的。
国内有没有可能出现比肩 Flutter 和 React Native 的框架?
问题背景
作为国内一线大厂,阿里是否有野心做出比肩甚至超越 Flutter 和 React Native 的框架呢?
大佬解答
大佬对 Flutter 和 React Native 的理解很透彻,把问题一分为二。首先是 React Native,列举了 Weex 这个框架,RN的架构比较好实现。而 Flutter 的实现就是一个庞大的工程,需要对操作系统和浏览器引擎有深厚研究的团队才有希望做出。大佬列举了 UC、鸿蒙这类公司。
我的感悟
看似是单一的框架,但背后是整个生态。难实现的不是框架,而是大环境和生态的建设。相信国家的精英们迟早会有属于我们自己的操作系统,自己的生态,自己的跨端框架。
闲鱼是否放弃 Flutter?
问题背景
因为上份工作是有机会在阿里园区呆过,听闻 Weex 已经被放弃了,所以问了一下宗心大佬进展。由于不是一个团队,大佬不方便代表 Weex 团队,但是对大家比较关心的闲鱼是否放弃 Flutter 做出了解答。
大佬解答
前面我们提到,宗心大佬是闲鱼基础链路负责人,大佬也解答了 Flutter 的应用场景是可以替代原生开发的一些事情。那么闲鱼是否会放弃 Flutter 呢?答案是否定的,宗心大佬描述了闲鱼基础链路架构的方向:Flutter 作为基础链路的核心,辅以原生、H5 等容器,最终做到基础链路的归一。也就是说闲鱼并不是要放弃 Flutter,而是基于 Flutter 在做更大更深的事情。
目前跨端处于比较混乱的局面,RN 容器、H5 容器、原生壳、各厂封闭生态的小程序以及 Flutter 共存于一个 App 的情况屡见不鲜。这带来的不只是管理成本,还有性能问题。此时急需一个能够统一基础链路的技术,闲鱼基于多年的经验选择了 Flutter。
宗心大佬也透露了内部十分活跃的 Flutter 开源团队建设,相信不久就会为 Flutter 生态输入优质的开源项目。希望彼时在座的各位有机会能参与进去。
我的感悟
其实,在涂鸦也有相应的小组在做同样的事情,在我们的沟通里叫一码多端。也是基于 Flutter 实现一套代码多端运行。这在跨端领域可以说是炙手可热的话题了。
在跨端领域达到专家水平需要具备哪些指标?
问题背景
嗯,技术专家是紫升目前努力的方向,也制定了一系列的目标和计划。但是我并不知道这些目标和计划是否正确!
大佬解答
大佬将专家分为技术向专家和业务向专家。技术向专家比较少见,需要对某一个领域或某一个问题有很专精的研究,比如 Flutter 渲染引擎的优化、音视频方向的编码研究等等。而更常见的是业务向专家,这里的业务并不是具体的 ERP 或者电商。而是要有产品意识,需要在缺少产品的紧急情况下能顶上去的能力。
到 P7 有的是解决了行业解决不了的问题;有的是首创了一个架构并可以长期沿用;有的是在原有架构上做了创新性工作;有的是在某一个技术领域达到专家级别;有的是对某一类业务问题的技术实现非常精通。有的是凭借自身对技术整体把控。
大佬也表示了对方法论的肯定,建议我不要太过于执着于技术追求。以自己的经验告戒我还年轻,早些读一读经管类、管理类、心理类方面的书籍开阔思路,为以后的发展做准备。
宗心大佬最后还是劝诫我不要只在意技术方面的进步,能走的更远需要的不只是你的技术能力,更多的是综合能力,甚至是平衡生活和家庭的能力。
我的感悟
每个人选择和适合的是不一样的,这受限于个人学识、经历、经验、精力以及家庭因素。我们无法通过简单地模仿他人达到目的。我们要做的是学习大佬的习惯、学习方法、对于技术框架的架构以及技术的前瞻性。
您对于全栈开发的理解是什么样呢?
问题背景
去年年底由于焦虑和迷茫,疯狂入手各种后端语言,其中包括 Deno、Go、甚至 Rust。大圣老师曾告诫我多看看前端框架源码,我却在广度上疯狂拓展。直到把自己搞的很疲惫,达到极限才开始反思我所认为的全栈是否是一个错误的概念。
大佬解答
每个人的职业发展道路是不一样的,每个人的立身之本也不一样。紫升你思考一下你作为一个前端真的需要精通后端吗?你需要的不是精通那么多后端细枝末节,而是培养自己解决问题的通用能力。你精通了前端的加载优化、分包、异步编程、性能优化、引擎运行原理与调优等等这些深度问题。同样的经验放在后端是一样通用的。
大佬还以自己作为客户端起家最后能带领服务端的经验教导我,紫升你有一天能带服务端的时候,不是说你就要后端代码写的很溜。但是你要有大局观,遇到问题知道问题是什么还不够,还需要知道解决的方向以及安排可以解决这个问题的人去做。
我问大佬这些能力我不实际去学习如何获取?大佬说 Hello World 对你来说不难吧?整体的对一个技术的了解不难吧。在你不需要实际在工作中用到时这些就够了。你要做的首先还是把你安身立命的东西做到足够好,前后端只是职责划分,工程化和底层的本质是一样的。
现在云原生技术发展的这么迅速,作为前端,你也可以更多地关注云开发。这些也能让你自己做出一个项目出来。没必要说精通后端自己接口这样子。
我的感悟
宗心大佬一番话点醒了梦中人,我的计划中放入过多的后端技能学习。这样并没有让我缓解焦虑,反倒是越来越焦虑。虽然还是很不舍,但我不得不逼自己暂时放弃 Deno、Rust 的学习。之所以要坚持 Go 的学习是因为我需要一个编译语言来解 JS 的毒,而 Go 足够简单不会对我造成太大的负担。
我是在大前端方向突破还是专精跨端领域呢?
问题背景
我从 18 年开始做 React Native 开发,积淀了很多业务开发知识和架构工程化方面的能力。一直在我心里过不去的坎是原生开发能力的欠缺。我很迷惑我到底是往大前端方向努力,还是闷头在跨端领域深挖。我指的不是 RN 和 Flutter,我指的是要不要把原生开发学一学。
大佬解答
我建议你去学一下 iOS 和 安卓开发,起 Demo 玩一玩知道怎么运行的,如何开发的。大佬 12 年进阿里实习的时候也是不懂客户端开发的,当年资料更少。但是也就用一两周上手开始做项目。
但是宗心大佬还是告诫我一定要知道自己安身立命的东西是什么,不要忘记初心。不管是就业形势还是职业发展我更希望你能做一个懂客户端的大前端,而不是放弃前端往客户端突破。
我的感悟
这和上一个全栈的问题类似,也是导致我越来越焦虑的问题之一。听了大佬的教导,我更加坚定了接下来的道路。原生开发我是要懂,而不是要什么都会。跨端和客户端还是不一样的。我的优势是在前端的积累,为什么要跟客户端转前端的同学抢饭碗呢?
感悟
聊完之后我最大的感受是掘金的活动质量真的太高了,之前对宗心大佬不够了解,这一番聊下来,简直就是偶像级别的。以上所有的问题在没有聊之前几乎都没有自己的答案的,全部是迷茫的点。大佬不仅耐心的解惑,还以自身的实际经历为我的职业发展给出了清晰和明确的建议。再次感谢掘金和宗心大佬。