如果你对 GCC、LLVM、OpenJDK、V8、QEMU 等底层基础软件感兴趣,那么本文将可能为你提供新的工作机会;
如果你对开源软件,尤其是 Linux 发行版(openEuler、Gentoo Linux、Arch Linux)的制作感兴趣,那么千万不要错过本次机会;
如果你看好 RISC-V 未来的发展,那么一定不要错过PLCT实验室的下面的介绍,并欢迎转发给同样看好 RISC-V 未来发展的伙伴。
加入我们,来一起变得更强吧!(保证不会变秃)
社招VS实习
PLCT实验室的入职标准是同一化的,社招、实习、全职使用的同一套评价体系和招聘流程。实习生岗位信息往下滑能看到。
最新实习生岗位列表:
https://github.com/plctlab/weloveinterns/blob/master/open-internships.md
最新社招全职岗位:
https://github.com/plctlab/PLCT-Weekly/blob/master/Jobs.md
单位简介
PLCT全称是程序语言与编译技术实验室,隶属于中科院软件所智能软件研究中心(ISRC),致力于成为编译技术领域的开源领导者,推进开源工具链及运行时系统等软件基础设施的技术革新,具备主导开发和维护重要基础设施的技术及管理能力。与此同时,努力成为编译领域培养尖端人才的黄埔军校,推动先进编译技术在国内的普及和发展。
PLCT实验室聚焦于编译器、虚拟机、模拟器等基础软件的开发和开源社区的维护。近年来主线任务是「开源软件 + RISC-V」,全面推动 RISC-V 的开源生态建设。
Tarsier项目组是在PLCT实验室培育的一个新团队,其建立目标是为了让 RISC-V 成为所有重要开源软件的 Tier-1 平台,顺带把各大 Linux 发行版在 RISC-V 上的支持都做好。
所有候选人共性要求(技术类)
开放岗位的入职要求(教学助理等非技术类的同学只需要满足前两条):
良好的沟通理解能力、能够观察和感知他人的态度和观点。能够主动沟通、遇到计划外或坏消息能够大声的说出来。
知道如何陈述bugs/issues以及向其他人求助,如何不浪费同事的时间,将复现bug需要的信息提供完整。
能力值评定一般要求达到LV2级别及以上。(评级方法见下方链接)
热爱编程,经常写代码。C/C++/Java/JavaScript 任何一种常见语言都可以。
熟练使用 Linux 命令行;会一点 Python/Bash 脚本进行自动化。
熟练使用 Google 搜索引擎(不能使用Google搜索的同学请先保证自己能够使用Google再投递简历)。
熟练使用 Git,能够自己 rebase 解决 conflicts。
(加分)自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。
(加分)对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。
在投递简历之前
在投递简历之前最好对我们有更多一点了解。以下的阅读材料不仅是面向实习生的,对于全职员工也同样适用(我们是把实习生当正式员工培养的):
招聘流程是什么样子的 社招和实习同样流程。
PLCT如何对候选人进行能力评定 开源领域资深大佬可以直接LV6。
PLCT如何进行项目管理 是目前PLCT实验室的管理方式,请先阅读。(微信读者可以点击查看原文找到链接)
实习生存手册 目前还在断断续续的撰写中,欢迎围观和PR!(微信读者可以点击查看原文找到链接)
阅读之后,接下来就可以发邮件了。
简历投递方式
以下内容请认真阅读。不符合条件邮件不会收到回复。
有意者请投递简历至:吴伟 wuwei2016@iscas.ac.cn 。
邮件标题请注明:岗位编号 - 姓名 - 手机号码。
邮件正文请进行自我介绍,不超过200字。
请附带PDF格式近期简历。
未按照要求注明标题的或无自我介绍的邮件会被默拒,不会有回复。
如果感兴趣但是还不确定是否投简历,欢迎直接添加PLCT实验室创始人暨招聘负责人吴伟的微信 fangzhang1024 聊一聊,看看是不是跟你想的一样。(添加好友时请标注PLCT或者招聘字样方便通过)。
岗位介绍(社招,其中TRSR/PLCT类也接受实习)
TRSR003: 测试工程师(20名)
工作内容:
为 PLCT 正在开发或维护的开源软件提供QA服务,包括最新的软件的构建、测试、分析、报告和技术交流分享。
能够理解测试组长的需求,阅读分析现有测试用例/测试集/测试过程的不足,按照一些通用的测试评价指标(覆盖率等)进行测试用例的补充和设计。
保障 Tarsier 项目组构建出的 Linux 发行版得到快速有效的测试。
招聘条件
熟练的Linux命令行操作;自己做过RPM或DEB打包工作。
LV3+ (注意你可能是 Tarsier 项目组发行版小队的第一名员工。需要高度自律。)
工作地点:北京、南京、杭州、广州;资深大佬可以远程
TRSR002: 测试开发工程师(10名)
工作职责
通过开发和搭建开发测试工具、框架、流程、环境,保障 Tarsier 项目组构建出的 Linux 发行版得到快速有效的测试。
搭建一套自动化或半自动化的测试平台,能够针对构建出的 Fedora、Debian、Ubuntu、Gentoo、ArchLinux系统进行回归测试。
搭建一个或一套硬件测试环境,不少于一千台 RISC-V 硬件,可以运行 Linux 发行版,进行性能评测。
能够实现对 Fedora、Debian、Ubuntu、Gentoo、ArchLinux 发行版的每日构建和每日归回测试。
招聘条件
熟练的Linux命令行操作;自己做过RPM或DEB打包工作。
LV3+ (注意你可能是 Tarsier 项目组发行版小队的第一名员工。需要高度自律。)
工作地点:北京、南京、杭州、广州;资深大佬可以远程
TRSR001: Linux 发行版构建工程师(10名)
工作职责
参与搭建一个集成构建环境,能够自动化的构建 Fedora、Debian、Ubuntu、Gentoo、ArchLinux 系统中的一个。
参与搭建一套自动化或半自动化的测试平台,能够针对构建出的 Fedora、Debian、Ubuntu、Gentoo、ArchLinux 系统进行回归测试。
参与搭建一个或一套硬件测试环境,不少于一千台 RISC-V 硬件,可以运行 Linux 发行版,进行性能评测。
参与实现对 Fedora、Debian、Ubuntu、Gentoo、ArchLinux 发行版的每日构建和每日归回测试。
招聘条件
熟练的Linux命令行操作;自己做过RPM或DEB打包工作。
LV3+ (注意你可能是 Tarsier 项目组发行版小队的第一名员工。需要高度自律。)
工作地点:北京、南京、杭州、广州;资深大佬可以远程
PLCT005: Spidermonkey 开发工程师(1名)
工作职责
为 Spidermonkey 开发 RISC-V 后端,进行 bugfix、 新的扩展实现、代码体积或执行速度优化。
进行代码阅读,做公开技术报告,参与PLCT实验室组织的教学和培训活动。
代表PLCT实验室参与上游社区的 Code Review 和 Bug Triage 工作。
招聘条件
学过基本的编译原理和虚拟机知识,写过比较多的C++代码,了解过 V8/Spidermonkey 或 OpenJDK;
熟悉汇编器、连接器等工具的原理和实现,有开发经验者优先;
LV4+ (注意你将是PLCT实验室 Spidermonkey 小队的第一名员工。需要高度自律。)
工作地点:北京、南京、杭州、广州;资深大佬可以远程
PLCT004: DartVM 开发工程师(1名)
工作职责
为 DartVM 开发 RISC-V 后端,进行 bugfix、 新的扩展实现、代码体积或执行速度优化。
进行代码阅读,做公开技术报告,参与PLCT实验室组织的教学和培训活动。
代表PLCT实验室参与上游社区的 Code Review 和 Bug Triage 工作。
招聘条件
学过基本的编译原理和虚拟机知识,写过比较多的C++代码,了解过 V8/Spidermonkey 或 OpenJDK;
熟悉汇编器、连接器等工具的原理和实现,有开发经验者优先;
LV4+ (注意你将是PLCT实验室 Dart 小队的第一名员工。需要高度自律。)
工作地点:北京、南京、杭州、广州;资深大佬可以远程
PLCT003: GNU Toolchain 开发工程师(20名)
工作职责
维护 GNU 工具链 RISC-V 后端,进行 bugfix、 新的扩展实现、代码体积或执行速度优化。
进行代码阅读,做公开技术报告,参与PLCT实验室组织的教学和培训活动。
代表PLCT实验室参与上游社区的 Code Review 和 Bug Triage 工作。
招聘条件
学过基本的编译原理知识,写过比较多的C/C++代码,了解过 LLVM 或 GCC;
熟悉汇编器、连接器等工具的原理和实现,有开发经验者优先;
LV3+
工作地点:北京、南京、杭州、广州;资深大佬可以远程
PLCT002: Clang/LLVM 开发工程师(10名)
工作职责
维护 Clang/LLVM 工具链 RISC-V 后端,进行 bugfix、 新的扩展实现、代码体积或执行速度优化。
进行代码阅读,做公开技术报告,参与PLCT实验室组织的教学和培训活动。
代表PLCT实验室参与上游社区的 Code Review 和 Bug Triage 工作。
招聘条件
学过基本的编译原理知识,写过比较多的C/C++代码,了解过 LLVM 或 GCC;
熟悉汇编器、连接器等工具的原理和实现,有开发经验者优先;
LV3+
工作地点:北京、南京、杭州、广州;资深大佬可以远程
PLCT001 V8 RISC-V 开发工程师(5名)
工作内容:
加入PLCT实验室V8小队,维护 RISC-V 后端,进行 bugfix 和 optimization 的工作。
要求:
有编译器或虚拟机的经验;
阅读过RISC-V规范;
阅读过V8的代码;阅读过PLCT实验室V8小队的代码;
LV4+
工作地点:北京、南京、杭州、广州;资深大佬可以远程
TENON002: 机械臂离线编程仿真平台开发(2名)
岗位描述
工业机器人离线编程仿真平台是一类重要的工业软件。它帮助工业机器人用户创建生产线的三维仿真模型,对工件和生产环境进行几何建模,自动生成或辅助用户生成机械臂的运动指令程序,对程序进行模拟执行,对工作站中的工具和工件交互进行物理仿真,让生产线的真实运行效果以可视化的方式展现在用户面前,提高用户的编程调试效率。
开发机械臂离线编程仿真平台,涉及以下技术方面:GUI交互,机器人编程语言及执行环境,机器人学,CAD,动力学模拟,图形学。涉及以下技术技能: C++, Qt, OpenGL, 线性代数,几何,力学等。期望有比较好的C++和数学和物理基础(不然会很辛苦,需要极强的意志力)。
基本技能要求
熟悉Linux系统上的开发环境
熟练掌握C++语言,能够在大型项目上进行开发
掌握多元微积分,线性代数,几何设计
掌握牛顿力学
了解计算机图形学
(技能加分项)我们会用到如下方面的技能:
机器人运动学,动力学,运动规划,控制
OpenGL,GLSL
计算机辅助几何设计
分析力学,物理模拟
Qt
工作地点:北京(资深专家可以自选城市)
@ 实习生岗位(同时也可以全职)
NJ54 OpenROAD 及集成电路后端算法 实习生助教
工作内容:
从事 OpenROAD 及集成电路后端算法的学习、讨论、报告分享。
要求:
LV2+;喜欢开源EDA及OpenROAD的工作。
NJ53 openEuler RISC-V 开发实习生 (≤100名)
工作内容:
从事 Linux 发行版的软件包构建、测试、分析工作。
openEuler 是国内的又一个 Linux 发行版社区。起初由 华为 发起,中科院软件所是最早一批和可能目前最活跃的社区贡献单位。去年主要是软件所的OS团队在进行贡献。2021年7月开始,PLCT实验室开始与华为的工程师一起负责 RISC-V 平台上的 oE 的构建和维护工作。目前老板已经到位,项目经理已经就绪,测试团队已经组建,CI基础设施订单已下。软硬件环境都已经准备好,就差你来干活了。
要求:
自我感觉达到LV2即可;喜欢倒腾新技术、喜欢编译尝试开源软件的同学们优先。
需要先去 gitee 上逛逛 oE RISC-V 的有关信息,看看会议纪要,构建的状态等。
不管是否决定来实习,都欢迎加老板微信 fangzhang1024 先拉你到 oE RISC-V SIG 的群里。每两周开会,各种讨论事项都很公开。来感受下业界的脉搏,说不定以后毕业未来的面试官/老板就在群里?
NJ52 RISC-V 测试开发实习生(高级)
工作内容:
通过测试流程设计、自动化脚本编写、框架或系统开发等方式,为 RISC-V Linux 发行版的测试工作的生产力提高提供帮助。
能够理解测试组长的需求,阅读分析现有测试用例/测试集/测试过程的不足,按照一些通用的测试评价指标(覆盖率等)进行测试用例的补充和设计,并通过程序或脚本的形式来批量的实现。
为 PLCT 正在开发或维护的开源软件提供QA服务,包括最新的软件的构建、测试、分析、报告和技术交流分享。
要求:
LV2+
熟练使用 Office 等办公软件。
具备基本的 Linux 操作的基础,例如会在命令行使用 cd/ps/mkdir/make 等。
(加分)具备基本的 git 操作基础,会使用 git clone,知道有 submodule 的概念。
(加分)能够有比较好的英语的阅读和书写能力。英语的口头表达能力不要求。
NJ53 RISC-V 软件测试实习生(中级)
工作内容:
为 PLCT 正在开发或维护的开源软件提供QA服务,包括最新的软件的构建、测试、分析、报告和技术交流分享。
能够理解测试组长的需求,阅读分析现有测试用例/测试集/测试过程的不足,按照一些通用的测试评价指标(覆盖率等)进行测试用例的补充和设计。
要求:
LV1+ 并且具有一定的软件测试的理论基础(上过软件测试或者软件工程的课)。
熟练使用 Office 等办公软件。
具备基本的 Linux 操作的基础,例如会在命令行使用 cd/ps/mkdir/make 等。
(加分)具备基本的 git 操作基础,会使用 git clone,知道有 submodule 的概念。
(加分)能够有比较好的英语的阅读和书写能力。英语的口头表达能力不要求。
NJ52 RISC-V 软件测试实习生(初级)
工作内容:
为 PLCT 正在开发或维护的开源软件提供QA服务,包括最新的软件的构建、测试、分析、报告和技术交流分享。
要求:
LV1+
熟练使用 Office 等办公软件。
具备基本的 Linux 操作的基础,例如会在命令行使用 cd/ps/mkdir/make 等。
(加分)具备基本的 git 操作基础,会使用 git clone,知道有 submodule 的概念。
(加分)能够有比较好的英语的阅读和书写能力。英语的口头表达能力不要求。
NJ51 Arch Linux RISC-V 发行版构建 实习生
工作内容:
从事 Linux 发行版的软件包构建、测试、分析工作。
要求:
LV2+;喜欢从事开源软件开发工作。
NJ50 Debian/Ubuntu RISC-V 发行版构建 实习生
工作内容:
从事 Linux 发行版的软件包构建、测试、分析工作。
要求:
LV2+;喜欢从事开源软件开发工作。
NJ49 Fedora RISC-V 发行版构建 实习生
工作内容:
从事 Linux 发行版的软件包构建、测试、分析工作。
要求:
LV2+;喜欢从事开源软件开发工作。
HZ48 Chisel 开发实习生
工作内容:
加入 Chisel 小队,从事 Chisel 的开发工作。
要求:
LV2+;有一点 Chisel 的基础。
此项工作将由 Sequencer 等社区活跃开发者指导。
BJ47 Gentoo RISC-V 开发实习生
要求:LV2或以上。
Requirement:
0) have interest in open source
1) self-motivated, self-learning
2) have *time* to contribute
3) good english communication skill at least capable of writing
4) familiar with Linux Distro
have experience with Gentoo would be great++
Note:
sophisticated programming skill is not a must,
but do prefer computer science (or related) background
works:
testing packages for ARCH=riscv in Gentoo Linux
a) if fail
*) file bugs (
https://bugs.gentoo.org)
*) report to upstream
+) help to fix (not a must)
b) or success
*) keywording packages and send PR
Testing Xfce4, KDE, Gnome, your choice!?
BJ46 Rust 工具链开发实习生
主要就是做 Rust for RISC-V 的工作,这是 Firefox on RISC-V 的一部分。确保 Rust 工具链和软件在 RV64GC 平台和 RV32GC 上可以跑起来,并进行功能的完善和性能的提升。
入职要求:
LV3+,能进行英语交流,对编译技术有很好的了解。对LLVM工具链和Rust有浓厚的兴趣。
远程实习,不需要坐班。
BJ45 MLIR 开源开发实习生
我们相信MLIR将会成为未来编译器框架的实施标准。因此从2021年开始,PLCT实验室将 MLIR 列入了「关键开源基础设施」名单,已经跟 LLVM、GCC 一样成为PLCT实验室的长期管理对象。
工作内容:
参与PLCT实验室 MLIR 相关项目的开发。
入职要求:
LV3+,能进行英语交流,对编译技术有很好的了解。对 MLIR 项目有浓厚的兴趣。
远程实习,不需要坐班。
BJ39 Web 前端开发实习生(1名)
目标:开发和维护包括 RISC-V 软件生态状态跟踪数据库 在内的 PLCT Lab 开发维护的各类 Web 页面。包括 HTML/CSS/JS。推荐和鼓励使用最新的前端框架。
入职要求:
LV2+
远程实习,不需要坐班。遵循每个月1号和16号的外部可见交付物报告制度。
BJ38 LuaJIT 开发实习生(1名)
目标:将 LuaJIT 移植到 RV64G 平台。
背景参考:
https://github.com/plctlab/plctlab.github.io/issues/9 入职要求:
LV4+,能进行英语交流,对编译技术有基本了解。如果事先了解过ELF格式、RISC-V或其他指令集、相关ABI文档,那么都算是加分项。
远程实习,不需要坐班。
BJ37 GCC 开发实习生 (10名)
最近PLCT实验室在参与RISC-V国际基金会的相关新指令扩展的工作,具体内容是为 unratified extensions (就是还在制定中的扩展指令集)进行 GNU Toolchain 的实现,用于验证草案本身在设计上是否存在遗漏缺失、是否在功能或性能上有改进的空间。目前面向大学生及研究生招募开发者,以PLCT实验室实习生的身份,直接参与到RISC-V基金会管理下的GCC工具链开发中,并有可能后续直接将代码(patch)提交到上游(upstream)。最近开始有业界一线的大佬指导和review实习生的代码,是非常难得的学习机会。
与此同时,实习生岗位 BJ18 Clang/LLVM 开发实习生以及 BJ15 QEMU/Spike 开发实习生同样持续招聘。一个完整扩展指令参考实验和验证包括编译器、二进制工具、模拟器,都是需要的。
入职要求:
LV3+,能进行英语交流,对编译技术有基本了解。如果事先了解过ELF格式、RISC-V或其他指令集、相关ABI文档,那么都算是加分项。
远程实习,不需要坐班。
BJ17 V8 开发实习生(名额:9名)
工作内容:
参与PLCT实验室 V8 for RISC-V 相关项目的开发。
入职要求:
LV3+,能进行英语交流,对编译技术有基本了解。对 V8 for RISC-V 项目感兴趣。
https://github.com/v8-riscv/v8远程实习,不需要坐班。
BJ34 OpenJDK 开发实习生(名额:5名)
工作内容:
参与PLCT实验室 OpenJDK/OpenJ9 for RISC-V 相关项目的开发。帮助 RISC-V 社区将 Java 执行速度提高 100x 以上。
入职要求:
LV3+,能进行英语交流,对编译技术有基本了解。对 Java 虚拟机感兴趣。
远程实习,不需要坐班。
BJ18 Clang/LLVM 开发实习生 (名额:6名)
工作内容:
参与PLCT实验室 Clang/LLVM 相关项目的开发、技术分析、报告撰写。
入职要求:
LV3+,能进行英语交流,对编译技术有基本了解。
远程实习,不需要坐班。
BJ33 Spidermonkey 开发实习生(名额:2名)
工作内容:
就像将 V8 移植到 RISC-V 平台一样,将 Spidermonkey 移植到 RISC-V 平台。跟 mentor 一起将工作提交到 Mozilla upstream。
入职要求:
LV3+ 级别。能够进行英文的交流。
远程实习,不需要坐班。
BJ32 Dart for RISC-V 开发实习生(名额:2名)
工作内容:
就像将 V8 移植到 RISC-V 平台一样,将 Dart 移植到 RISC-V 平台。负责跟 Dart 上游交流,将移植工作 upstream。
入职要求:
LV4+,能进行英语交流,对编译技术有基本了解。写过 Dart 程序。
远程实习,不需要坐班。
BJ15 QEMU/Spike 开源模拟器开发实习生(名额:2名)
工作内容:
参与PLCT实验室在QEMU、Spike等相关开源项目的开发。
入职要求:
LV3+,对模拟器的内部实现有兴趣。
远程实习,不需要坐班。
简历投递方式
以下内容请认真阅读。不符合条件邮件不会收到回复。
有意者请投递简历至:吴伟 wuwei2016@iscas.ac.cn 。
邮件标题请注明:岗位编号 - 姓名 - 手机号码。
邮件正文请进行自我介绍,不超过200字。
请附带PDF格式近期简历。
未按照要求注明标题的或无自我介绍的邮件会被默拒,不会有回复。
如果感兴趣但是还不确定是否投简历,欢迎直接添加PLCT实验室创始人暨招聘负责人吴伟的微信 fangzhang1024 聊一聊,看看是不是跟你想的一样。(添加好友时请标注PLCT或者招聘字样方便通过)。
--
FROM 124.64.70.*