ITBear科技资讯

蚂蚁操作系统资深专家秦承刚:应届生如何摘取软件行业皇冠上的明珠

近两年,国内关于操作系统的话题逐渐多了起来,不过对于很多应届生来说,操作系统研发的门槛太高,令人望而生畏。即使知道行业急缺相关技术人才,岗位高薪,待遇优厚,大部分人还是不敢贸然尝试。

操作系统研发真的是不适合萌新应届生的领域吗?对于这个问题,在企业中进行相关研发的人又怎么看呢?我们找到了在蚂蚁金服进行系统软件研发的资深技术专家秦承刚,来看看他的看法。

从一篇论文说起

秦承刚研发的操作系统是应用在云计算上面的。随着蚂蚁金服全面转型云原生架构,为了在新的架构下保障应用性能和数据安全,应对云原生架构下的新挑战,必须在系统层面进行深入挖掘。

谈起应届生是否适合操作系统研发,他提到最近刚好有这样一件事。

在计算机界有一个编程语言和操作系统的顶级学术会议ASPLOS,原定于今年3月16-20日在欧洲举办,由于疫情,改成在线上举行。

去年,蚂蚁金服首次参与该大会,就有两篇论文入选,其中一篇正是秦承刚团队所操刀的。

这篇论文有两个共同第一作者,一名是团队的应届实习生余天依,另一名则是上海交通大学软件学院的研究生。

这篇论文的主题是近两年开始火热的Serverless技术的启动速度问题,这个问题一直困扰业界,是Serverless迟迟难以在生产环境大规模应用的原因之一,而团队成功将Serverless冷启动的时间降低到亚毫秒级别,其中的关键技术就是轻量级操作系统。

原来,这原本是秦承刚团队的一个技术预研项目,在18年的时候,云原生已经很火热,但Serverless出现没多久,不被人们广泛接受,承刚预判到这项技术未来会有很大的潜力,因此选择这个方向进行技术攻关。

由于涉及到一些前瞻性的技术,团队需要科研力量的加入,也就是与高校展开学术合作。余天依本身出自上海交大,通过她在当中作为技术沟通桥梁,团队顺利和上海交大并行与分布式系统研究所搭上线,双方展开合作。

论文中用到的操作系统是Google于2018年开源的gVisor,论文在操作系统层面优化了Serverless场景下的实例启动时延,能够在几毫秒内完成操作系统与应用的启动。

承刚团队所研发的轻量级操作系统也是基于gVisor,不过给它做了诸多改进与功能增强,在虚拟化技术网络协议栈上做了很多创新。其中很多改进会逐步回馈给开源社区,上述论文就是其中一个例子。

应届生如何参与系统研发

上面的论文只是承刚团队工作的冰山一角,他们所研发的系统软件是蚂蚁金服可信原生技术拼图的重要一块。

所谓可信原生技术,是在社区的云原生技术基础上,实现软硬件全链路的安全性,让整个系统无论从内部还是外部都无法被攻破,从而实现可信任。

过去人们讨论云原生时,安全问题并没有受到太多关注。而云原生里的容器,相比虚拟机,更容易引发安全问题。在云原生中,传统容器共享同一个CPU等资源,缺乏隔离性,一旦一个容器发生安全问题,很可能影响到其它容器,甚至入侵整个系统。承刚团队所研发的系统软件,在底层操作系统和容器应用之间添加了一层隔离,从而提升了安全性。

承刚团队的工作一方面是和操作系统打交道,所以对Linux内核的研究会很深入,团队里有专人参与Linux内核开源社区,以及跟进系统软件相关的学术研究进展;另一方面,团队需要让应用在云原生环境下运行得更好更安全,因此也会涉及到操作系统级别的工程效能、运维交付、安全可信等研发工作。

正因为最前沿的云原生架构,和最古老的操作系统产生碰撞,所以对研发带来了极大的挑战,而且,很多时候有些瓶颈单靠经验难以解决,需要借助学术界的力量,对难题进行攻关,上面的论文正是诞生于这样的背景。

所以应届生当然适合操作系统软件研发,承刚团队也一直希望有优秀的应届生加入。

承刚希望两类应届生的加入,一类就是上面所说的研究型实习生,钻研前沿技术,寻求技术突破。另一类则是普通的开发岗位,团队也需要新鲜血液的注入。

新人加入团队之后,除了常见的技术培训之外,还会为每个新人配备一个“师兄”,师兄不仅会负责传道授业解惑,还要像兄长一样,陪伴新人、保护新人,和他们一起共同成长进步。

在工作安排上,不会一上来就给新人安排很难的工作,而是像升级打怪一样,让新人从简单的工作做起,逐渐学习并融入团队,然后承担更大的任务。

给应届生的建议

在今天,系统软件研发并不是一个冷门的行业,很多公司都有负责开发维护系统内核,甚至是研发全新操作系统的岗位,但是市场上系统软件研发专家仍然非常稀缺,所以这是一个很有前景的方向。

从另一个角度看,系统软件研发的确是一个高门槛的技术领域,因此,对从业人员的素质也有一定的要求。

这里面第一个门槛是需要有热情,愿意从事系统软件研发工作。因为很多时候工程师需要与底层软硬件打交道,需要深入理解操作系统与处理器的运作原理,这个过程是很枯燥的,如果没有热情很难坚持下来。另外,系统软件和行业软件不一样,行业软件在入职一到两周后就可能会有产出,但系统软件可能需要更长的周期,这也需要坚持下来的定力。

其次,对应届生来说,想从事系统软件研发,需要学好计算机专业基础课程,把基本功打扎实,对于计算机硬件、处理器、操作系统、虚拟化等要熟悉它们的功能和原理。另外,需要持续学习,比如可以自学一些系统软件相关的论文和书籍,关注最新的学术进展,在这里,承刚也推荐了几本书籍,让同学们可以提前了解:

1. 《Computer Architecture: A Quantitative Approach》

2. 《Systems Performance: Enterprise and the Cloud》

3. 《Understanding the Linux Kernel》

4. 《奔跑吧 Linux内核》

5. 《系统虚拟化 -- 原理与实现》

另外,如果从事这个领域,还需要关注的学术会议包括:OSDI、SOSP、ASPLOS、EuroSys等。

不过,系统软件研发并不是高不可攀,高校学生在校期间就可以参与,首先从熟悉Linux系统开始,了解系统原理后,开发一些小功能,甚至小工具和脚本,也可以提升自己对系统软件的理解。

这一项的进阶版本就是参与系统软件的开源社区,比如Linux内核、gVisor等等,从最基本的翻译编写文档,到参与某项功能模块的开发,通过这些行动,同学们可以快速的成长。

最后,如果对系统软件研发感兴趣,想了解如何面试,也可以看看前辈的面试经验,祝大家都能早日找到自己满意的工作~

欢迎加入可信原生技术部

>职位简介

部门:蚂蚁金服-CTO线-可信原生技术部

地点:杭州,上海

岗位:实习开发工程师

面向:2020.11 -2021.10 毕业的本科/研究生

面试形式:通常是电话面试,会提前预约合适的时间哦

简历投递:chenggang.qcg@antfin.com

>Who Are We?

我们团队承担了蚂蚁金服操作系统的研发与创新工作。我们致力于将先进的系统技术与蚂蚁的金融级业务场景相结合,不断在系统领域进行创新与落地。目前,我们的全新操作系统正在逐步服务于蚂蚁的核心业务。我们在协议栈,文件系统,虚拟化等组件上已经有了大量的自研产品。并在系统领域的顶会ASPLOS 2020上发表了论文。同时,我们在软硬件结合创新上也在持续深入。欢迎有志于从事系统技术的同学加入我们,共创辉煌。我们希望你了解操作系统,虚拟化技术,网络协议栈,文件系统等,最好有相关的项目经验。也希望你能够使用C,Go,Rust等语言熟练编程。更希望你有技术理想,对系统领域保持饥渴的好奇心,能够迅速学习新技术。

>领域方向

1. 虚拟化方向:从事蚂蚁金服高安全轻量化的虚拟化技术研发。熟悉Intel X86,ARM等处理器的虚拟化技术,熟悉KVM等典型Hypervisor。有虚拟化领域的研发实践经验者优先。

2. 操作系统研发方向:从事蚂蚁金服安全操作系统内核研发。熟悉Linux内核或其他操作系统内核。熟悉内存管理,文件系统,网络协议栈,进程调度等操作系统核心组件。有操作系统研发经验者优先。

3. 系统安全技术方向:熟悉ARM TrustZone,AMD SEV技术,有系统安全技术的相关经验。

4. 系统技术研究:从事系统与安全领域研究的博士研究生,发表过高水平论文,有扎实的研究成果。

>基础要求

1. 熟练掌握C、golang、Rust等编程语言,有系统技术研发经验者优先;

2. 扎实的算法及数据结构基础,对软件工程有良好的理解;

3. 参与过Linux内核、gVisor、DPDK等开源社区者优先。

4. 熟悉Intel X86、ARM等处理器技术与原理者优先。

5. 有技术热情、责任感,致力于系统软件研发与创新者优先。

读者交流

扫二维码加ITBear科技数码群,大咖随时在线与你聊科技!
不方便扫码可以长按上图保存图片->微信扫一扫->点击右上角相册->选择刚保存的二维码。(如果在微信中打开此页面可以长按二维码识别)


本栏最新
全站最新