框架工程师是干什么的,巴延兴:从主导多个SIG组到OpenHarmony“代码贡献之星”

此次我们邀请了深开鸿巴延兴前来参加访谈,希望通过他的视角,带我们更加全面地了解深开鸿团队背后的故事。大家好,我是巴延兴,是深圳开鸿数字产业发展有限公司资深OS框架开发工程师。同时,我们的贡献也得到了社区的认可,深开鸿已正式成为兼容性工作组的第一家扩展成员的单位。

巴延兴

深圳开鸿数字产业发展有限公司

资深OS框架开发工程师

开源软件(以下简称“开源”)于上世纪80年代应运而生,随后惠及全球。如今,开源技术支撑了 90% 以上的互联网产品,并已经深入到各行业的商业应用中。2021 年,我国首次将“开源”明确列入《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》。虽然我国开源建设起步相对较晚,但国家在战略层已经开始给予了开源的肯定和支持。目前,开源已成为全球软件技术和产业创新的主导模式。

作为开放原子开源基金会的白金捐赠人、 (以下简称“”)B 类捐赠人,深开鸿核心技术团队完整地继承了前期 业务技术积累,以共建共治共享的开源精神,以成为智能物联网操作系统领军者为战略目标,基于 聚焦智能物联网操作系统()的技术研发与持续创新。致力于构建多赢的物联网操作系统生态圈,持续拓宽行业边界,实现万物互联。

作为资深 OS 框架开发工程师,巴延兴负责整体技术规划、项目看护、成果交付以及与社区的沟通协调;辅助工具 SIG 的申请成立、SIG 的孵化以及毕业流程的推进工作。其中,辅助工具 SIG 包括 NAPI 框架生成工具、开机动画工具、IDL 转换工具等一系列工具。

他常说,在这个世上,没有从天而降的好运和奇迹,机会只留给有准备的人。巴延兴抓住机遇,全力拥抱开源时代,在开源软件的基础上,为企业提供安全、稳定的企业级开源软件,并将代码百分之百回馈给社区。十年如一日对工作极致负责的他,用专业汇聚能量,目前共计带领团队主导 4 个 SIG、参与 12 个 SIG 的代码贡献,累计向主干贡献代码 30W+ 行。

此次我们邀请了深开鸿巴延兴前来参加访谈,希望通过他的视角,带我们更加全面地了解深开鸿团队背后的故事。

Q= A=巴延兴

Q1:可以介绍下自己以及所在开发团队吗?

大家好,我是巴延兴,是深圳开鸿数字产业发展有限公司资深OS框架开发工程师。从业以来,我一直深耕终端设备的研发领域,拥有十多年的移动系统开发经验,去年有幸加入深开鸿南京研发团队,希望为操作系统发展贡献绵薄之力。

深开鸿团队一方面承担着公司 ( 商业发行版之一)的研发任务,另一方面积极地、大颗粒地、全方位地面向 社区进行开源贡献。

Q2:作为开发领域技术达人,请问哪些原因让您决定参与的社区贡献?

随着 5G 时代的到来,数字化升级、万物互联、人机物融合等需求越来越旺盛,“开源”首次被明确列入《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》。作为互通互联生态架构基座的操作系统, 应运而生。

深开鸿技术团队从 开源项目成立伊始就与 工作组展开了深度合作,是业内首批对 在产业上的应用及赋能进行深入研究的公司。我认为未来的市场将出现移动端操作系统高速发展的窗口期,因此,当我得知有深开鸿这样一家以 为技术底座的操作系统发行版公司诞生的时候,我便毫不犹豫地加入了。

自参与 社区共建以来,我深度参与了代码共建的工作,结合多年来在系统内核、系统安全、网络通信、多媒体及 AI 等技术领域的积累,主导多个 SIG 组的形式持续向社区贡献高质量代码,不断夯实 的基础能力,加速推进 生态建设。

Q3:恭喜您获得2月代码贡献之星,非常了不起,可以说说您在社区具体做了哪些代码贡献,获得哪些成果吗?

去年 6 月,深开鸿开始参与 RISC-V SIG,从芯片适配开始,再到承接 SIG 的音视频硬编解码 HDF 框架实现的任务。随着开源经验的积累,团队也汇聚了各领域的技术专家。因此,深开鸿在 2021 年 9 月份正式主导了第一个 SIG 组——AI 框架集成 SIG 组。

在这过程中,我参与了需求分析、架构设计、代码框架搭建以及代码评审、入库等研发全流程;基于 实现了 HDF 框架开发;基于瑞芯微的 MPP 框架提供的 、 以及 和 相关的组件和接口,结合 队列,共享内存等机制,实现了硬件编解码流程,并完成了相关的编解码演示程序和单元测试程序;基于 测试框架,使用 语言编写 JS 全组件属性、样式、事件、方法等测试脚本;以上相关代码都已合入主干。

伴随研发团队规模逐渐扩大,团队能力逐渐提升,可参与主导或共建的技术领域也越来越多——辅助工具、软总线、多媒体、内核等项目都有深开鸿团队的身影,慢慢呈现了“遍地开花”的趋势,也看到我们的成果帮助了更多的开发者,真正感受到了生态的繁荣。

到目前为止,深开鸿主导了 4 个 SIG框架工程师是干什么的,巴延兴:从主导多个SIG组到OpenHarmony“代码贡献之星”,参与共建的 SIG 有 12 个,尤其是内核、软总线、HDF、 等根技术领域都有深度参与,累计向主干贡献代码 30W+ 行。

Q4:可以请您给我们分享一下,在整个开发的过程中,您和您的团队遇到过哪些技术上或其他方面的难题?这些难题又是如何被逐一解决的?从中总结了哪些经验呢?

我们在内核开发过程中遇到不少难题,比如内核支持的单板种类有限、 开发板内核固化、编译环境搭建复杂等问题都加剧了进入内核研发的难度。面对这些困难,我们在探索过程中也摸索出了一套方法。

首先,我们利用仿真技术解决单板有限的问题,其次利用 Q/A 的方式将每一步都记录下来,输出技术文档,夯实每一步的脚印。对新技术保持一颗好奇心是每一个内核开发人员必备的素养,这样的心态促使我们不断攻坚克难。

目前内核开发工作还处于初级阶段,取得了初步的成果,但我们还会继续进行研发投入,在这过程中,不仅能提高我们自身的技术能力,而且还能增强公司的技术储备,促成良性循环。

Q5:加入生态以来,深开鸿在社区的开源贡献方面取得了不小的成果,您认为“秘诀”都有哪些呢?

如果非要说有什么“秘诀”的话,那就是深开鸿始终坚持从开源中来,到开源中去的开源理念,结合 系统特性以及行业应用对操作系统的需求,推出具备行业共性的 商业发行版,在满足客户需求的同时,也将沉淀下来的技术能力及行业实践回馈给社区。

除了主干代码贡献,我们在三方库、知识体系工作组、兼容性工作组、基础服务、开发板等方向也同时发力,多维度地、多层次地进行开源贡献。同时,我们的贡献也得到了社区的认可,深开鸿已正式成为兼容性工作组的第一家扩展成员的单位。

Q6:您最想吐槽哪些方面?对未来的有什么期望?

目前处在起步阶段,很多事物尚未成熟,比如系统能力还有待增强;应用生态不够丰富;开发文档不够齐全,开发者入门门槛高等问题都亟待解决,这就需要有更多的技术精英、行业大咖参与 社区共建。至于对未来的期望,自然是希望它能够蓬勃发展,向当今主流的开源生态看齐甚至超越。

Q7:未来深开鸿还会做哪些事情?朝哪个方向努力?

作为 开源项目的共建单位之一,深开鸿有责任、有义务、更有能力持续完善 的技术能力、不断以创新技术加速开源生态建设的布局。从产业生态角度来看,丰富且有活力的生态也将推动 的持续提升、优化、完善,最终反哺产业生态,形成一个良性的、有机的循环。

因此,我们会一如既往地推进 在各个行业的商业落地,为千行百业赋能的同时,将沉淀、提炼出来的技术能力再贡献给 社区,真正践行从开源中来到开源中去的理念框架工程师是干什么的,这就是深开鸿在未来要做的事情,要努力的方向。

Q8:有什么想对其他企业和开发者说的话吗?

作为一名普通的工程技术人员,有幸遇到这样的一个时代,更有幸能够亲身参与这个时代的伟大变革。机会留给有准备的人,我会竭尽所能去拥抱这样的时代,把握时代赋予的机会。

个人的力量是渺小的,在这里我呼吁更多的有识之士、志同道合者参与到 生态的共建,大家一起携起手来,推动它的繁荣与发展!

欢迎关注公众号『后厂村搬砖工』,一起交流学习^_^~

这篇文章主要总结一下自己所了解的算法工程师这个岗位对个人能力的一些基本要求和学习过程中接触到的一些不错的资料。

希望这篇文章能帮到那些对算法工程师这个岗位感兴趣、却又找不到方向的同学。同时也希望自己推荐的资料能帮到那些想提升自身相关能力的同学。期待能与大家多多交流。

算法基础

建议认真学习了解下算法基础,九层之台,起于垒土,我们只需要专注的去做,一点儿一点儿积累~

学习路线

学习资料推荐

编程能力

进入公司后,面试过一些同学,发现很多同学的首选编程语言都是,语言有很多的优点,人生苦短,我用 ~,这是个不错的选择。但是通常来说仅掌握这一门语言是不够的。工作过程中大概率会涉及到多种编程语言,例如:、C++、Java、、Go等。例如出于对种种问题的考虑,实际很多线上环境中的代码都是使用C++、Go或者Java等编程语言开发的,这给我们提出的最基本要求就是要能够看懂线上代码并做一些简单的开发。

编程

建议从[2]、[3]看起,最后再学习[1],多多实践,在实战中学习,个人感觉这本书也不算薄了,初学者(说的就是我)看起来可能会有点儿吃力~。

《流畅的》:个人感觉需要一定的基础廖雪峰教程莫烦 编程

由于对Java编程的了解不是特别深入工程师资料,不做过多推荐。大家也可结合自身情况(当前环境、未来规划等)做取舍。我的学习路线是[3]->[1]->[4]->弃疗

《Java编程思想》廖雪峰Java教程:部分教程需要付费,整体不错,适合快速入门《深入理解Java虚拟机》:需要一定基础,比较难懂~C++ 编程

个人学习路线[4]->[3]->[1:部分章节]->[2]->弃疗

《C++ Plus》《 C++》C语言中文网,C++教程:资料通俗易懂,适合基础不够扎实的同学(我),可以带领小白(也是我)快速入门,部分资料收费 C语言中文网,C语言入门:同上↑ 编程

作为一名算(脚)法(本)工(输)程(出)师(机),编程也必须适当了解一下。可以不啃大部头,但还是要尽可能看一些教程和书籍,少走弯路。实际工作过程中,碰到问题可以找搜索引擎帮忙,但所有的问题都交给搜索引擎,个人感觉效率也不是很高^_^,此外,不管是开发环境还是线上环境基本都是系统工程师资料,算法工程师学习资料&路线分享,所以或多或少的还是要了解一下。

SQL&大数据

实际业务场景基本上时时刻刻要与大数据打交道,通常来说岗位对算法工程师的要求是要按需掌握一定的大数据处理分析技术,比如、Hive、等,业务场景不同,需求不同,要求也不同~

数据结构&面试题

竞赛 其他

其中、等工具,网上教程太多 ,建议从官方文档入手,先做个基本了解。既然是工具,要想熟练使用的最好的办法就是:实践!实践!实践!

—-我是分割线—-

—-我是分割线—-

—-我是分割线—-

这里整理了一份相关的学习资料,可关注公众号『后厂村搬砖工』获取。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请添加站长微信举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.zhiyeeedu.com/36398.html

(0)
上一篇 2024年 3月 10日 下午5:12
下一篇 2024年 3月 10日 下午6:08

相关推荐

联系我们

联系我们

18923864400

在线咨询: QQ交谈 邮件:zhiyeeedu@163.com 工作时间:周一至周五,9:00-18:00,节假日休息

关注微信
关注微信
返回顶部
职业教育资格考证信息平台
在线客服