├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── bunbun.md ├── how-do-we-interview-interns.md ├── how-do-we-rank-interns.md ├── img └── jd144 │ ├── IMG_5181.heic │ ├── architecture.jpg │ └── thumbnail.png ├── open-internships.md ├── outstanding-interns.md └── so-you-want-to-join-us.md /.gitignore: -------------------------------------------------------------------------------- 1 | ## Core latex/pdflatex auxiliary files: 2 | *.aux 3 | *.lof 4 | *.log 5 | *.lot 6 | *.fls 7 | *.out 8 | *.toc 9 | *.fmt 10 | *.fot 11 | *.cb 12 | *.cb2 13 | 14 | ## Intermediate documents: 15 | *.dvi 16 | *-converted-to.* 17 | # these rules might exclude image files for figures etc. 18 | # *.ps 19 | # *.eps 20 | # *.pdf 21 | 22 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 23 | *.bbl 24 | *.bcf 25 | *.blg 26 | *-blx.aux 27 | *-blx.bib 28 | *.brf 29 | *.run.xml 30 | 31 | ## Build tool auxiliary files: 32 | *.fdb_latexmk 33 | *.synctex 34 | *.synctex.gz 35 | *.synctex.gz(busy) 36 | *.pdfsync 37 | 38 | ## Auxiliary and intermediate files from other packages: 39 | # algorithms 40 | *.alg 41 | *.loa 42 | 43 | # achemso 44 | acs-*.bib 45 | 46 | # amsthm 47 | *.thm 48 | 49 | # beamer 50 | *.nav 51 | *.snm 52 | *.vrb 53 | 54 | # cprotect 55 | *.cpt 56 | 57 | # fixme 58 | *.lox 59 | 60 | #(r)(e)ledmac/(r)(e)ledpar 61 | *.end 62 | *.?end 63 | *.[1-9] 64 | *.[1-9][0-9] 65 | *.[1-9][0-9][0-9] 66 | *.[1-9]R 67 | *.[1-9][0-9]R 68 | *.[1-9][0-9][0-9]R 69 | *.eledsec[1-9] 70 | *.eledsec[1-9]R 71 | *.eledsec[1-9][0-9] 72 | *.eledsec[1-9][0-9]R 73 | *.eledsec[1-9][0-9][0-9] 74 | *.eledsec[1-9][0-9][0-9]R 75 | 76 | # glossaries 77 | *.acn 78 | *.acr 79 | *.glg 80 | *.glo 81 | *.gls 82 | *.glsdefs 83 | 84 | # gnuplottex 85 | *-gnuplottex-* 86 | 87 | # hyperref 88 | *.brf 89 | 90 | # knitr 91 | *-concordance.tex 92 | # TODO Comment the next line if you want to keep your tikz graphics files 93 | *.tikz 94 | *-tikzDictionary 95 | 96 | # listings 97 | *.lol 98 | 99 | # makeidx 100 | *.idx 101 | *.ilg 102 | *.ind 103 | *.ist 104 | 105 | # minitoc 106 | *.maf 107 | *.mlf 108 | *.mlt 109 | *.mtc 110 | *.mtc[0-9] 111 | *.mtc[1-9][0-9] 112 | 113 | # minted 114 | _minted* 115 | *.pyg 116 | 117 | # morewrites 118 | *.mw 119 | 120 | # mylatexformat 121 | *.fmt 122 | 123 | # nomencl 124 | *.nlo 125 | 126 | # sagetex 127 | *.sagetex.sage 128 | *.sagetex.py 129 | *.sagetex.scmd 130 | 131 | # sympy 132 | *.sout 133 | *.sympy 134 | sympy-plots-for-*.tex/ 135 | 136 | # pdfcomment 137 | *.upa 138 | *.upb 139 | 140 | # pythontex 141 | *.pytxcode 142 | pythontex-files-*/ 143 | 144 | # thmtools 145 | *.loe 146 | 147 | # TikZ & PGF 148 | *.dpth 149 | *.md5 150 | *.auxlock 151 | 152 | # todonotes 153 | *.tdo 154 | 155 | # xindy 156 | *.xdy 157 | 158 | # xypic precompiled matrices 159 | *.xyc 160 | 161 | # endfloat 162 | *.ttt 163 | *.fff 164 | 165 | # Latexian 166 | TSWLatexianTemp* 167 | 168 | ## Editors: 169 | # WinEdt 170 | *.bak 171 | *.sav 172 | 173 | # Texpad 174 | .texpadtmp 175 | 176 | # Kile 177 | *.backup 178 | *.bk 179 | 180 | # KBibTeX 181 | *~[0-9]* 182 | .DS_Store 183 | *.swp 184 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-ShareAlike 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More_considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-ShareAlike 4.0 International Public 58 | License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-ShareAlike 4.0 International Public License ("Public 63 | License"). To the extent this Public License may be interpreted as a 64 | contract, You are granted the Licensed Rights in consideration of Your 65 | acceptance of these terms and conditions, and the Licensor grants You 66 | such rights in consideration of benefits the Licensor receives from 67 | making the Licensed Material available under these terms and 68 | conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. BY-SA Compatible License means a license listed at 88 | creativecommons.org/compatiblelicenses, approved by Creative 89 | Commons as essentially the equivalent of this Public License. 90 | 91 | d. Copyright and Similar Rights means copyright and/or similar rights 92 | closely related to copyright including, without limitation, 93 | performance, broadcast, sound recording, and Sui Generis Database 94 | Rights, without regard to how the rights are labeled or 95 | categorized. For purposes of this Public License, the rights 96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 97 | Rights. 98 | 99 | e. Effective Technological Measures means those measures that, in the 100 | absence of proper authority, may not be circumvented under laws 101 | fulfilling obligations under Article 11 of the WIPO Copyright 102 | Treaty adopted on December 20, 1996, and/or similar international 103 | agreements. 104 | 105 | f. Exceptions and Limitations means fair use, fair dealing, and/or 106 | any other exception or limitation to Copyright and Similar Rights 107 | that applies to Your use of the Licensed Material. 108 | 109 | g. License Elements means the license attributes listed in the name 110 | of a Creative Commons Public License. The License Elements of this 111 | Public License are Attribution and ShareAlike. 112 | 113 | h. Licensed Material means the artistic or literary work, database, 114 | or other material to which the Licensor applied this Public 115 | License. 116 | 117 | i. Licensed Rights means the rights granted to You subject to the 118 | terms and conditions of this Public License, which are limited to 119 | all Copyright and Similar Rights that apply to Your use of the 120 | Licensed Material and that the Licensor has authority to license. 121 | 122 | j. Licensor means the individual(s) or entity(ies) granting rights 123 | under this Public License. 124 | 125 | k. Share means to provide material to the public by any means or 126 | process that requires permission under the Licensed Rights, such 127 | as reproduction, public display, public performance, distribution, 128 | dissemination, communication, or importation, and to make material 129 | available to the public including in ways that members of the 130 | public may access the material from a place and at a time 131 | individually chosen by them. 132 | 133 | l. Sui Generis Database Rights means rights other than copyright 134 | resulting from Directive 96/9/EC of the European Parliament and of 135 | the Council of 11 March 1996 on the legal protection of databases, 136 | as amended and/or succeeded, as well as other essentially 137 | equivalent rights anywhere in the world. 138 | 139 | m. You means the individual or entity exercising the Licensed Rights 140 | under this Public License. Your has a corresponding meaning. 141 | 142 | 143 | Section 2 -- Scope. 144 | 145 | a. License grant. 146 | 147 | 1. Subject to the terms and conditions of this Public License, 148 | the Licensor hereby grants You a worldwide, royalty-free, 149 | non-sublicensable, non-exclusive, irrevocable license to 150 | exercise the Licensed Rights in the Licensed Material to: 151 | 152 | a. reproduce and Share the Licensed Material, in whole or 153 | in part; and 154 | 155 | b. produce, reproduce, and Share Adapted Material. 156 | 157 | 2. Exceptions and Limitations. For the avoidance of doubt, where 158 | Exceptions and Limitations apply to Your use, this Public 159 | License does not apply, and You do not need to comply with 160 | its terms and conditions. 161 | 162 | 3. Term. The term of this Public License is specified in Section 163 | 6(a). 164 | 165 | 4. Media and formats; technical modifications allowed. The 166 | Licensor authorizes You to exercise the Licensed Rights in 167 | all media and formats whether now known or hereafter created, 168 | and to make technical modifications necessary to do so. The 169 | Licensor waives and/or agrees not to assert any right or 170 | authority to forbid You from making technical modifications 171 | necessary to exercise the Licensed Rights, including 172 | technical modifications necessary to circumvent Effective 173 | Technological Measures. For purposes of this Public License, 174 | simply making modifications authorized by this Section 2(a) 175 | (4) never produces Adapted Material. 176 | 177 | 5. Downstream recipients. 178 | 179 | a. Offer from the Licensor -- Licensed Material. Every 180 | recipient of the Licensed Material automatically 181 | receives an offer from the Licensor to exercise the 182 | Licensed Rights under the terms and conditions of this 183 | Public License. 184 | 185 | b. Additional offer from the Licensor -- Adapted Material. 186 | Every recipient of Adapted Material from You 187 | automatically receives an offer from the Licensor to 188 | exercise the Licensed Rights in the Adapted Material 189 | under the conditions of the Adapter's License You apply. 190 | 191 | c. No downstream restrictions. You may not offer or impose 192 | any additional or different terms or conditions on, or 193 | apply any Effective Technological Measures to, the 194 | Licensed Material if doing so restricts exercise of the 195 | Licensed Rights by any recipient of the Licensed 196 | Material. 197 | 198 | 6. No endorsement. Nothing in this Public License constitutes or 199 | may be construed as permission to assert or imply that You 200 | are, or that Your use of the Licensed Material is, connected 201 | with, or sponsored, endorsed, or granted official status by, 202 | the Licensor or others designated to receive attribution as 203 | provided in Section 3(a)(1)(A)(i). 204 | 205 | b. Other rights. 206 | 207 | 1. Moral rights, such as the right of integrity, are not 208 | licensed under this Public License, nor are publicity, 209 | privacy, and/or other similar personality rights; however, to 210 | the extent possible, the Licensor waives and/or agrees not to 211 | assert any such rights held by the Licensor to the limited 212 | extent necessary to allow You to exercise the Licensed 213 | Rights, but not otherwise. 214 | 215 | 2. Patent and trademark rights are not licensed under this 216 | Public License. 217 | 218 | 3. To the extent possible, the Licensor waives any right to 219 | collect royalties from You for the exercise of the Licensed 220 | Rights, whether directly or through a collecting society 221 | under any voluntary or waivable statutory or compulsory 222 | licensing scheme. In all other cases the Licensor expressly 223 | reserves any right to collect such royalties. 224 | 225 | 226 | Section 3 -- License Conditions. 227 | 228 | Your exercise of the Licensed Rights is expressly made subject to the 229 | following conditions. 230 | 231 | a. Attribution. 232 | 233 | 1. If You Share the Licensed Material (including in modified 234 | form), You must: 235 | 236 | a. retain the following if it is supplied by the Licensor 237 | with the Licensed Material: 238 | 239 | i. identification of the creator(s) of the Licensed 240 | Material and any others designated to receive 241 | attribution, in any reasonable manner requested by 242 | the Licensor (including by pseudonym if 243 | designated); 244 | 245 | ii. a copyright notice; 246 | 247 | iii. a notice that refers to this Public License; 248 | 249 | iv. a notice that refers to the disclaimer of 250 | warranties; 251 | 252 | v. a URI or hyperlink to the Licensed Material to the 253 | extent reasonably practicable; 254 | 255 | b. indicate if You modified the Licensed Material and 256 | retain an indication of any previous modifications; and 257 | 258 | c. indicate the Licensed Material is licensed under this 259 | Public License, and include the text of, or the URI or 260 | hyperlink to, this Public License. 261 | 262 | 2. You may satisfy the conditions in Section 3(a)(1) in any 263 | reasonable manner based on the medium, means, and context in 264 | which You Share the Licensed Material. For example, it may be 265 | reasonable to satisfy the conditions by providing a URI or 266 | hyperlink to a resource that includes the required 267 | information. 268 | 269 | 3. If requested by the Licensor, You must remove any of the 270 | information required by Section 3(a)(1)(A) to the extent 271 | reasonably practicable. 272 | 273 | b. ShareAlike. 274 | 275 | In addition to the conditions in Section 3(a), if You Share 276 | Adapted Material You produce, the following conditions also apply. 277 | 278 | 1. The Adapter's License You apply must be a Creative Commons 279 | license with the same License Elements, this version or 280 | later, or a BY-SA Compatible License. 281 | 282 | 2. You must include the text of, or the URI or hyperlink to, the 283 | Adapter's License You apply. You may satisfy this condition 284 | in any reasonable manner based on the medium, means, and 285 | context in which You Share Adapted Material. 286 | 287 | 3. You may not offer or impose any additional or different terms 288 | or conditions on, or apply any Effective Technological 289 | Measures to, Adapted Material that restrict exercise of the 290 | rights granted under the Adapter's License You apply. 291 | 292 | 293 | Section 4 -- Sui Generis Database Rights. 294 | 295 | Where the Licensed Rights include Sui Generis Database Rights that 296 | apply to Your use of the Licensed Material: 297 | 298 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 299 | to extract, reuse, reproduce, and Share all or a substantial 300 | portion of the contents of the database; 301 | 302 | b. if You include all or a substantial portion of the database 303 | contents in a database in which You have Sui Generis Database 304 | Rights, then the database in which You have Sui Generis Database 305 | Rights (but not its individual contents) is Adapted Material, 306 | 307 | including for purposes of Section 3(b); and 308 | c. You must comply with the conditions in Section 3(a) if You Share 309 | all or a substantial portion of the contents of the database. 310 | 311 | For the avoidance of doubt, this Section 4 supplements and does not 312 | replace Your obligations under this Public License where the Licensed 313 | Rights include other Copyright and Similar Rights. 314 | 315 | 316 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 317 | 318 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 319 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 320 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 321 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 322 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 323 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 324 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 325 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 326 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 327 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 328 | 329 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 330 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 331 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 332 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 333 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 334 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 335 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 336 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 337 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 338 | 339 | c. The disclaimer of warranties and limitation of liability provided 340 | above shall be interpreted in a manner that, to the extent 341 | possible, most closely approximates an absolute disclaimer and 342 | waiver of all liability. 343 | 344 | 345 | Section 6 -- Term and Termination. 346 | 347 | a. This Public License applies for the term of the Copyright and 348 | Similar Rights licensed here. However, if You fail to comply with 349 | this Public License, then Your rights under this Public License 350 | terminate automatically. 351 | 352 | b. Where Your right to use the Licensed Material has terminated under 353 | Section 6(a), it reinstates: 354 | 355 | 1. automatically as of the date the violation is cured, provided 356 | it is cured within 30 days of Your discovery of the 357 | violation; or 358 | 359 | 2. upon express reinstatement by the Licensor. 360 | 361 | For the avoidance of doubt, this Section 6(b) does not affect any 362 | right the Licensor may have to seek remedies for Your violations 363 | of this Public License. 364 | 365 | c. For the avoidance of doubt, the Licensor may also offer the 366 | Licensed Material under separate terms or conditions or stop 367 | distributing the Licensed Material at any time; however, doing so 368 | will not terminate this Public License. 369 | 370 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 371 | License. 372 | 373 | 374 | Section 7 -- Other Terms and Conditions. 375 | 376 | a. The Licensor shall not be bound by any additional or different 377 | terms or conditions communicated by You unless expressly agreed. 378 | 379 | b. Any arrangements, understandings, or agreements regarding the 380 | Licensed Material not stated herein are separate from and 381 | independent of the terms and conditions of this Public License. 382 | 383 | 384 | Section 8 -- Interpretation. 385 | 386 | a. For the avoidance of doubt, this Public License does not, and 387 | shall not be interpreted to, reduce, limit, restrict, or impose 388 | conditions on any use of the Licensed Material that could lawfully 389 | be made without permission under this Public License. 390 | 391 | b. To the extent possible, if any provision of this Public License is 392 | deemed unenforceable, it shall be automatically reformed to the 393 | minimum extent necessary to make it enforceable. If the provision 394 | cannot be reformed, it shall be severed from this Public License 395 | without affecting the enforceability of the remaining terms and 396 | conditions. 397 | 398 | c. No term or condition of this Public License will be waived and no 399 | failure to comply consented to unless expressly agreed to by the 400 | Licensor. 401 | 402 | d. Nothing in this Public License constitutes or may be interpreted 403 | as a limitation upon, or waiver of, any privileges and immunities 404 | that apply to the Licensor or You, including from the legal 405 | processes of any jurisdiction or authority. 406 | 407 | 408 | ======================================================================= 409 | 410 | Creative Commons is not a party to its public 411 | licenses. Notwithstanding, Creative Commons may elect to apply one of 412 | its public licenses to material it publishes and in those instances 413 | will be considered the “Licensor.” The text of the Creative Commons 414 | public licenses is dedicated to the public domain under the CC0 Public 415 | Domain Dedication. Except for the limited purpose of indicating that 416 | material is shared under a Creative Commons public license or as 417 | otherwise permitted by the Creative Commons policies published at 418 | creativecommons.org/policies, Creative Commons does not authorize the 419 | use of the trademark "Creative Commons" or any other trademark or logo 420 | of Creative Commons without its prior written consent including, 421 | without limitation, in connection with any unauthorized modifications 422 | to any of its public licenses or any other arrangements, 423 | understandings, or agreements concerning use of licensed material. For 424 | the avoidance of doubt, this paragraph does not form part of the 425 | public licenses. 426 | 427 | Creative Commons may be contacted at creativecommons.org. 428 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | echo "We Love Interns!" 3 | 4 | .PHONY: all 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # weloveinterns 2 | 3 | ## 甲辰计划开源实习生联合招聘培养 4 | 5 | 参见 [启动通告](https://mp.weixin.qq.com/s/TenVAVzaWuUWGIWodGaFKA) 6 | 7 | > 2024年6月8日,甲辰计划主理人吴伟向甲辰计划成员单位发布【开源实习生联合招聘培养】新项目。这个项目的动机和出发点是「成员单位用最小的金钱和管理资源投入,完成对就自己企业有用的RISC-V生态建设目标的加速」,充分结合甲辰计划主理人在过去10年的大规模实习生培养经验,依托PLCT实验室在开源社区领域已经建立的工作积累,自甲辰龙年开始,每年开放超过2000名实习名额,并招募超过1000人次的学生参与实习。 8 | 9 | ## We ❤️ interns 10 | 11 | 开源软件已经作为全人类知识的基础设施。我们的实习岗位默认都是做开源软件贡献。欢迎加入,做一些微小的工作,一起推动开源软件社区的发展。 12 | 13 | 我们相信并看重你的潜力。只要你对我们的工作有兴趣,有强烈的上进心,希望能够有更强的技术能力,并且能够积极而谦卑地与他人一起共事,你就是我们正在寻找的人。我们不看重985或211,不看专业和年级排名,完全按照工作能力和潜力进行选拔。我们相信女性在STEM领域的潜力,并预留至少 30% 的实习生岗位给女性应聘者。 14 | 15 | ## 实习之后可以得到什么 16 | 17 | 1. 变强。直接参与到对于人类社会非常重要的开源项目。在很多层面上改变自己对技术、社会、自身的评判。 18 | 2. 被认可。在开源社区贡献中活跃的同学,有很大可能被开源社区接受和信任,拥有更大的代码提交权限。 19 | 3. 工作机会。表现优秀实习生会得到软件所的全职Offer以及BAT等大厂的内推。 20 | 21 | ## 团队简介 22 | 23 | **PLCT实验室** 全称是程序语言与编译技术实验室。PLCT致力于成为编译技术领域的开源领导者,推进工具链及运行时系统等软件基础设施的技术革新, 具备主导开发和维护重要基础设施的技术及管理能力。与此同时,致力于培养一万名编译领域尖端人才,推动先进编译技术在国内的普及和发展。 24 | 25 | PLCT实验室隶属于中国科学院软件研究所(ISCAS)[智能软件研究中心(ISRC)](https://isrc.iscas.ac.cn),[weloveinterns](https://github.com/lazyparser/weloveinterns/) 是PLCT实验室有关实习生招募、培养、成果展示的仓库。 26 | 27 | **文文新闻报社** 是 PLCT 实验室里的一个相对独立的社团,致力于为 PLCT 中的 PL 世界添砖 Java。相关介绍在[专门的文档](bunbun.md)里。 28 | 29 | **苦芽科技** 是2023年6月PLCT实验室第一次大裁员之后成立的初创公司,联合创始人李威威是前PLCT实验室模拟器团队主管,联合创始人王俊强是PLCT实验室操作系统团队TARSIER团队主管(TARSIER团队已经于2023年6-8月解散)。苦芽科技的建立参见 [苦芽成立通告](https://mp.weixin.qq.com/s/u_-5x-WeZlsWm39NykM80w)。 30 | 31 | **酸橙小队** 是另一组2023年6月PLCT实验室第一次大裁员之后被剥离的小队,在短暂的独立运营半年之后,于[2024年4月并入苦芽科技](https://mp.weixin.qq.com/s/F61y53BnISjrRCBbqvlYTg)作为子部门运营。酸橙小队同时是「RISC-V软件移植与优化锦标赛」的主办组织。 32 | 33 | ## 参考链接 34 | 35 | - [极简项目管理](https://github.com/lazyparser/minimalist-team-leader) 是目前PLCT实验室的管理方式,实习生也在管理范围内。请先阅读。 36 | - [我们如何进行实习生招聘](how-do-we-interview-interns.md) 37 | - [我们如何对实习生进行能力评定和培养](how-do-we-rank-interns.md) 38 | - [实习生岗位](open-internships.md) 39 | - [实习生存手册](https://github.com/lazyparser/survivial-manual-for-interns) 目前还在断断续续的撰写中,欢迎围观和贡献PR (Pull Requests) 40 | - PLCT Lab 维护了着自己的月刊:[PLCT开源进展](https://github.com/plctlab/PLCT-Weekly)。如果想来PLCT实验室,请务必提前阅读。 41 | 42 | ## 三年及更早之前的数据 43 | 44 | 由于时效性和正确性等原因,2024年10月份本仓库删除了2021年及更早的一些实习生调研报告等。如果您感兴趣或想要查找自己提交过的报告,可以 clone 本仓库并 ' 45 | `git checkout -b old-happy-time 664048d87ae7cb2510689da17e04d86027dc27c1` 得到。也可以 [直接GitHub上查看](https://github.com/plctlab/weloveinterns/tree/664048d87ae7cb2510689da17e04d86027dc27c1)。 46 | -------------------------------------------------------------------------------- /bunbun.md: -------------------------------------------------------------------------------- 1 | # 文文新闻报社 2 | 3 | 大家好,我们是 PLCT 实验室里负责编程语言和类型系统的理论与实现研究的社团。 4 | 5 | + 本文作为社团广告,将简要介绍本社的起源、工作内容、现状和我们的招募标准,并将不定期更新。 6 | + 本文将会假设读者具有社团所涉及的领域的相关知识,所以会有一定的阅读门槛。 7 | 8 | ### 动机 9 | 10 | 这个社团主要开发的项目是一个叫做 Aya 的编程语言和定理证明器(目前有一个[简单的官网](https://www.aya-prover.org))。我们认为,近年编程语言的学术界的前沿研究已经达到了一个理论半饱和、需要和实践结合的状态(即,有很多存在于理论里的事物缺乏实际的实现)。其次,如果一个编程语言方面的工作仅存在于理论中,我们是很难发现它潜在的问题和全部的潜力的。如果我们能把一些功能实现出来,或许能从中发现更多的美妙的事实。我们并不是唯一持有这样观点的人,[这个幻灯片](https://www.jonmsterling.com/slides/sterling:2022:wits.pdf)的第 17 页也表达了这样的观点。 11 | 12 | ~~于是,我们以「为将来从事编程语言的研究做准备」为动机、「实现学术型(即能进行定理证明的)编程语言」为载体,社团成员的编程语言愿景为抓手、「类型论的范畴模型」引导方法论,打出一套定理证明的组合拳。~~ 13 | 14 | 把学术研究实现在实际的编程语言里有以下好处: 15 | 16 | - 实现出一个特性并且自己去用它写代码,我们才能对这个东西「有冇用」建立直观感受。 17 | - 我们可能会在论文中犯错,实现是很好的测试手段。实现出这些东西之后,我们才能真实可靠地进行测试和实验。如果我们有新的发现,这些发现都可以写成论文,比如[这种](https://arxiv.org/abs/1911.08174)。 18 | - 实现编程语言本身就是一件很浪漫的事情(知乎用户 vczh 钦点的计算机三大浪漫之一)。 19 | - 我们有 [@lazyparser](https://github.com/lazyparser) 和 PLCT 实验室的支持,所以我们把 PL(编程语言理论)知识给 CT(编译器技术)化很符合公司的主题。 20 | - 数量不菲的理论工作者并没有较好的编程基础和足够的软件工程功底(不是所有人都有魔理沙或者胡渊鸣那种理论实践双修的素质)来开发用户友好的学术研究型编程语言(看看 Agda 有多难安装,就可以知道)。我们希望自己试一试,能不能在这方面做的更好。Lean 在这方面做了一些榜样。 21 | - 高维类型论目前没有特别好用的实现。由于 Cubical Agda 使用了奇怪的约束系统编码立方类型论的「边界条件」导致目前 cooltt 成了全村的希望。但是 cooltt 的基础类型论 CCTT 过于复杂(这个理论需要的限制面语法太复杂了,等价于外延相等类型)。 22 | - 类型论社区有严重的「准入门槛」(accessibility barrier)(例如立方类型论中把限制面称为「上纤维化」,但实际上在编程语言的角度理解这个概念完全不需要理解模型范畴),我们希望能为广大编程爱好者提供友好的学习资源。 23 | 24 | 在这些思考下,Aya 这个项目诞生了。此处我们提供一些历史资料: 25 | 26 | 1. 初始的项目提案是一个[腾讯文档](https://docs.qq.com/doc/DZGNTcnViekRJTmp3)(包含技术选型、愿景、时间安排计划等内容) 27 | 2. 在进行了 8 个月的开发后存在一次[开发总结](https://docs.google.com/document/d/1P4UnVW3C4n_vIyYfozSXBYs9SOzwGrnJD7QmmWcITp8/edit)(包含被诅咒的传说、永远的勿忘草、神明的造物、罪与罚) 28 | 3. 部分计划也被放进了一次演讲的 [slides](https://docs.google.com/presentation/d/1FIZnRzFUJK1AwMGMAil1wt7k1bbDRIdNeMb62FiB4QE/edit) 里 29 | 4. 后来在 Idris Developer's Meeting 上进行过一次分享,这里是 [slides](https://docs.google.com/presentation/d/1OnxX2WE3CV_EuBmHOKJwiKRxKytZ6Z7hNTKGiXq2h9E/edit) 30 | 5. 红黑树 [showcase](https://docs.google.com/presentation/d/1st0TeiIIe_voZ1mx52N4BqnPuxYALaEMHMjCg6Y40vY/edit) 31 | 6. TyDe workshop 上关于索引类型族的分享 [slides](https://docs.google.com/presentation/d/1Gv-2CymnE_9DLuMYbEtyfoNOPpggyMhm3feN1qR2LeU/edit) 32 | 33 | ### 近况和技术栈 34 | 35 | 我们已经实现了一个有如下证明能力的定理证明器: 36 | 37 | + 定义立方类型论里的内涵等号类型,背后是「扩展类型」(命名来自于[这篇论文](https://arxiv.org/abs/1705.07442)) 38 | + 定义自然数和整数以及这两个类型的一些交换律、结合律、分配律等基本性质 39 | + 定义带索引的红黑树,使用类型确保子节点黑高相同 40 | 41 | 并且为它搭载了一个文学编程模式和一个简易的语言服务器(language server)和配套的 [VSCode 插件](https://github.com/aya-prover/aya-vscode)。下一步的计划是实现包管理等工具链方面的功能,然后开始标准库(初具雏形)、元编程模式和 JIT 编译器的开发。 42 | 43 | [这里](https://cha.fan/articles/3d9u3PXL2BMURmST2y8Q)有一篇文章介绍 Aya 编程语言截止 2021 年 8 月已经实现的一些比较有特色的功能。我们希望进一步吸取欧系编程语言理论研究中的成果。我们在 2022 年决定抛弃原本的类型论、转而实现完整的立方类型论,这次迁移花费了巨量的时间,截止 2022 年 9 月也没有完成。 44 | 45 | 我们始终使用最新版本的 Java 工具链(包含接近最新版本的 Gradle、ANTLR4、IntelliJ IDEA)、VSCode(用于开发编辑器插件)和 Git/GitHub 进行开发。截止本文发布,最新的版本是 Java 18。选择 Java 的原因已经[写在这里](https://cha.fan/articles/4RFySaAW8b7hEHXBknkz)了,这里不再赘述。 46 | 47 | + 我们广泛地使用新版本的 Java 语言特性(对于 C# 等竞争对手而言都是很古老的特性了),包括但不限于密封类、局部类型推导、结构体(record)、模式匹配等功能。 48 | + 由于 Java 标准库对于集合的抽象缺乏对可变性的控制,我们采用了第三方的集合框架 [kala](https://github.com/Glavo/kala-common),也是一位社团成员的个人项目。 49 | + 我们使用 jlink 工具打包我们的项目,使得安装 Aya 编译器时不需要单独安装 Java 运行时,卸载 Aya 也不需要单独去卸载 Java 运行时(会比 Minecraft 容易安装许多)。通过 jpackage 我们可以进一步实现无脑的安装,实现对非计算机专家的高友好度。 50 | 51 | ### 愿景 52 | 53 | - 我们希望能在软件安装上做到像 VSCode 或者 CoqIDE 一样简便。 54 | - 我们希望能设计出 Lean4 的元编程框架一样美好的元编程框架(tactic system),并开发一个类似 [mathlib](https://github.com/leanprover-community/mathlib) 的数学形式化库。 55 | - 我们希望能实现 [Arend 标准宏](https://arend-lang.github.io/documentation/standard-tactics)、[Agsy](https://github.com/frelindb/agsyHOL)、[Isabelle sledgehammer](https://isabelle.in.tum.de/website-Isabelle2009-1/sledgehammer.html) 等软件一样强大的命题求解器,这样可以大幅缓解入门门槛。 56 | - 我们希望我们的编程语言可以被 JIT 编译到 Java 字节码,然后被 Java 虚拟机进一步 JIT 编译成机器码,实现很好的计算性能的同时达到编译的效果。使用 GraalVM 可以进一步把编译出的 Java 字节码静态编译成可执行文件。 57 | - 我们希望能设计出一个适合用于博客和论文编写的文学编程模式。现在这个功能有一个[介绍视频](https://www.bilibili.com/video/bv1K64y1q7f3),但是以后可能会有所改动。 58 | - 我们希望能拥有一个尽可能强大的类型系统,并且至少拥有同伦类型系统的全部能力(注意,这不同于同伦类型论,见[这个文档](https://www.math.ias.edu/vladimir/sites/math.ias.edu.vladimir/files/HTS.pdf))。 59 | - 目前我们寄希望于 [OTT](https://hal.inria.fr/hal-03367052/document) 和 [CTT](https://staff.math.su.se/anders.mortberg/papers/cubicalagda2.pdf) 结合的 [2LTT](https://arxiv.org/abs/1705.03307)。 60 | - 我们希望使用 Aya 编程这件事很简单。 61 | - 我们希望 Aya 的工具链在中国大陆可以被轻松地访问到。为此,我们目前计划使用国内高校的镜像源技术,并官方推广某个镜像源。 62 | - 我们希望社员身心都健康,从社团活动中获得足够的知识和乐趣。 63 | 64 | ## 社团招新 65 | 66 | [实习岗位 JD](https://github.com/lazyparser/weloveinterns/blob/master/open-internships.md) 67 | 68 | 重点来了。本社秉持「更多的人不一定带来更高的生产力」的观点,实行**高门槛招募**。如果你想要加入我们,我们期望你拥有如下素质,不过如果你在某一个特定的方面**特别优秀**的话,可以无视这个标准。事实上,目前的成员其实基本全都不满足所有的标准,但是这些人都「在特定的方面特别优秀」。如果你能加入这个团队,你将和这样的一群人共事! 69 | 70 | + 满足 PLCT 评级标准中的「[LV4 - 大能力者](https://github.com/lazyparser/weloveinterns/blob/master/how-do-we-rank-interns.md#lv4-大能力者)」的大部分要求,以及 PLCT 的[入职要求](https://github.com/lazyparser/weloveinterns/blob/master/so-you-want-to-join-us.md#%E4%BD%A0%E9%9C%80%E8%A6%81%E6%BB%A1%E8%B6%B3%E7%9A%84%E6%9D%A1%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%B2%97%E4%BD%8D)。我们不要求掌握对于 LLVM 那种规模的怪兽级项目的拿捏能力,但是我们要求对于十万行 Java 代码这个规模的项目的掌控能力。编程语言方面,我们仅要求掌握 Java,但是熟悉 Haskell 或任意一个定理证明器(Agda, Coq, Lean, Idris, Nuprl, Isabelle, HOL, Andromeda, Arend, Beluga, Epigram, Dedukti, Cedille, Twelf, [Matita](http://matita.cs.unibo.it/) 等)或者逻辑编程语言(Prolog, Datalog)将会是一个很大的加分点。 71 | + 拥有基础的软件工程素养。你需要对面向对象编程(子类型多态、继承与子类型)、Java 编程(抽象类、接口等)、函数式编程(组合、数据不可变、惰性数据结构等思想)和设计模式(访问者模式、单例模式、工厂模式等)有一定熟悉程度,因为我们使用这些思想进行编程。你需要拥有良好的编程习惯,不要做出不格式化代码、提交 `.DS_Store`、仅局部使用的变量写成成员变量、在循环里使用 `+=` 拼接字符串、不跑测试就声称功能已完成、使用数组而不是集合类型存取数据等涉嫌气死 PR reviewer 的行为。有维护万行级别的代码的经验者为佳。 72 | + 会用开发工具,包括但不限于浏览器、Git/GitHub、IntelliJ IDEA 等工具。能在开源社区里和人打交道。 73 | + 对「依值类型系统」、「类型论」、和「同伦类型论」有一定的了解。这里有一个[参考学习路线](https://cha.fan/articles/5u9DV2LWWcjgJ8c7ha7T)。 74 | + 对事不对人的讨论态度、和其他社员(尤其是社长)撕逼的勇气。我们保持一个自由的氛围,在这个团队里没有什么条条框框,想说什么就说什么。对什么事情有意见,要大胆地说出来。不过在提意见的时候,我们希望你能提供一个解决方案,或者一些思路。 75 | 76 | 唯一的强制要求: 77 | 78 | + 对编程语言、类型系统方面的技术或是数学理论的有**强烈的兴趣**或者**个人利益上的关系**(例如:相关领域博士在读),**有强烈的求知欲**,能**接受失败**。本社的工作是学术研究,探索的是**全人类**在某一个小领域里的**最前沿**的技术,所以我们可能会面临**被同行犯的错误坑**、**被迫阅读过度复杂的算法**、**自己或者队友的失败**,可能会做出**根本不 make sense** 的垃圾功能,这样的代码我们肯定是要干掉的。我们要为此做好准备。 79 | 80 | ### 社团能给你带来的好处 81 | 82 | + 潜在的科研机会——如果你有一些编程语言或者类型系统方面的想法,在社员的帮助下,可以比起自己一个人更快地实现。我们可以教你写论文。 83 | + 跟进前沿研究、和拥有相似兴趣的人研讨技术的机会。 84 | + 获得特殊能力者帮助的机会,比如范畴论学习、类型论学习、写论文、组织代码等。 85 | + 学术界有很多秘密知识和神秘的名词仅通过口口相传得知(比如类型系统风格中的瑞典 vs 法国、演讲风格中的美国 vs 苏联、某些发明行不通的原因、一些奇奇怪怪的八卦等)。如果你目前并不身处学术界,却想了解这样的知识,本社可以为你带来这个机会。 86 | + 社团是 PLCT 的一份子,所以你也可以获取 PLCT 的资源,比如实习证明和实习工资。但是如果你想入职 PLCT,你需要有学校的在读证明或者社保缴纳证明。如果不能提供这两者之一,就只能成为编制外成员参与开发和讨论。 87 | + [weloveinterns/so-you-want-to-join-us.md#实习之后可以得到什么 · lazyparser/weloveinterns (github.com)](https://github.com/lazyparser/weloveinterns/blob/master/so-you-want-to-join-us.md#实习之后可以得到什么) 88 | 89 | ### 不能给你带来的好处 90 | 91 | + 我们都是活跃科研工作者或者尚未成为科研工作者的人(而不是高校里的导师),所以你不会像读博一样免费得到 idea。 92 | + 我们不会教你过于基础的知识(比如上面列出的),请自行学习。 93 | + 我们不会为你未来的就业负责,入行科研请[谨慎考虑](https://www.zhihu.com/question/307580157)。 94 | 95 | 如果你认为你想要加入本社,请联系本文的作者(`ice1000kotlin at foxmail dot com`),并尽可能按照[官方规定](https://github.com/lazyparser/weloveinterns/blob/master/open-internships.md#%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E6%8A%95%E9%80%92%E7%AE%80%E5%8E%86)撰写邮件。我们会先行对你的能力进行考察,然后你会被推荐给 PLCT。理论上符合本社要求的能力者都是符合 PLCT 入职要求的。 96 | 97 | 我们的 GitHub 组织是 。 98 | -------------------------------------------------------------------------------- /how-do-we-interview-interns.md: -------------------------------------------------------------------------------- 1 | # 我们如何进行实习生招募 2 | 3 | 这里我们详细说明PLCT实验室如何进行实习生的招募。 4 | 5 | ## 信息发布 6 | 7 | 每当有招聘信息,一般会在 github/plctlab/weloveinterns 仓库中进行更新。 8 | 9 | 同时我们也会提倡和鼓励现役的实习生推荐自己的学弟学妹。 10 | 11 | ## 收到简历之后,回复邮件添加微信 12 | 13 | 初次接触主要是信息的确认。收到简历邮件之后,吴老师会邮件回复实习候选人,并提供微信添加方式。有可能会在微信里确认以下内容: 14 | 15 | - 具体投递哪个岗位? 16 | - 自我能力评定是哪一个级别的LV? 17 | - 实习期可以从什么时间开始,到什么时间结束? 18 | - 对于来我司实习有什么简历里没有写的预期或期待?以后想进入哪家公司就职、或继续深造? 19 | 20 | ## 远程上机编程测试 21 | 22 | 所有技术门类实习生默认都需要上机考试,登陆进入远程Linux主机做3题C/C++编程基础。无法进入考试环境的同学直接fail。 23 | 24 | 远程上机考试要求是ssh远程登录考试的VM,进入tmux进行测试。 25 | 26 | 面试官和学生可以共享同一个 tmux 屏幕(不过现在基本上都是考生自己solo了)。 27 | 28 | ## mentor pick 29 | 30 | 如果LV2上机考试通过,那么恭喜你进入跟 mentor 直接聊的 mentor pick 环节。这是个**双向**选择的过程。mentor pick 是整个面试过程中的核心环节:实习需要跟着一位师父(mentor)实习,只有获得一位师父的认可,实习的契约才能成立。如果没有 pick 成功,没关系,有可能有机会重新换一个岗位(对应的 mentor)再试一次。 31 | 32 | 每个 mentor 关注的点不一样。一般而言会问: 33 | 34 | - 实习想要获得什么,技术兴趣所在。 35 | - 已经有了技术基础和开源积累。 36 | - 一些底层基础知识,例如网络原理、操作系统原理、编译原理等。 37 | - 实习结束后的简历想要如何写。 38 | 39 | ## 技术报告面试 40 | 41 | 大部分 mentor 会要求实习生候选人准备一个20-30分钟的技术分享。团队的各个主管参加并进行提问。 42 | 43 | 一般是一周左右的时间准备,题目是 mentor 命题报告。报告时间一般是提前1周约好。 44 | 45 | ## 开源社区贡献代码 46 | 47 | 部分 mentor 会要求直接去实习要去的开源社区完成一个真实的任务并提交PR,等被merge之后自动获得实习offer。 LLVM 相关的岗位比较常见此类试炼方式。 48 | 49 | ## 笔试(只有基地培养模式才会有) 50 | 51 | 批量实习培养的坐班实习生参与笔试。笔试包含了编程题目和基础能力测试。一个小时。三页纸左右,填空题为主。 52 | 53 | ## 通过 mentor pick 之后的 hr 契约 54 | 55 | 如果有 mentor 愿意 pick 你,恭喜。请回到吴伟老师这里,拉hr小群进行实习手续的介绍和契约的签订。实习开始之前有实习合同,结束之后可以开实习证明。实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。 56 | 57 | 需要注意实习生必须是在校大学生或大专生,有学信网在读证明,或者同等效力的证明材料。离开学校之后叫做兼职,兼职需要提供带有工伤保险的社保(所以灵活就业是无法在PLCT实验室办理兼职的)。 58 | 59 | ## 解除契约(终止实习) 60 | 61 | 实习合同是劳务合同,实习生随时可以结束实习,mentor 也随时可以终止合同。实习生离开前需要通知 mentor 和 hr。 62 | -------------------------------------------------------------------------------- /how-do-we-rank-interns.md: -------------------------------------------------------------------------------- 1 | 我们如何对实习生进行能力分级评定 2 | =========================== 3 | 4 | 我们模仿常盘台中学经验将能力者分为LV0到LV5六种不同的程度。达到不同的能力等级之后,具备对应的能力,承担相应的责任。能力等级评定采用仁慈独裁者模式,由 wuwei 评定。能力等级评定会参考 mentors 和 LV4+ 的意见。评价标准均以能否完成 PLCT 及其实习生联合培养单位的日常开发任务为评价标准,PLCT 及其实习生联合培养单位用不到的能力,不在评价范围。 5 | 6 | LV5 超能力者 7 | ----------- 8 | 9 | - 在LV4基础上,有能力独立分析和分解问题,整合各种资源完成任务。 10 | - 能够指导LV4及以下伙伴,能够独立领导开发团队并保证交付。 11 | - 有能力应对各类突发情况,并代表团队与mentor沟通。 12 | - 在某些情境下,被授予自主决定权,能够根据现场状况调整策略,是公司指挥链的一部分。 13 | 14 | LV5 不管是实习生还是员工,都具备了可以领导一个开发小组的能力。 15 | 16 | LV4 大能力者 17 | ----------- 18 | 19 | - 在LV3基础上,能够独立承担模块级别开发类工作,能够快速学习新领域知识。 20 | - **对于LLVM等大型软件系统,能够独立地完成调试、分析查错,找到问题根源并修复,确保开发任务的按时推进。** 21 | - 能够指导LV3以下伙伴,辅助伙伴完成开发任务。 22 | - 能够独立做技术报告和分享。 23 | - 能够察觉和指出LV4及其以上的错误、知识的盲区,并且纠正出现的错误。 24 | - 能够根据需要,独立的从0到1的为团队开辟一个新的知识领域,通过调研报告、技术分享、扩展开发等途径撑起一个细分的技术方向。 25 | 26 | LV4 是默认的全职员工招聘等级要求,达到LV4的实习生可以获得Offer。 27 | 28 | LV3 强能力者 29 | ----------- 30 | 31 | - 在LV2基础上,能够独立承担一周以上长度的代码开发工作。 32 | - **能够独立的分析遇到的bug或crash,具备较强的测试、调试、分析查错的能力。**(这是LV3的准入门槛) 33 | - 能够快速理解任务内涵并在mentor少量辅助下找到解决方法,完成任务。 34 | - **熟练使用一门以上编程语言**,一般是 C/C++/Java + Python/Ruby/Bash;例如C++要求熟练C++11及以上。 35 | - 熟练使用bash/python脚本语言。 36 | - 熟练阅读英文技术资料。 37 | - 能够熟练的进行公开的技术报告。 38 | 39 | 达到 LV3 级别的实习生将会有机会独立完成技术挑战。 40 | 41 | LV2 异能力者 42 | ----------- 43 | 44 | - 在LV1基础上,对于数据结构、算法导论、计算机组成原理/微机原理/计算机体系结构、现代数据库原理等课程有比较系统的了解,学习过,能够快速的复习和掌握。 45 | - 对编译原理、计算机网络、现代操作系统三门课程的知识,要有比较好的理解和记忆。 46 | - 能够熟练使用 Linux 命令行工具,包括 find、grep、sed 等,熟练使用不同小工具的参数和组合完成日常的任务。 47 | - **能够熟练使用 git 进行团队代码合作。** 48 | - 能够使用 C/C++/Java 中的一种语言完成开发任务,在 mentor 指导下进行一周以内的代码开发和测试。 49 | - 能够使用 Python/Bash/JS 中的某种语言熟练完成数据处理的任务。 50 | - 加分:能够自己进行软件调试,调试自己的代码。会使用 gdb 的同学加分。 51 | - 加分:知道并使用过 make、cmake 等构建脚本工具,会看懂和修改 Makefile,能够搞定简单的 CMake 配置问题。 52 | 53 | 这是实习生招募的默认门槛。大部分实习成员都是以LV2等级加入的。加入之后根据实习表现情况不定期晋级。 54 | 55 | LV1 低能力者 56 | ----------- 57 | 58 | - 至少掌握一门编程语言,C/C++/Java 必须掌握一门。(【掌握】在这里的意思是,知道基本的函数调用的概念、如何将源代码编译运行起来,可以写出来一个数组的读入、排序、按照格式输出的程序。) 59 | - 会基本的 Python/Bash 脚本编程。(这里【会】的意思是给了一段脚本之后,能够自己通过Google或书本完全弄懂脚本的意思。) 60 | - 具备基本 Office 软件操作能力;能够在组内进行技术报告。(新实习生每周三的周例会上会要求进行报告。) 61 | - 可以在mentor指导下完成函数级别的功能的开发,能够自己阅读代码,理解局部代码逻辑。 62 | - 有能力在指导下完成项目的测试、实验数据的收集和清洗、文档报告的撰写等内容。 63 | - 能够按照要求及时与mentor及同事沟通,做好工作的文字记录,总结问题与经验。 64 | - 有 Linux 的使用经验。(这里是指使用命令行的经验。常用的 grep find date sed tr head 等都需要熟悉。) 65 | - 要求会使用基本 git 和 GitHub/gitlab。(这里【基本】是指 clone commit push branch merge,GitHub操作是指发起 PR/MR,更新PR/MR,跟多个 remote 进行同步。) 66 | 67 | 我们一般不招募LV1。 68 | 69 | LV0 无能力者 70 | ----------- 71 | 72 | - 这是所有没有接触过软件开发的同学的默认状态。 73 | - 表示没有用任何编程语言写过代码,没有使用过编译器。 74 | - 对于数据结构等计算机基础知识没有概念。 75 | 76 | 我们一般不招募LV0。 77 | 78 | 文件更新记录 79 | ----------- 80 | 81 | - 第四版更新(2024年4月21日):删除过时的机器人团队信息;弱化了LV2的要求;简化了部分文字。 82 | - 第三版更新(2020年06月01日):增加了对于调试、分析查错的能力的要求和界定。 83 | - 第二版更新(2019年12月27日):提高了对于自主解决问题的能力。 84 | - 第一版公开(2019年03月14日):在6级等级之外,实习生等级可能还有一个附带的【见习】标注。【见习】是指尚未达到制定LV等级,处于培养阶段的实习生。例如【LV3见习】就是指超过了LV2等级,但是尚未完全满足LV3要求的状态。在技术划分之外,还有管理能力标注的【M】标注。带有【M】标注的实习生是以其组织管理能力作为最高LV评价标准,对应的其技术能力可能低于其M等级。 85 | -------------------------------------------------------------------------------- /img/jd144/IMG_5181.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/weloveinterns/4ba32ed9b63897bf03f01ad4ebcf20b4f0e15b5e/img/jd144/IMG_5181.heic -------------------------------------------------------------------------------- /img/jd144/architecture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/weloveinterns/4ba32ed9b63897bf03f01ad4ebcf20b4f0e15b5e/img/jd144/architecture.jpg -------------------------------------------------------------------------------- /img/jd144/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/weloveinterns/4ba32ed9b63897bf03f01ad4ebcf20b4f0e15b5e/img/jd144/thumbnail.png -------------------------------------------------------------------------------- /open-internships.md: -------------------------------------------------------------------------------- 1 | # 甲辰计划开源实习生联合招聘及培养 2 | 3 | ## weloveinterns 仓库演化介绍 4 | 5 | 本仓库目前主要包含甲辰计划开源实习生联合招聘计划的岗位信息,同时也包含了PLCT实验室的所有实习生招聘信息。本仓库(weloveinterns)2017年建立,一开始是创始人(lazyparser)为了吸引更多潜在实习生加入、同时为实习生提供成果展示的机会。后来随着团队的发展、剥离、合并,逐渐成为多个不同公司和研究团队、社会群体共享的实习生招聘信息和培训信息集散地。2019年PLCT实验室正式成立之后,逐步成为PLCT实验室的官方招聘页面;2024年甲辰计划开始之后,成为甲辰计划的招聘页面。这个项目的衍生下游,例如苦芽科技的 [kuloveinterns](https://github.com/kubuds/kuloveinterns/),共同构成了实习生社区的一部分。 6 | 7 | ## 关于甲辰计划开源实习生联合培养 8 | 9 | 详细背景介绍请移步《[甲辰计划主理人发起开源实习生联合招聘培养项目](https://mp.weixin.qq.com/s/TenVAVzaWuUWGIWodGaFKA)》。 10 | 11 | > 2024年6月8日,甲辰计划主理人吴伟向甲辰计划成员单位发布【开源实习生联合招聘培养】新项目。这个项目的动机和出发点是「成员单位用最小的金钱和管理资源投入,完成对就自己企业有用的RISC-V生态建设目标的加速」,充分结合甲辰计划主理人在过去10年的大规模实习生培养经验,依托PLCT实验室在开源社区领域已经建立的工作积累,自甲辰龙年开始,每年开放超过2000名实习名额,并招募超过1000人次的学生参与实习。 12 | 13 | ## 关于PLCT实验室(PLCT Lab) 14 | 15 | PLCT全称是程序语言与编译技术实验室,隶属于中国科学院软件研究所(ISCAS)智能软件研究中心(ISRC)。PLCT实验室致力于成为编译技术领域的开源领导者,推进工具链及运行时系统等软件基础设施的技术革新,具备主导开发和维护重要基础设施的技术及管理能力。与此同时,致力于培养一万名编译领域尖端人才,推动先进编译技术在国内的普及和发展。 16 | 17 | PLCT全职员工的招聘可以从 [PLCT-Weekly 仓库找到](https://github.com/plctlab/PLCT-Weekly/blob/master/Jobs.md)。 18 | **请注意自从 2023 年 6 月开始 PLCT 实验室开始经历创立以来的第一次大裁员,一直执行严格的财务收缩政策,目前全职入职的几率非常小。** 19 | 如果你是即将毕业的应届生,欢迎按照下属方式投递简历,应届生也可以走实习生的招聘通道。但是录取率同样很低。 20 | 21 | ## 关于苦芽科技(含「赛博酸橙」小队) 22 | 23 | 苦芽科技是2023年6月PLCT实验室第一次大裁员之后成立的初创公司,联合创始人李威威是前PLCT实验室模拟器团队主管,联合创始人王俊强是PLCT实验室操作系统团队TARSIER团队主管(TARSIER团队已经于2023年6-8月解散)。苦芽科技的建立参见 [苦芽成立通告](https://mp.weixin.qq.com/s/u_-5x-WeZlsWm39NykM80w)。 24 | 25 | 酸橙小队是另一组2023年6月PLCT实验室第一次大裁员之后被剥离的小队,在短暂的独立运营半年之后,于[2024年4月并入苦芽科技](https://mp.weixin.qq.com/s/F61y53BnISjrRCBbqvlYTg)作为子部门运营。酸橙小队同时是「RISC-V软件移植与优化锦标赛」的承办组织团队。 26 | 27 | 苦芽科技与PLCT实验室同根同源,在甲辰计划主理人发起开源实习生联合培养项目后即宣告加入,提供多个实习岗位和不少于200名实习名额用于开源贡献。 28 | 29 | ## “一生一芯”CBAS体系 30 | 31 | [甲辰计划宣布认可“一生一芯”计划CBAS新认证体系,获认证同学自动获得开源实习生联合培养工程的实习OFFER](https://mp.weixin.qq.com/s/Sd-4PDHqPyhwTGKMxKD9iA) 32 | 33 | > 甲辰计划主理人吴伟先生受邀为“一生一芯”计划的活动录制致辞视频。在致辞中,吴伟先生高度评价了“一生一芯”计划对于国内和全球的芯片和系统软件领域的贡献,并宣布甲辰计划即日起承认“一生一芯”计划CBAS新认证体系,甲辰计划「开源实习生联合招聘培养」工程中所有2300名实习岗位都将会对“一生一芯”认证持有者直接开放。这也意味着,一位“一生一芯”的学员在拿到“一生一芯”CBAS体系认证的同时,就自动获得了由甲辰计划成员企业发放的多个实习OFFER。 34 | 35 | ## MGPIC(MoonBit 编程创新挑战赛) 36 | 37 | MoonBit 编程创新挑战赛是由粤港澳大湾区数字经济研究院(福田)基础软件中心主办,面向全球开发者的挑战大赛。大赛目标是以编程竞赛推动计算机软件开发专业建设,助力人工智能云原生领域创新人才梯队培育,培养编程语言这一基础软件领域的后备人才。本大赛鼓励开发者通过设计、开发创新性计算机系统项目,学习人工智能云原生开发平台,培养系统级的设计、分析、优化与应用能力,提升开发技术、创新实践、团队协作能力。大赛服务国家人才培养战略,以赛促学、以赛促教,为高水平计算机人才成长搭建交流、展示、合作的开放平台。 38 | 39 | 在MGPIC决赛之日(11月23日),甲辰计划宣布MoonBit 编程创新挑战赛(MGPIC)的比赛结果进入甲辰计划认可体系,甲辰计划「开源实习生联合招聘培养」工程中所有2500+实习岗位欢迎MoonBit 编程创新挑战赛(MGPIC)参与了初赛的所有参赛选手。这也意味着,一位MGPIC的参赛选手,只要完成了作品并提交获得了完初赛排名,就自动获得了甲辰计划开源实习机会,免上机考试直接进入各个岗位的 mentor pick 环节。 40 | 41 | ## 开源联合实习的合同签署说明 42 | 43 | - 首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。 44 | - 首次签署实习为开源远程实习。PLCT实验室是默认的培养承担单位;不同的岗位可能有不同的承担单位,可以根据自己的实习需要进行协商。 45 | - 实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。 46 | 47 | ## 开源联合实习的女性等STEM支持 48 | 49 | - 甲辰计划联合实习生提供至少 30% 岗位数量为女性等应聘者预留。 50 | 51 | ## 如何正确的投递简历 52 | 53 | 在投递简历之前最好对我们有更多一点了解。以下是阅读材料: 54 | 55 | - 《极简项目管理》:[git-repo](https://github.com/lazyparser/minimalist-team-leader) 、[公众号发表](https://mp.weixin.qq.com/s/vOWYchggz279ya3fkBIhug)。吴伟撰写的目前PLCT实验室的管理方式,甲辰计划开源联合实习生的管理也遵循同样模式。请先阅读本书已熟悉风格和要求。 56 | - 《我们如何进行实习生招聘》:[git-repo](https://github.com/lazyparser/weloveinterns/blob/master/how-do-we-interview-interns.md)、[微信阅读](https://mp.weixin.qq.com/s/QinGYb685c1EsOfsbEy4tg)。 57 | - 《我们如何对实习生进行能力评定和培养》[repo](https://github.com/lazyparser/weloveinterns/blob/master/how-do-we-rank-interns.md)、[微信阅读](https://mp.weixin.qq.com/s/lt9kdMp5WNSHcH3uBHG_ZA)。 58 | - 《实习生存手册(烂尾版)》:[git-repo](https://github.com/lazyparser/survivial-manual-for-interns) 目前还在撰写中,随便看看。 59 | 60 | 阅读之后,接下来就可以发邮件了。以下内容请认真阅读。不符合条件邮件不会收到回复。 61 | 62 | 有意者请投递简历至: 63 | **吴老师 wuwei2016@iscas.ac.cn** 64 | 65 | 邮件标题请注明: 66 | **岗位编号 - 姓名 - 手机号码 - 学校** 67 | 68 | (兼职实习的伙伴可以用【兼职】取代【学校】) 69 | 70 | 邮件正文请: 71 | **进行跟应聘职位相关的自我介绍**,不超过300字。 72 | 73 | 邮件必须附带简历。**没有PDF格式简历的邮件不保证会收到回复**。 74 | 75 | ## 实习要求和注意事项 76 | 77 | 所有岗位都需要满足的: 78 | 79 | - 有强烈的上进心,希望自己能够变得更强、更好。 80 | - 并且能够积极而谦卑地与他人一起共事,及时的响应团队成员的消息。 81 | - 岗位默认都是远程实习,因此需要你具有比较好的自律能力。 82 | - 希望你能够有至少三个月的实习时间,并能够保证每周有一些连续的时间可以用来实习。 83 | 84 | 技术岗位(开发、测试、助教)需要满足的: 85 | 86 | - 技术岗位默认要求能力等级达到LV2及以上。 87 | - 熟练使用 Linux 命令行,并且能够写简单的 Bash 脚本。 88 | - 熟练使用 git 进行团队合作。 89 | - 知道如何描述 bugs/issues 以及礼貌地向其他人求助,做到尽量不浪费他人的时间,将复现 bug 需要的信息提供完整。 90 | - 加分:自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。 91 | - 加分:对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。 92 | 93 | 运营岗位需要满足的: 94 | 95 | - 喜欢跟人打交道。能够倾听。能够观察和共情到他人的情感和需求。主动沟通。 96 | - 对外界有强烈的好奇心。 97 | - 可选:能看懂简单的Python程序。 98 | - 可选:最好是有GitHub账号,知道如何开新分支,提交PR。这个如果不知道可以看看GitHub官网的帮助,很详细。 99 | - 可选:具备网站制作、社区运营、公众号运营、社团组织、活动策划、美工设计等技能可以加分。 100 | 101 | 一些注意事项: 102 | 103 | - 需要注意开源社区都是个人出道,所有的行为都是公开的,要有一颗大心脏。 104 | - 实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。 105 | - 实习双方随时都可以解除契约。实习生离职前需要跟mentor沟通下工作交接,并商议好最后一笔实习费发放(如果有产出的话)。 106 | 107 | ## 开放岗位列表 108 | 109 | (Next Job ID: 160) 110 | 111 | ### J159 RuyiSDK IDE 开发实习生(20250325 开放 5 名) 112 | 113 | **工作内容** 114 | 115 | RuyiSDK 是一款面向 RISC-V 开发者提供一站式服务的开源套件,RuyiSDK IDE 是基于 Eclipse 定制的面向 RISC-V 开发的图形化集成开发环境,目前该工具正在持续开发和滚动发布中。目前 RuyiSDK IDE 需要开发一系列的插件来满足更高程度的集成和用户的开发需求,如集成 ruyi (如意包管理器工具)安装多样化版本的编译器、模拟器等开发工具,集成和支持不同的 RISC-V 开发板 SDK ,智能化支持如高亮提示、自动补全等开发辅助功能等等。 116 | 117 | 主要工作内容包括: 118 | 119 | 1. 负责 Eclipse 插件模块的设计、实现与调试 120 | 2. 参与基于 Eclipse 的 RISC-V 集成开发环境(IDE)的定制化开发和产品打包 121 | 3. 参与嵌入式开发环境的功能优化和用户体验改进 122 | 4. 编写相关使用文档、技术文档、测试用例 123 | 124 | **入职要求** 125 | 126 | - LV2 及以上,有非常强的学习能力; 127 | - 扎实的 Java 基础,能独立完成模块开发,熟悉 Eclipse 插件开发机制者优先; 128 | - [加分项] 了解嵌入式开发过程和基础(编译/调试/烧录等流程); 129 | - [加分项] 具备产品思维,能从开发者视角优化 IDE 体验;良好的沟通能力和文档习惯; 130 | - 每周至少3天工作时间,持续3个月以上。 131 | 132 | **学习资源** 133 | 134 | - Eclipse插件开发官方文档 135 | 136 | - 官网: 137 | - https://www.eclipse.org/ 138 | - https://projects.eclipse.org/projects/technology.packaging 139 | - 主要仓库: 140 | - https://github.com/eclipse-embed-cdt/eclipse-plugins 141 | - https://github.com/eclipse-packaging/packages 142 | - 插件开发文档: 143 | - [Platform Extension Points](https://help.eclipse.org/latest/topic/org.eclipse.platform.doc.isv/reference/extension-points/index.html?cp=2_1_1 "Extension Points Reference") 144 | - [Eclipse Platform API Specification](https://help.eclipse.org/latest/topic/org.eclipse.platform.doc.isv/reference/api/overview-summary.html?cp=2_1_0 "API Reference") 145 | - 现有IDE项目代码库 146 | 147 | - https://github.com/ruyisdk/ruyisdk-eclipse-packages 148 | - https://github.com/xijing21/eclipse-plugins 149 | - https://github.com/xijing21/eclipse-myplugins 150 | 151 | 152 | ### J158 南京 RISC-V Lab 运维实习生(20250323 开放 3 名) 153 | 154 | **工作内容** 155 | 156 | 甲辰计划成员南京英麒智能搭建和维护了南京地区的RISC-V漂流基地及RISC-V实验室。目前实验室设备逐渐增多,需要招募3名热爱RISC-V的实习生进行维护,同时也欢迎以日常维护作为地点,逐步发展为更为厉害的创造型人才。日常内容包括设备清点整理、设备检查、系统重装、网络配置等。偶尔也会有参观讲解保障、视频演示技术支持等工作。 157 | 158 | 本岗位为甲辰计划联合招聘岗位,实习合同和实习证明单位默认为南京英麒智能,地点在江苏省南京市江宁区麒麟人工智能产业园B8栋。 159 | 160 | **入职要求** 161 | 162 | - LV2 能力等级。 163 | - 能够耐心细致的进行操作系统重装测试和撰写测试复现报告。 164 | - 平均每周在南京英麒坐班2天。 165 | 166 | ### J157 南京 RISC-V Lab 教学视频开发实习生(20250323 开放 7 名) 167 | 168 | **工作内容** 169 | 170 | 类似 P118 岗位信息(同一个 mentor),区别是需要在南京 RISC-V Lab 进行现场测试和视频录制。甲辰计划成员南京英麒智能搭建和维护了南京地区的RISC-V漂流基地及RISC-V实验室。目前实验室设备逐渐增多,可以做的教学工作也在逐渐增加。甲辰计划希望通过视频教学形式吸引更多的人加入到RISC-V的学习中。 171 | 172 | 本岗位为甲辰计划联合招聘岗位,实习合同和实习证明单位默认为南京英麒智能,地点在江苏省南京市江宁区麒麟人工智能产业园B8栋。 173 | 174 | **入职要求** 175 | 176 | - LV2 能力等级。 177 | - 能够耐心细致的进行操作系统重装测试和撰写测试复现报告。 178 | - 对于视频制作和文案创作有兴趣。 179 | - 平均每周在南京英麒坐班1天,按照 mentor 的任务要求进行设备操作和录制。 180 | 181 | ### J156 RISC-V 创意 DIY 开发实习生(20250323 开放 10 名) 182 | 183 | **工作内容** 184 | 185 | 使用 RISC-V 芯片或开发板,实现各种好玩、有趣的创意产品,可复刻,可创造,同时将创意分享给更多的人。 186 | 187 | 包括但不仅限于以下项目: 188 | 1. 平衡小车 189 | 2. AI 聊天机器人 190 | 3. 音乐播放器 191 | 4. 机械键盘 192 | 5. 创意时钟 193 | 6. 小型无人机 194 | 195 | **入职要求** 196 | - 电子、计算机、通信、自动控制等专业, 需要达到 LV3 能力等级,需要有一定实际电子/电路嵌入式编程经验 197 | - 学习过数字电路,控制原理等基础知识,C 语言基础扎实,熟悉计算机体系结构,至少使用过一款以上 RISC-V 开发板/芯片,完成过一个以上的自主项目开发 198 | - 涉及到软件和硬件相关知识,需要有强烈的自我学习能力和动手能力,能独立同时完成软硬件设计、开发、焊接、调试等工作 199 | - 有良好的沟通能力,能够对以上开源项目进行分享和推广 200 | - 申请前需对以上项目相关基础知识有基本的了解,选定一个具体的创意产品,提交可行的实现的方案构思 201 | 202 | ### J155 OpenCloudOS RISC-V 测试开发实习生(20250320 开放 18 名) 203 | 204 | 本实习岗位为甲辰计划联合实习岗位,目前根据具体认领的任务,由苦芽科技、PLCT实验室等多家企业提供实习合同和实习费。 205 | 206 | #### 实习内容 207 | 208 | ##### 开发 209 | 210 | - 跟踪 OpenCloudOS 在 RISC-V 架构的软件包构建情况并进行修复 211 | - 协助 OpenCloudOS 维护者调研、解决 RISC-V 相关 Issue 212 | - 构建并丰富OpenCloudOS 软件生态,参与 RISC-V SIG 组运作 213 | 214 | ##### 测试 215 | 216 | - 在开发板、虚拟机安装和测试 OpenCloudOS RISC-V 镜像 217 | - 根据开发进度制定测试计划 218 | - 在OpenCloudOS Stream gitee仓库 新建并跟踪Issue 219 | - 输出测试报告和性能优化建议 220 | 221 | ##### 推广RISC-V 影响力 222 | 223 | - 调研分析操作系统领域最新动向和前沿技术,结合RISC-V 实现应用落地 224 | - 参与本地或同城高校的 RISC-V 技术交流推广活动 225 | - 在自己的社区、论坛主动分享甲辰计划及其实习生计划 226 | 227 | #### 岗位要求: 228 | 229 | - 基础能力 Lv2 及以上。 230 | - 对 RISC-V 指令集有一定了解,对 RISC-V 生态建设感兴趣。 231 | - 对 Linux 发行版有一定使用经验,在开发板或者qemu中使用过包括但不限于 openEuler/Fedora/Debian 等发行版的 RISC-V 镜像。 232 | - 了解 CentOS、Fedora、openEuler等发行版的rpm包构建流程。 233 | 234 | ### J154 Web 全栈开发实习生 (20250318 开放 1 名) 235 | 236 | **工作内容** 237 | 238 | 为甲辰计划的 RISC-V 伙伴提供 Web 全栈开发支持。包括不限于团队主页、产品介绍页面、文档生成页面等。 239 | 240 | 本实习岗位为甲辰计划联合实习岗位,目前根据具体认领的任务,由矽速科技、PLCT Lab、苦芽科技等多家企业提供实习合同和实习费。 241 | 242 | **入职要求** 243 | - LV2 及以上,有非常强的学习能力。 244 | - 接触学习过 electron、vue3、React 等开发工具集合(例如 vite+react+antd)。 245 | - 良好的跨团队沟通能力和社区协作能力。 246 | 247 | ### J153 arceos-hypervisor 开发实习生(20250318 开放 5 名) 248 | 249 | **工作内容** 250 | 251 | 为 arceos-hypervisor 开源项目添加 RISC-V 相关的支持。 252 | 253 | 开源社区方式工作,具体通过以下看板看具体的任务内容: 254 | 255 | - https://github.com/orgs/arceos-hypervisor/projects/1 256 | - https://github.com/orgs/arceos-hypervisor/projects/3 257 | 258 | 本实习岗位为甲辰计划联合实习岗位,目前由 PLCT Lab 提供实习合同和实习费。 259 | 260 | **入职要求** 261 | - LV3 及以上,熟悉 Rust,基本了解操作系统实现原理,有兴趣深入挖掘 hypervisor 技术实现。 262 | - 良好的跨团队沟通能力和社区协作能力。 263 | 264 | ### P152 QEMU开源模拟器开发实习生(20250314 开放 1 名) 265 | 266 | 工作内容: 267 | - 参与PLCT实验室在QEMU相关开源项目的开发,为QEMU添加RISC-V新指令扩展的支持。在开源社区直接提交代码。 268 | 269 | 入职要求: 270 | - LV3+,对模拟器的内部实现有兴趣。 271 | - 远程实习,不需要坐班。 272 | 273 | ### J151 RISC-V 软件生态考古实习生(20250311 开放 20 名) 274 | 275 | #### 岗位介绍 276 | 277 | RISC-V 在短短的15年间就得到了全球开源软件社区的拥抱,这一切发生的太快,有太多的贡献者付出了长期的努力。同时我们也有幸参与到了正在进行的历史之中。我们(甲辰计划各个招聘单位)希望能够逐步建立起一套完善的 RISC-V 历史资料,能够展示 RISC-V 如何被各个开源项目接受(upstream),并且体现出每一位做出了重要贡献的开发者。RISC-V 的开源软件生态是由一个个具体的开发者和维护者完成的,我们希望可以让每一位贡献者都有姓名。 278 | 279 | #### 实习内容 280 | 281 | - 针对具体的开源软件,通过对代码和社区公开邮件记录的分析,形成具有文学性的历史回顾报告。 282 | 283 | #### 岗位要求 284 | 285 | - LV3及以上,有 git、Linux、RISC-V QEMU 等使用经验。 286 | - 非常强的 Google 搜索和资料整理能力。 287 | - 良好的语文功底。 288 | - 能够执行测试用例,记录测试结果,协助撰写测试报告。跟踪并复现反馈的 Bug,协助开发人员进行问题排查(加分)。 289 | - 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。 290 | 291 | ### P150 RuyiSDK 文档开发实习生(20250311 开放 20 名) 292 | 293 | #### 岗位介绍 294 | 295 | 对于开发者而言,技术文档非常重要,但是没有人愿意写。为了体现和强调高质量技术文档的重要性,补齐短板,设置本岗位。 296 | 297 | 本岗位实习生需要具备测试能力,能够测试验证多种 RISC-V 操作系统或编译器等软件,并从使用者的角度出发,审视 RuyiSDK 等软件文档的不足之处,进行完善。 298 | 299 | #### 实习内容 300 | 301 | - 测试 RISC-V 设备上 RuyiSDK 各个组件的运行情况,从镜像刷写到软件功能、工具链和运行时系统的可用性、稳定性,以及性能数据的对比。找到文档的不足、错误、缺失、过时的地方并提交PR进行修改。 302 | - 将以上测试点总结提交为测试报告。 303 | - 相关文档的 i18n / 国际化工作。 304 | 305 | #### 岗位要求 306 | 307 | - LV2及以上,有git的使用经验 308 | - 希望你在投递简历前了解过 RISC-V 和 RuyiSDK,有试用经验最好。 309 | - 能够执行测试用例,记录测试结果,协助撰写测试报告。跟踪并复现反馈的 Bug,协助开发人员进行问题排查(加分)。 310 | - 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。 311 | - 使用过至少一种 Linux 发行版,有半年的日常使用经验。 312 | - 微信等即时通讯软件响应速度快。尤其是工作日。 313 | - 做事细心、有耐心。有良好的沟通表达能力。 314 | - 使用/调试过至少一款开发板。 315 | 316 | ### J149 CIRCT-LLHD 实习生(20250311 开放 1 名) 317 | 318 | 职位描述: 319 | 320 | 将 LLHD 方言融入到 Arcilator 中:LLHD方言目前仅服务于 SystemVerilog 技术路线,如下: SystemVerilog --- 由slang前端编译器处理 ---> Json格式的AST --- 再由 ImportVerilog Pass 处理 ---> Moore IR --- 再经过 MooreToCore Pass 处理---> Core IR(包括HW、Seq、Comb方言) 与 LLHD IR。 321 | 在 SystemVerilog 技术路线中,原本由Seq方言负责的时序逻辑相关的转换,目前由LLHD方言全权负责。而因 LLHD 方言目前不被 Arcilator 处理,故需要将 LLHD 方言接入到A rcilator 中。 322 | 323 | 这是由兆松科技提供外部 mentor 指导的甲辰计划联合培养实习岗位。 324 | 325 | 实习要求: 326 | 327 | - 扎实的数据结构基础知识,熟练掌握C++,熟练使用C++ STL,最好了解STL实现原理。 328 | - 申请者至少需要保证每周投入到项目的时间不少于20小时,不少于半年的连续投入。 329 | - 熟练使用Linux,会编写shell脚本。 330 | - 学习过数字电路,以及最好有编译原理基础知识。 331 | - 足够自信的英语阅读和书写能力,需要和上游无障碍沟通。 332 | - 有LLVM/CIRCT/MLIR开发经验者优先考虑。 333 | - LV3+ 及以上能力等级。 334 | 335 | 参考信息: 336 | 337 | - slang仓库: https://github.com/MikePopoloski/slang 338 | - Moore仓库: https://github.com/fabianschuiki/moore 339 | - CIRCT: https://circt.llvm.org/ 340 | 341 | ### J148 RISC-V 自动化测试与性能分析平台开发与运维实习生(已满,暂停招聘) 342 | 343 | #### 岗位介绍 344 | 345 | 随着 RISC-V 向量扩展 (RVV) 的指令集规范、工具链和硬件设备等软硬件生态日益完善,越来越多的开源社区正在开展面向 RISC-V 平台的适配与性能优化工作。我们希望帮助社区开发者更好地评估优化效果,并监测开源软件在 RISC-V 平台上的性能变动。 346 | 347 | 我们已经使用 Jenkins 为 OpenCV 算法库构建了一个 RISC-V 设备上的自动化测试与性能分析平台,该平台聚焦于面向 RVV 的优化,能够帮助开发者自动完成项目构建和测试工作,并提供基础的性能对比与分析功能。 348 | 在此基础上,我们希望: 349 | 350 | - 添加更多硬件设备,从而满足更大的测试规模; 351 | - 支持更多平台(如 ARM Neon), 对比不同平台的优化效果,从而指导面向 RISC-V 平台优化工作的方向; 352 | - 添加每日构建-测试流程,并将测试结果可视化,从而跟踪和监测算法库在 RISC-V 平台上的性能变动; 353 | - [可选] 寻找并覆盖更多开展 RVV 优化工作的开源社区。 354 | 355 | #### 岗位要求 356 | 357 | 该岗位默认包含**平台开发**任务和**平台运维**任务,但可以选择仅承担其中一项,请在邮件中注明【 开发与运维/ 仅开发 / 仅运维 】三者之一。 358 | 359 | 对于**平台运维**任务,要求 LV1 及以上,且**需要坐班**: 360 | - 北京高校在校学生,可以来软件所北京本部(知春路)坐班,工作日每周至少2天/4个半天; 361 | - 具备良好的沟通能力和较强的责任心; 362 | - 使用过至少一种 Linux 发行版, 能够依据手册为开发板烧录系统,能够使用 ssh 远程连接到开发板; 363 | - 具备一定的动手能力,能按说明在设备机柜中安装开发板和辅助设备; 364 | - 具备基础的网络软硬件知识,能够使用交换机、路由器组建局域网,会用 静态 IP/DHCP 等方法为设备分配 IP 地址; 365 | - 加分项:具备较强的自学能力,愿意学习下列“开发任务”中的所需技能。 366 | 367 | 对于**平台开发**任务,要求 LV2 及以上,**可以远程**: 368 | - 了解 CI/CD 的工作方式,搭建或使用过 Jenkins 工具; 369 | - 熟练使用脚本语言(如 Shell、Python)进行构建自动化; 370 | - 熟练使用 CMake 工具,会使用 GNU/LLVM 进行交叉编译; 371 | - 加分项: 在自己的开源项目中使用了 GitHub Actions 或 GitLab CI/CD。 372 | - 加分项: 具备一些 Web 前端开发能力 373 | 374 | ### J147 MoonBit RISC-V 编译器开发实习生(20250311 开放 20 名) 375 | 376 | #### 岗位介绍 377 | 378 | 注意这是一个编译器开发的岗位,岗位目标是将 moonbit 移植到 RISC-V 上并尽最大可能进行优化。 379 | 380 | MoonBit是编程语言以及开发者平台,专注于AI原生通用程序语言的设计、编译器、运行时、IDE以及构建系统的开发,由IDEA研究院MoonBit团队开发。MoonBit 预期在 2024/11/22 达到 Beta 阶段,并释放出一个编译器参考实现的源代码。 381 | 382 | 粤港澳大湾区数字经济研究院(International Digital Economy Academy,简称IDEA研究院)致力于人工智能和数字经济领域的前沿研究与产业落地,是一家国际化创新型机构。 383 | 384 | RuyiSDK 是中国科学院软件研究所正在开发的面向 RISC-V 开发人员的工具集,由PLCT实验室开发维护。PLCT实验室看到MoonBit语言的潜力,并计划在2024Q4-2025Q2期间开放不少于100名实习岗位用于探索 MoonBit 语言及其运行时环境的能力边界,并在 RuyiSDK 中集成对 MoonBit 的支持。甲辰计划开源实习生联合招聘培养的参与单位将有可能进一步增加岗位名额。 385 | 386 | 整个岗位需要热爱编程、热爱探索新编程语言、并且在无数次尝试中获得快乐的开发者。如果你正在大学宿舍中无聊于一日一日生活的重复,那么PLCT实验室的这份实习岗位就有可能是为你准备的:实习工作完全开源,不需要坐班,完全远程,绝对的实力至上主义。 387 | 388 | - [1] 英文网址: https://www.moonbitlang.com/ 389 | - [2] 中文网站: https://www.moonbitlang.cn/ 390 | 391 | #### 岗位要求 392 | 393 | - LV3+ 并且对编译原理熟悉自信,接触过LLVM源代码。 394 | - 自己学习了 MoonBit 语言并完成了一些例子程序的尝试。 395 | - 熟悉常见的数据结构和算法常识,能够**根据教科书中例子**写出正确的MoonBit程序。 396 | - 对于编程充满热情,充满能量。 397 | - 加分:如果在学习过程中参与完善了 MoonBit 的文档、甚至帮助 MoonBit 的编译器定位和修复 Bugs 都可以获得加分。 398 | - 加分:熟悉 RISC-V 架构,手里有 RISC-V 开发板,跑起来 Linux on RISC-V。 399 | 400 | ### J146 OpenCV RISC-V 向量扩展移植与优化实习生(暂时满员,停止招聘) 401 | 402 | #### 岗位介绍 403 | 404 | 该岗位旨在优化 OpenCV 在 RISC-V 向量扩展 (RISC-V Vector, RVV) 平台上的性能表现。 405 | OpenCV 是世界上规模最大、应用最为广泛的开源计算机视觉算法库,包含 2500 多种算法。 406 | 为了优化算法库在 CPU 上的性能,OpenCV 支持多种 SIMD 或向量架构,包括SSE2-SSE4.2, AVX2, AVX512 (x86); NEON (ARM); RVV (RISC-V)。而为了避免编写和维护同一优化算法面向多个平台的副本, 社区在平台特定的 Intrinsic 函数之上封装了 Universal Intrinsic。 407 | 然而,某些内核函数对性能非常关键,并且可以使用其他平台上不存在的一些特定于硬件的指令来最有效地实现它们。在这种情况下,Universal Intrinsic 方法将不起作用。相反,应该为此类性能关键型内核引入平台特定的优化。 408 | RVV 的向量特性让我们有机会去进一步优化这些关键函数的性能,这就是我们想做的事情。 409 | 具体来说,需要使用 RVV 的平台特定 Intrinsic 函数为 OpenCV 中的核心函数实现特定优化。并在不同硬件设备上开展性能分析,据此进一步采用循环展开、寄存器分组等方法深入调优。 410 | 411 | 412 | #### 实习内容 413 | 414 | - 参考现有的 ARM Neon (opencv/3rdparty/carotene) 优化实现,补充和完善 RVV (opencv/3rdparty/hal_rvv/hal_rvv_1p0) 优化。 415 | - 使用 RISC-V 开发板**评估**性能优化效果。 416 | - 使用 ARM 开发板**对比**优化效果。 417 | 418 | #### 参考资料 419 | 420 | - OpenCV 代码仓库: https://github.com/opencv/opencv 421 | - RVV Intrinsic: https://github.com/riscv-non-isa/rvv-intrinsic-doc 422 | - OpenCV 中 ARM Neon 特定优化实现:https://github.com/opencv/opencv/tree/4.x/3rdparty/carotene 423 | - OpenCV 中 RVV 特定优化实现:https://github.com/opencv/opencv/tree/4.x/3rdparty/hal_rvv 424 | - 用于开展性能评估的开发板: CanMV-k230 (RVV, VLEN=128), SpacemiT Muse Pi (RVV, VLEN=256) 和 ATOMPI-CA1 (ARM A55), 以上设备均由此岗位的 mentor 提供远程访问。 425 | 426 | #### 岗位要求 427 | 428 | - 学习过 C++ 编程,了解使用 Intrinsic 编写向量优化代码的方法。 429 | - 熟悉 RISC-V 指令集架构,能够部署和使用 RISC-V GNU 工具链和 QEMU 模拟器。 430 | - 具备较强的代码分析和问题解决能力,能够使用 GDB 等工具调试 RISC-V 程序。 431 | - 加分项:拥有使用 OpenCV 进行项目开发的经历,熟悉计算机视觉算法。 432 | - 加分项:具备任意架构的 SIMD intrinsics 开发经验。 433 | - 加分项:对开源贡献有较高热情,能够使用英文在开源社区中沟通交流。 434 | 435 | ### J145 基础库 RISC-V 移植与优化开发实习生(已满,暂停招聘) 436 | 437 | #### 岗位介绍 438 | 439 | OpenCV、GDAL、NumPy、Shapely、SciPy 等基础库是科学计算和地理信息处理的核心工具,广泛应用于数据分析、遥感处理、高性能计算等领域。随着 RISC-V 架构的快速发展,为这些库提供全面、高效的支持是构建开源软件生态的重要一环。目前,许多基础库在 RISC-V 架构上的支持仍在完善中,存在兼容性和性能优化空间。通过移植和优化这些库,可以推动其在 RISC-V 平台上的应用扩展,并为开源社区贡献更多高质量代码。 440 | 441 | #### 实习内容 442 | 443 | - **库的移植与优化**: 444 | - 分析 OpenCV、GDAL、NumPy、Shapely、SciPy 等库在 RISC-V 平台上的适配需求,并实现相关功能的移植。 445 | - 针对 RISC-V 微架构特性,优化库中性能关键的算法或代码路径。 446 | - **测试与问题修复**: 447 | - 使用基础库自带测试集验证其在 RISC-V 平台上的正确性与稳定性,修复失败用例并提交到上游社区。 448 | - 针对测试中发现的兼容性问题,补充相关文档或改进代码实现。 449 | - **性能评估与调优**: 450 | - 编写性能测试用例,对比x86、ARM平台评估移植后的库在 RISC-V 平台上的运行效率。 451 | - 应用向量扩展(V 扩展)等 RISC-V 特性,对特定场景进行深度优化。 452 | - **社区参与与文档撰写**: 453 | - 撰写库的 RISC-V 平台移植指南,帮助开发者快速入门。 454 | - 与上游社区合作,推动移植和优化工作的合并及后续维护。 455 | 456 | #### 岗位要求 457 | 458 | - **基础能力 LV2 及以上**,熟悉 C/C++ 编程语言,具备扎实的编译器与操作系统基础知识。熟练使用脚本语言(如 Shell、Python)进行构建自动化与问题排查。 459 | - 熟悉 RISC-V 指令集架构,了解相关硬件特性及其对软件性能的影响,熟悉 GNU 工具链(如 GCC、binutils)或 LLVM 工具链者优先。 460 | - 能够流畅阅读和撰写英文技术文档,能与上游社区进行良好的沟通。 461 | - 具有基础库或系统级软件开发经验者优先。 462 | 463 | ### P144 林泓宇小队科研实习生(20250311 开放 20 名) 464 | 465 | #### **研究背景** 466 | 467 | 当前,以**人工智能**和**基础软件**为核心的科技创新已成为国家战略的重要组成部分,推动着全球产业变革和技术竞争。作为我国亟需突破的关键领域之一,人工智能大模型、基础软件及开源指令集**RISC-V**的快速发展,为构建自主可控的基础软件生态奠定了坚实的技术基础。通过发展自主知识产权的基础软件技术和硬件架构,不仅可以实现对国际主导技术的有效替代,更能建立独立的创新体系,增强国家在新一代信息技术领域的国际竞争力。 468 | 469 | #### **研究内容** 470 | 471 | 我们的工作旨在进行 **“大模型+基础软件+RISC-V”**相关的研究,大致可分为LLM 4 System和System 4 LLM两种类别,同时以**RISC-V为代表的新的后端硬件应用场景**也提供了新的挑战和机遇。为此,我们计划开展**AIOS(AI Agent as OS)**和**LLM Compiler**相关的研究: 472 | 473 | ##### **Part1: AIOS** 474 | 475 | 基于大型语言模型(LLM)的智能代理的集成和部署充满了挑战,影响了其效率和功效。这些问题包括 LLM 上代理请求的优先级调度和资源分配、代理与 LLM 交互期间上下文的维护、具有不同能力和专业的异构代理的集成。而代理数量和复杂性的快速增加进一步加剧了这些问题,通常会导致资源瓶颈和次优利用。 476 | 477 | AIOS通过将大语言模型嵌入到操作系统中作为操作系统的大脑,从而使操作系统“有了灵魂”——这是迈向通用人工智能的重要一步。具体来说,AIOS旨在优化资源分配,简化跨代理的上下文切换,实现代理的并发执行,为代理提供工具服务,并维护代理的访问控制。 478 | 479 | ![architecture.jpg](img/jd144/architecture.jpg) 480 | 481 | ##### **Part2: LLM Compiler** 482 | 483 | LLM Compiler是一个框架,通过自动识别哪些任务可以并行执行以及哪些任务是相互依赖的,可以高效且有效地编排LLMs的并行函数调用,包括开源和闭源模型。 484 | 485 | LLMs的推理能力使他们能够执行多个函数调用,使用用户提供的函数来克服其固有的局限性(例如知识限制、算术技能差或无法访问私有数据)。虽然多功能调用允许它们解决更复杂的问题,但当前的方法通常需要对每个函数进行顺序推理和操作,这可能导致高延迟、高成本,有时甚至导致不准确的行为。LLM Compiler 通过将问题分解为多个可以并行执行的任务来解决这个问题,从而有效地编排多功能调用。使用 LLM Compiler,用户可以指定工具以及可选的上下文示例,LLM Compiler会自动计算函数调用的优化编排。LLM Compiler 可与 LLaMA 等开源模型以及 OpenAI 的 GPT 模型一起使用。在一系列表现出不同并行函数调用模式的任务中,LLMCompiler 一致地证明了延迟加速、成本节省和准确性提高。 486 | 487 | ![thumbnail.png](img/jd144/thumbnail.png) 488 | 489 | #### **相关工作** 490 | 491 | - AIOS Foundation:[https://aios.foundation](https://aios.foundation/) 492 | - AIOS: LLM AGENT OPERATING SYSTEM:[https://github.com/agiresearch/AIOS?tab=readme-ov-file](https://github.com/agiresearch/AIOS?tab=readme-ov-file) 493 | - AIOS Compiler:[https://arxiv.org/abs/2405.06907](https://arxiv.org/abs/2405.06907) 494 | - LLM Compiler:[https://github.com/SqueezeAILab/LLMCompiler/tree/main](https://github.com/SqueezeAILab/LLMCompiler/tree/main) 495 | - An LLM Compiler for Parallel Function Calling 496 | - 陈云霁老师组:AutoOS: Make Your OS More Powerful by Exploiting Large Language Models 497 | - 陈海波老师组: 498 | 499 | ![IMG_5181.HEIC](img/jd144/IMG_5181.heic) 500 | 501 | 502 | #### **岗位描述** 503 | 504 | 我们正在寻找对科研工作充满热情的实习生,加入我们的科研团队。实习生将参与前沿项目的研究工作,包括论文学习、代码实现、实验设计、数据分析以及协助撰写论文等。通过与资深研究员和技术专家合作,实习生将获得在真实科研环境中工作、验证新理论、并发表研究成果的机会。 505 | 506 | #### **岗位职责** 507 | 508 | 1. 协助团队进行文献调研,梳理当前领域的研究进展; 509 | 2. 参与项目的代码实现,完成指定的功能需求; 510 | 3. 配合团队进行实验设计、执行与数据收集; 511 | 4. 根据研究进展,参与撰写实验报告和科研论文; 512 | 5. 配合团队在科研过程中完成其他相关任务。 513 | 514 | #### **预期成果** 515 | 516 | - 自主RISC-V架构下的高性能基础软件系统,涵盖操作系统、编译器等。 517 | - 面向特定应用领域的大模型及算法优化框架,具备高效能和低功耗的特性。 518 | - 相关核心技术的知识产权与专利布局,推动自主技术标准的制定。 519 | - 产出成果可包括但不限于:调研文档、代码实现、实验数据、论文初稿等。 520 | - 产出相关高水平论文并参与会议投稿 521 | - IJCAI 2025 年 1 月 17 日 522 | - ICML 2025 年 1 月 8 日 523 | - SIGKDD 2025 年 2 月 9 日 524 | - ACL 2025年2月16日 525 | 526 | #### **知识产权约定** 527 | 528 | 1. 署名和贡献:如实习生在项目中做出实质性贡献,将按照贡献程度在论文中进行署名。 529 | 2. 知识产权:实习期间产生的研究数据、分析结果及其他相关知识产权均归属于软件所或科研团队。如产生专利,实习生将依据贡献参与专利排名,但所有知识产权归属软件所所有。 530 | 531 | #### **任职要求** 532 | 533 | 1. 计算机、软件等相关专业,本硕博皆可,有科研或项目经验优先。 534 | 2. 熟悉python语言和常见的深度学习、自然语言处理框架,比如pytorch,huggingface等。 535 | 3. 具备良好的团队协作能力,沟通能力,自我驱动力,自学能力。 536 | 4. 加分项: 537 | - 具备**NLP、LLM、AI Agent**相关基础理论知识,熟悉**编译器、操作系统**等基础软件的基本构成和原理,了解**RISC-V**相关的特性和指令集架构。 538 | - 在ACL, EMNLP, ICLR, NeurIPS, ICML, KDD, AAAI等AI领域顶级会议上发表过论文的候选人优先。 539 | - 在ASPLOS,HPCA,ISCA,MICRO,OSDI,PLDI,SOSP,POPL,CGO等系统领域顶级会议上发表过论文的额候选人优先。 540 | 541 | 542 | ### J143 RevyOS小队测试实习生(20250311 开放 200 名) 543 | 544 | #### 岗位介绍 545 | 546 | RevyOS 是由PLCT实验室的 RevyOS 小队支持开发的一款针对 XuanTie 芯片生态的 Debian 优化定制发行版,围绕玄铁C906、C910、C920、C908等芯片提供了完整而全面的适配和优化支持,现已可以在8款 RISC-V 设备上运行。详细支持可在[RevyOS/docs](https://docs.revyos.dev/)中进行查看。 547 | 548 | 目前已公开的工作内容可查看 [RevyOS](https://github.com/revyos) 项目内的仓库。 549 | 550 | 随着 RevyOS 所适配的设备逐渐增多,现有 RevyOS 小队员工需要花费更多的时间完成测试工作,现需要你完成在部分 RevyOS 所适配的设备上的一些测试工作,并及时上报issue。如果你对于 RISC-V 发行版有兴趣并且有开发板调试经验,那么欢迎你的加入。 551 | 552 | #### 实习内容 553 | 554 | 工作默认在具体的某一款或多款 RevyOS 所支持的 RISC-V 设备上进行。需要实习同学自行准备 RISC-V 设备(可以通过甲辰计划 「RISC-V 开发板随缘漂流计划」 免费申请)。 555 | 556 | - 测试(特定) RISC-V 设备上 RevyOS 的运行情况,从镜像刷写到软件功能、工具链和运行时系统的可用性、稳定性,以及性能数据的对比。 557 | - 将以上测试点总结提交为测试报告。 558 | - 相关文档的 i18n / 国际化工作。 559 | - 及时更新外部可见的使用文档。 560 | 561 | #### 岗位要求 562 | 563 | - LV2及以上,有git的使用经验 564 | - 希望你在投递简历前了解过 RISC-V 和RevyOS,有试用经验最好。 565 | - 能够执行测试用例,记录测试结果,协助撰写测试报告。跟踪并复现反馈的 Bug,协助开发人员进行问题排查(加分)。 566 | - 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。 567 | - 使用过至少一种 Linux 发行版,有半年的日常使用经验。 568 | - 微信等即时通讯软件响应速度快。尤其是工作日。 569 | - 做事细心、有耐心。有良好的沟通表达能力。 570 | - 使用/调试过至少一款开发板。 571 | 572 | ### J142 乘影GPGPU工具链开发实习生(20250311 开放 20 名) 573 | 574 | #### 岗位介绍 575 | 576 | [乘影 GPGPU ](https://opengpgpu.org.cn)是清华大学教育基金会开源项目,由清华大学集成电路学院何虎教授团队研发。其指令集架构以 RISC-V 向量扩展为核心,相比标量指令具有更丰富的表达含义和更高的编程灵活性。经过多年研发,乘影 GPGPU 已经打通了包括通用 GPU 指令集架构、微架构设计、专用张量计算单元和 OpenCL 软件工具链在内的全套实现。 577 | 578 | 为了进一步发挥 RISC-V 的生态优势,增强国产 GPU 在 RISC-V 生态中的适配性,PLCT 实验室加入到了乘影 GPGPU 的开源生态建设中,负责推动工具链对乘影 RISC-V 自定义指令集的支持,完善乘影 GPGPU 从高层编程范式到编译器及运行时库的全软件栈实现,促进全栈视角下的软硬件协同创新。 579 | 580 | 我们在此招募有志于投身 RISC-V 生态建设,愿意为国产开源 GPU 软件工具链贡献力量的伙伴,特别是希望积累开源社区实践经验的在校学生。如果你擅长从拆解编译器和工具链等软件栈的黑盒中收获乐趣,毕业后计划从事相关领域工作,欢迎加入我们,RISC-V 生态下将有很多坑位为你提供;如果你对高性能计算、并行编程或 AI 编译有兴趣,读研期间希望参与相关研究,欢迎加入我们,“RISC-V-based GPGPU”的赛道可以为你提供新的视角;即便你尚未明确未来方向,只要你有“我要做出一番事业”的积极态度和参与 RISC-V 开源生态的技术热情,我们也欢迎你投递简历。 581 | 582 | #### 岗位要求 583 | - **等级要求**:LV2 584 | - **基础技能**: 585 | - 熟悉 Linux 平台下的开发流程,有 Git 使用经验;具备一定编程基础,会构造代码样例进行调试和验证工具链可行性。这两项的检验标准为能构建出乘影 GPGPU 的 [LLVM 编译器](https://github.com/THU-DSP-LAB/llvm-project)并成功运行 README 中的 vecadd 示例。 586 | - 简单了解 GPU 架构和异构编程模型,知道 CUDA 或 OpenCL 程序在 CPU 和 GPU 上的执行方式。 587 | - **加分项**(满足任意一项均可): 588 | - 了解 LLVM 编译器后端,能找到 RISC-V 的指令规格与寄存器信息以及编译的指令选择阶段在源码中的具体路径,并列举基础的实现细节。 589 | - 有 CUDA、OpenCL、SYCL 等并行编程语言的使用经验,能举例讲解高性能计算示例(如矩阵乘法)的优化思路。 590 | - 了解 Triton 或 MLIR,能从用户使用或性能优化角度评价它们的特点。 591 | - **软技能**:我们团队采用敏捷开发模式,以“最小可验证成品”为任务单元,每次会预留适当时间给实习生在贡献前学习相关知识和调研开源代码,因此不用太担心自己的知识储备和技术积累。但我们要求在与导师和团队小伙伴的沟通中做到“事事有回音”,做一名可靠的团队成员,并在写代码、提 PR、回复评审、修改 PR、整理文档的每件小事中秉持“Double Check”的态度,逐步成长为可胜任的开源贡献者。 592 | 593 | ### J141 开源项目实习经理(PM岗)(20250311 开放 20 名) 594 | 595 | #### 岗位介绍 596 | 597 | 这是一个项目经理的实习岗位。PM需要进入到具体的开源项目及社区中,推动开源项目开发、测试及发布的节奏。PM需要与许多充满激情、性格各异但都一直忙碌的开发者进行沟通,尝试在一个没有明确时间约束和金钱激励的世界中,为所有贡献者创造一个高生产力的环境,确保项目计划能够(尽可能)按照规划顺利的推进。 598 | 599 | 这是一个综合性的岗位,需要实习生PM具有非常积极向上的心态、耐心、和善的沟通感觉,同时目标坚定,手段繁多。与开源社区经理(CM)的不同在于,PM侧重于开源项目的开发跟踪,而CM侧重于社区的良好氛围、规模的建设壮大。 600 | 601 | 该岗位是甲辰计划开源实习生联合招聘培养的一部分,目前有多个开源社区热情迫切的欢迎您的到来,包括且不限于 MoonBit、RT-Thread、Buddy Compiler、RuyiSDK、Wine-CE、Clang/LLVM、SAIL等。 602 | 603 | #### 实习内容 604 | 605 | - 建立需求沟通整理跟踪反馈回复的渠道和过程机制,并推动执行。 606 | - 积极跟踪开源社区项目各个群聊中的记录并主动整理形成需求 issues 或者缺陷报告 issues。跟踪各种 issues 的进展并及时摇人。 607 | - 积极观察到需要帮助的新人贡献者并给予必要的指导和 on-boarding 说明。 608 | - 建立定期的工作交流会议,记录会议,建立进度看板。 609 | - 根据具体情况因人而异的建立好互动激励模式。 610 | - 及时跟踪可能的项目延期、任务冲突、人员沟通矛盾导致的问题并与开源项目的所有者进行沟通。 611 | - 建立需求收集和讨论的渠道,在开发人员的帮助下分级分类,吸引贡献者加入。 612 | - 维护开源社区 CoC。 613 | 614 | #### 岗位要求 615 | 616 | - **等级要求**:LV1 617 | - **基础技能**:熟练掌握《非暴力沟通》《关键对话》《关键冲突》《人件》《人月神话》《程序开发心理学》《卓有成效的管理者》《非营利组织的管理》这些书中内容。 618 | - **加分项** 619 | - Linux 安装与使用经验,基本的 Bash 和 Python 脚本编写能力。 620 | - 英文流利加分;会日语、韩语、法语、俄语、西班牙语均加分。 621 | - 在开源社区贡献过代码或者测试报告者加分。 622 | 623 | ### J140 Box64 测试实习生【已满,暂停招聘】 624 | 625 | #### 岗位介绍 626 | 627 | 我们正在寻找对模拟器和二进制翻译感兴趣的实习生,参与 Box64 在 RV64 后端的性能与兼容性测试。随着开源 x86-64 模拟器 Box64 在 RISC-V 平台的支持逐步完善,持续而广泛的性能和兼容性测试尤为重要。你将直接与 Box64 核心开发者合作,获得深入的技术指导,快速积累相关测试经验。 628 | 629 | #### 实习内容 630 | 631 | - **测试游戏和应用程序**:在 RISC-V 环境中运行并评估各类游戏和应用的兼容性与性能。 632 | - **Box64 RV64 后端性能与兼容性测试**:通过测试分析应用表现,发现并记录问题,为优化提供数据支持。 633 | - **维护兼容性列表**:管理并更新游戏和应用的兼容性数据库。 634 | 635 | #### 岗位要求 636 | 637 | - **等级要求**:LV2 638 | - **基础技能**:Linux 安装与使用经验,基本的 Bash 和 Python 脚本编写能力。 639 | - **加分项** 640 | - 热爱各种游戏,对不同类型的游戏均有涉猎。 641 | - 有 Wine 使用经验,理解相关概念。 642 | - 有任意模拟器的使用或调试经验。 643 | 644 | #### 你将获得 645 | 646 | - **跨平台开发与测试经验**:在 RISC-V 上运行 x86-64 应用的独特体验。 647 | - **前沿项目参与机会**:参与新兴的 RISC-V 生态项目。 648 | - **导师支持**:Box64 核心开发者将作为 mentor 提供指导,帮助你快速成长。 649 | 650 | 这是一个难得的实习机会,适合热爱游戏、乐于探索技术的你,欢迎加入我们,共同推动 RISC-V 生态发展! 651 | 652 | ### J139 MoonBit 应用开发实习生(20250311 开放 60 名) 653 | 654 | #### 岗位介绍 655 | 656 | MoonBit是编程语言以及开发者平台,专注于AI原生通用程序语言的设计、编译器、运行时、IDE以及构建系统的开发,由IDEA研究院MoonBit团队开发。MoonBit 目前处于 Beta-Preview 阶段。我们期望能在 2024/11/22 达到 Beta 阶段,2025年内达到 1.0 阶段。 657 | 658 | 粤港澳大湾区数字经济研究院(International Digital Economy Academy,简称IDEA研究院)致力于人工智能和数字经济领域的前沿研究与产业落地,是一家国际化创新型机构。 659 | 660 | RuyiSDK 是中国科学院软件研究所正在开发的面向 RISC-V 开发人员的工具集,由PLCT实验室负责承建。PLCT实验室看到MoonBit语言的潜力,并计划在2024Q4-2025Q2期间开放不少于100名实习岗位用于探索 MoonBit 语言及其运行时环境的能力边界,并在 RuyiSDK 中集成对 MoonBit 的支持。甲辰计划开源实习生联合招聘培养的参与单位将有可能进一步增加岗位名额。 661 | 662 | 本岗位是一个复合型目标的岗位目标,我们希望从 Linux 发行版的 core-utils 类似的 Unix 小工具开始,逐步尝试用 MoonBit 来实现一系列常用的软件,最终严肃地开始大型工业级软件(我听到有人说操作系统内核和浏览器:P)的立项。 663 | 664 | 整个岗位需要热爱编程、热爱探索新编程语言、并且在无数次尝试中获得快乐的开发者。如果你正在大学宿舍中无聊于一日一日生活的重复,那么PLCT实验室的这份实习岗位就有可能是为你准备的:实习工作完全开源,不需要坐班,完全远程,绝对的实力至上主义。 665 | 666 | - [1] 英文网址: https://www.moonbitlang.com/ 667 | - [2] 中文网站: https://www.moonbitlang.cn/ 668 | 669 | #### 岗位要求 670 | 671 | - 自己学习了 MoonBit 语言并完成了一些例子程序的尝试。 672 | - 熟悉常见的数据结构和算法常识,能够**根据教科书中例子**写出正确的MoonBit程序。 673 | - 对于编程充满热情,充满能量。 674 | - 加分:如果在学习过程中参与完善了 MoonBit 的文档、甚至帮助 MoonBit 的编译器定位和修复 Bugs 都可以获得加分。 675 | - 加分:熟悉 RISC-V 架构,手里有 RISC-V 开发板,跑起来 Linux on RISC-V。 676 | 677 | ### J138 FreeBSD 开发实习生(20250311 开放 2 名) 678 | 679 | #### 岗位介绍 680 | 参与FreeBSD 开源项目开发,适配任意riscv开发板,使得其可通过FreeBSD标准方式安装并在开源社区直接提交代码。 681 | 682 | #### 实习内容 683 | - 为RISC-V开发板适配FreeBSD内核,目前已有的Unmatched可用做参考 684 | - 适配pkg系统,完成FreeBSD riscv pkg构建工作 685 | - 与上游维护者沟通,推动代码合入上游 686 | 687 | #### 岗位要求 688 | - LV3+,该岗位的 mentor 没有 FreeBSD 实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。否则的话可能度过一无所成的三个月 689 | - 对 RISC-V 指令集,FreeBSD操作系统有一定了解 690 | - 对工作内容提到的方向有兴趣;工作细心认真、有耐心 691 | - 应能自行尝试运行 FreeBSD 系统,完成基本的开发环境配置 692 | 693 | ### J137 Wine-CE 开发实习生(5名)【甲辰计划联合实习生培养】(20250311 开放 2 名) 694 | 695 | #### 岗位介绍 696 | 697 | 参与 Wine-CE 开源项目的开发,建设和推广 Wine-CE生态。在开源社区直接提交代码。苦芽科技CEO李威威、苦芽科技CTO王俊强作为实习导师(mentor)指导 Wine-CE 项目的工作。 698 | 699 | 背景信息: [苦芽科技加入 Wine-Chimera Edition 开源项目,助力 RISC-V 生态建设](https://mp.weixin.qq.com/s/lBMdZ48sOxaeE4vW4loEEA) 700 | 701 | #### 实习内容 702 | 703 | - 调研并解决Wine-CE项目issue 704 | - 更新qemu/box64/wine等子项目版本 705 | - 构建并丰富Wine-CE软件生态,参加社区的开源运作 706 | 707 | #### 岗位要求 708 | 709 | - 能力等级 Lv2+。 710 | - 对wine/qemu/box64有基本的了解,有很强的兴趣和自驱力。 711 | - 具备较强的代码分析和问题解决能力。 712 | 713 | **甲辰联合招聘** 714 | 715 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 716 | 717 | 截止 20241014 支持该岗位的甲辰计划成员有: 718 | - 苦芽科技(Kubuds) 719 | 720 | ### J136 RVV 大模型开发实习生【已满,暂停招聘】 721 | 722 | #### 岗位介绍 723 | 724 | 为以下两个项目实现 RISC-V Vector v1.0 的移植与优化: 725 | 726 | - [whisper.cpp](https://github.com/ggerganov/whisper.cpp) 727 | - [llama.cpp](https://github.com/ggerganov/llama.cpp) 728 | 729 | 参考现有的 AArch64(ggml-aarch64.c)实现,完成 RVV 的相关适配与优化,尤其关注性能提升。 730 | 731 | #### 工作内容 732 | 733 | - 负责将 whisper.cpp 和 llama.cpp 移植到 RISC-V 架构上,实现 RISC-V Vector v1.0 支持。 734 | - 与上游维护者沟通,推动代码合入上游。 735 | 736 | #### 岗位要求 737 | - 能力等级 LV3+。 738 | - 该岗位的 mentor 没有 whisper.cpp / llama.cpp 的实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。 739 | - 有任意主流架构的汇编代码 / SIMD intrinsics 编写经验。 740 | - 具备较强的代码分析和问题解决能力,能够在英文开源社区中进行有效沟通。 741 | - 对开源贡献有极大的兴趣,具备较强的自驱力与责任心,能够独立推动项目进展。 742 | 743 | ### J135 甲辰计划联合招聘厂商预留(YSZS)(暂停招聘) 744 | 745 | ### J134 甲辰计划联合招聘厂商预留(甲辰计划)(暂停招聘) 746 | 747 | ### J133 Eulaceura 操作系统开发实习生(OERV团队)(20250311 开放 2 名) 748 | 749 | #### 岗位介绍 750 | 751 | Eulaceura 建基于国内企业级操作系统社区,致力于为用户提供完整稳定易用的操作系统发行,并将 RISC-V 列入第一级支持范围中。 752 | 早期的开发模式是基于社区内的稳定版本加以支持和维护。随着近年来 RISC-V 支持的逐步完善并纳入社区主线,对于稳定发布版已经不需要进行太多的变更。 753 | 754 | 然而企业级产品的连续性要求和共建成员的实际生产需求,导致了系统内的基础组件无法及时与上游来源保持同步。大版本的发行机制也会造成一定程度的滞后性,使得用户无法及时获知现阶段开发成果。 755 | 我们认为作为根社区,在保障组件可控的同时也应该及时关注来源的变化。这不仅是社区活力的体现,而且可以让大版本更新更加平滑畅顺。将升级工作放到平时,不必为版本跃迁而要在短时间内投入大量精力应对。 756 | RISC-V 硬件产品也正不断地推陈出新。在 RISC-V 蓬勃发展的当下,各种新特性的加入需要软件的持续演进和快速更新;社区内丰富的南北向生态值得更加快速和广泛地被支持。 757 | 758 | 这是 Eulaceura 「理解、成为、超越」目标的一环。我们希望能够将社区的变化即时传递给用户,同时让开发者可以提前参与到下一个版本的活动中来,为 RISC-V 的产品体验添砖加瓦。 759 | 760 | #### 工作内容 761 | 762 | - 核心——系统内核和关键组件的开发、维护与升级 763 | - 北向——应用软件程序包的添加维护、使用场景的扩展 764 | - 南向——开发板硬件的功能适配、固件的开发 765 | - 文档——丰富并完善系统的各类文档、对外呈现产品的开发状态 766 | - 测试——验证系统的稳定性和健壮性、发现使用中存在的问题 767 | 768 | #### 岗位要求 769 | - 能力等级 LV2 及以上 770 | - 对 RISC-V 指令集有一定了解 771 | - 对工作内容提到的方向有兴趣;工作细心认真、有耐心 772 | - 应能自行尝试运行 Eulaceura 系统,完成基本的开发环境配置 773 | 774 | ### J132 openGauss RISC-V 测试岗【甲辰计划联合实习生培养】(20250311 开放 2 名) 775 | 776 | #### 岗位介绍 777 | 778 | openGauss是一款优秀的开源关系型数据库管理系统,[openGauss RISC-V SIG](https://gitee.com/opengauss/tc/tree/master/sigs/RISC-V) 于2024 年 6 月的 openGauss 开发者大会期间正式成立。openGauss 目前已经能在 openEuler 22.03/24.03 运行起来,目前需要人力做进一步的功能完整度及性能测试。 779 | 780 | #### 岗位要求 781 | 782 | - 有开源贡献意识,能力等级 LV2+。 783 | - 计算机相关专业,数据库专业优先。 784 | - 熟悉 Linux 基本用法(bash),能够远程操作服务器(docker)及数据库。 785 | - 了解统计与数据分析。 786 | - 愿意花时间探索 openGauss 官方文档。 787 | 788 | #### 工作内容 789 | 790 | - 在 docker 环境中主从部署和单机部署(包括数据库,网络、绑核操作)。 791 | - 测试 openGauss 数据库管理系统的各种二进制程序(bash或python脚本)。 792 | - SQL 语法测试。 793 | - 基于性能测试框架做性能分析测试。 794 | - 定期在 SIG 组例会分享测试报告(包括功能完整度报告和性能分析报告)和测试经验。 795 | 796 | ### J131 libultrahdr RISC-V 开发实习生【甲辰计划联合实习生培养】(已满,暂停招聘) 797 | 798 | #### 岗位介绍 799 | 800 | libultrahdr 的 RISC-V 支持,以及 RVV 1.0 优化支持。 801 | 802 | repo: https://github.com/google/libultrahdr 803 | 804 | Android 14+ 引入和主推的带HDR效果的JPG格式图像支持,向后兼容JPG。Linux 里 imagemagick 系(包括主流桌面环境的图片编辑工具)已经有做支持,但需要这个库(这个库是Google的参考实现)。 805 | 806 | #### 工作内容 807 | 808 | - 基础适配代码实现、跟上游沟通合入、RISC-V Vector v1.0 支持。 809 | - 分析代码并进行技术分享,构建完善测试基础设施。 810 | - 相关衍生或关联的软件包的移植工作。 811 | 812 | #### 岗位要求 813 | 814 | - LV3+。该岗位的 mentor 没有 libultrahdr 实际贡献经验,因此我们要求实习生本身有很强的兴趣和自驱力。否则的话可能度过一无所成的三个月。 815 | - 说得过去的英文文字交流能力(可以借助 Google Translate 或 ChatGPT),能够在开源社区正常沟通。 816 | 817 | ### J130 BL808 Rust支持库开发实习生【甲辰计划联合实习生培养】(暂停招聘) 818 | 819 | #### 岗位介绍 820 | 821 | BL808是一款异构多核的RISC-V AIoT芯片,支持Wi-Fi 802.11b/g/n、Bluetooth 5和Zigbee;而RustSBI是开源的完整RISC-V安全引导固件解决方案。目前由RustSBI团队维护的BL808 Rust支持库同时支持嵌入式开发、固件引导程序和操作系统内核开发的功能。 822 | 823 | 支持库bouffalo-hal包含三个模块:硬件中间层hal、裸机运行环境rt和镜像融合工具blri。裸机Rust开发的常用管理方法和C语言不同,本项目中硬件中间层hal包含具有高级语言抽象和软约束的外设结构体,也包括MMIO格式的外设、寄存器和位域描述,它实现了Rust生态中embedded-hal标准的traits。裸机运行环境rt支持从ROM代码直接运行镜像,适用于嵌入式开发、RTOS开发和RustSBI等固件的裸机支持。blri工具用于生成ROM可识别的镜像头,它可融合不同编译目标的裸机程序,因此在异构芯片上的作用尤其重要。 824 | 825 | BL系列的无线互联芯片往往具有WiFi、Bluetooth和其它无线连接外设,它们需要良好地与Rust生态现有的无线协议栈结合,来将Rust语言的软约束和安全特性应用到无线协议栈中。BL系列无线芯片的协议栈可以部分地使用Rust语言重写,来获得更好的安全特性,便于通过安全认证,并能够与Rust系统软件生态有机结合起来。 826 | 827 | 在支持库源码之外,开发者需要快速构建基于BL808等芯片的原型,且需要快速获取外设和型号等芯片细节信息。我们需要开发和维护一款基于LLM技术的Agent智能体,运用RAG、Prompt Engineering等相关技术,以交互界面的形式提供Bouffalo芯片信息和bouffalo-hal支持库示例,来为开发者和客户节省原型构建的时间。 828 | 829 | 目前,支持库以开源形式维护,已被RustSBI等社区深度使用,受到社区好评。我们仍然需要更多的开发力量,积极与Rust、RISC-V社区交流,丰富BL808 Rust芯片的生态和应用场景,通过为一款代表性的RISC-V物联网芯片提供完整的技术支持,来为RISC-V国际生态贡献力量。 830 | 831 | #### 工作内容 832 | 833 | 1. 开发bouffalo-hal支持库,在熟悉、了解BL808等BL系列芯片外设的基础上,为bouffalo-hal项目丰富功能。调研和适配运用于BL芯片的RustSBI实现(如RustSBI Prototyper)。 834 | 2. 调研Rust生态无线协议栈和辅助软件包,完善BL808的无线互联软件生态。 835 | 3. 开发和维护提供BL808等芯片原型设计、信息查询等功能的LLM Agent。 836 | 4. 为bouffalo-hal、bouffalo-rt和BL808无线软件编写测试用例,完善项目的集成测试功能。使用用于BL芯片的RustSBI实现引导不同的操作系统和发行版,解决兼容性问题。 837 | 5. 完成BL808 Rust有关的开源社区日常维护工作;若有能力,积极与有关研究界和产业界生态成员联系,积极举办技术分享等有关开源活动。 838 | 839 | #### 岗位要求 840 | 841 | - 能力等级LV2及以上。 842 | - 熟悉RISC-V指令集架构和Rust编程语言,有裸机应用(rCore、Asterinas等Rust操作系统、Rust for Linux、嵌入式Rust和RustSBI等引导程序和固件)开发经验优先,有RISC-V操作系统发行版适配经验优先。 843 | - 熟悉嵌入式开发常见的UART、SPI等基础外设,能够使用逻辑分析设备,或具有控制屏幕、SD卡和闪存等板级外设的经验优先;具有PSRAM调试经验优先。 844 | - (可选)具有无线协议栈软件开发经验,了解常见物联网无线协议的分层,具有提取和更换协议栈软件部分模块的能力。 845 | - (可选)熟练掌握常见 Prompt Engineering算法、主流RAG算法及框架,LLM Agent的构建方法及工具,能够维护开源LLM应用,或能够为LLM Agent开发Web前端界面。 846 | - 拥有对应的开发设备,如具有BL808芯片的开发板等。RustSBI团队可提供开发所需的BL808开发板。 847 | 848 | ### J129 RISC-V开发板软件生态联合观测实习生【甲辰计划联合实习生培养】(20250311 开放 200 名) 849 | 850 | **岗位介绍** 851 | 852 | 作为甲辰计划的成员单位,PLCT实验室在RuyiSDK工程的范畴内发起了一个名为「RISC-V 操作系统支持矩阵」的观测工程。这个观测的目标是测试和验证每一款 RISC-V 开发板可以跑哪些操作系统和软件,以及每一款软件可以支持哪些 RISC-V 指令集扩展集合、从哪个版本开始支持、现状如何。PLCT实验室为此新成立了丁丑小队,郑景坤作为小队负责人和 mentor。 853 | 854 | 目前进行中/已完成的工作可查看 [ruyisdk/support-matrix](https://github.com/ruyisdk/support-matrix) 仓库。 855 | 856 | 随着 RISC-V 开发板的快速增多,现有测试小队员工的精力不再能够快速覆盖所有的测试点。而这项工作的技术门槛并不高,需要耐心和细心,适合对 RISC-V 硬件和软件有兴趣的同学们快速参与进来。 857 | 858 | **甲辰联合招聘** 859 | 860 | 本岗位属于甲辰计划联合实习生培养项目,目前计划每个开发板提供 2-3 名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 861 | 862 | 截止 20240719 支持该岗位的甲辰计划成员有: 863 | - PLCT实验室 864 | - 苦芽科技(Kubuds) 865 | - 进迭时空 866 | - 矽速科技(Sipeed) 867 | - 群芯闪耀(Milk-V) 868 | - 迅龙软件 869 | - 英麒智能 870 | - 算能 871 | 872 | **工作内容** 873 | 874 | 工作默认在具体的某一款或多款 RISC-V 设备上进行。需要实习同学自行准备 RISC-V 设备(可以通过甲辰计划 「RISC-V 开发板随缘漂流计划」 免费申请)。 875 | 876 | - 测试(特定) RISC-V 开发板等设备的操作系统、应用软件、工具链和运行时系统的可用性、稳定性与性能。 877 | - 提交测试报告,编写相关文档。同时,鼓励自己动手修复找到的缺陷。 878 | - 相关文档的 i18n / 国际化工作。 879 | - 参与技术分享、交流。 880 | 881 | **岗位要求** 882 | 883 | - 能力等级:LV2+ 或“一生一芯”学习经历证明。 884 | - 大学英语四级/六级或同等水平,能够在即时通讯软件、国际开源社区流畅与外国人交流的程度,能够做简单的技术文档翻译工作。 885 | - 使用过至少一种 Linux 发行版,能够独立看着官方文档进行配置以自己日常使用需求的程度。 886 | - 微信等即时通讯软件响应速度快。尤其是工作日。 887 | - 做事细心、有耐心。有良好的沟通表达能力。 888 | - Bonus: 使用/调试过至少一款开发板,当然,如果是 RISC-V 开发板更好。 889 | - Bonus²: 有和社区对线(非暴力沟通)的经验。 890 | 891 | ### J128 Deepin 操作系统开发实习生(RISC-V架构)【甲辰计划联合实习生培养】(20250311 开放 2 名) 892 | 893 | **岗位介绍:** 894 | 895 | Deepin 是国内非常受欢迎的 Linux 发行版,但是必须要承认目前 RISC-V 架构上的支持是落后于 RISC-V 操作系统第一梯队的。目前还是 preview 版本,群芯闪耀、算能等厂商热情地欢迎 Deepin RISC-V 的更新并愿意提供构建和测试设备,就差能干活的实习生了! 896 | 897 | 随着 Deepin 正式加入甲辰计划,一位 Deepin 社区老人勇敢的站了出来。我们非常欣慰地看到苦芽科技赛博酸橙团队负责人李程先生将作为 J128 实习岗位的首席导师(Principle Mentor),负责协调 ≥100 名实习生的工作内容,并负责 mentor 的招募和岗前培训。Revy 等另外几位 Deepin 社区熟人会作为 mentor 进行双向选择和指导。甲辰计划欢迎更多的社区贡献者加入进来指导新人。 898 | 899 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供超过100名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 900 | 901 | 截止 20240620 提供 J128 岗位信息的甲辰计划成员组织有: 902 | - 苦芽科技 80 903 | - PLCT实验室 20 904 | - 另有5-6家公司需要等待内部hc审批确认之后追加发放。 905 | 906 | **工作内容** 907 | 908 | 1. 测试验证 Deepin RISC-V,确认现状,进行 gap 分析。 909 | 2. 巩固和扩展 Deepin RISC-V 所需的基础架构和自动化构建测试环境。 910 | 3. 打包修包,让开发者日常使用的各种软件(Eclipse、VSCode、Firefox、Chromium、Thunderbird 等)丝滑运行在 Deepin RISC-V 上。 911 | 4. 支持目前市面上所有 RISC-V SBC 及更高算力设备,包括 Pioneer Box、 MUSE Book、 Lichee Book、 VisionFive 2 等。 912 | 5. 有社交能力的同学还可以参与高校联系,建立 RISC-V 社区、组织技术沙龙。 913 | 914 | **岗位要求** 915 | 916 | - 对 Deepin 社区热爱。 917 | - 所有实习生在入职之前,就应该自行尝试过运行 Deepin RISC-V,自行完成 RISC-V 环境的配置。 918 | - 需要LV2级以上。 919 | - 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。 920 | - 远程实习的同学需要自备至少一款 RISC-V SBC 或更高算力设备;本岗位同时在武汉开放部分工位,感兴趣的同学请在后续联系首席导师进一步了解。 921 | 922 | ### J127 香山笔记本电脑研发实习生(嵌入式基础软件开发方向)【甲辰计划联合实习生培养】(暂停招聘) 923 | 924 | #### 岗位介绍: 925 | 926 | 中国科学院软件研究所有一个实验性项目是使用香山芯片制造笔记本电脑在内的一系列设备。PLCT实验室承担了使用香山南湖芯片试制笔电的任务,与深圳群芯闪耀(Milk-V)公司建立项目合作,并荣幸邀请到RISC-V大使傅炜先生作为常驻指导老师。 927 | 928 | 这份岗位是【嵌入式底层软件开发实习】,由于涉及到大量试验设备,需要坐班,坐班地点在深圳市宝安区西乡Milk-V办公室。 929 | 930 | 931 | #### 工作内容 932 | 933 | - 负责 RISC-V 平台 U-boot、Linux Kernel、Buildroot的移植裁剪和定制。 934 | - 参与 RISC-V 平台 Linux 底层外设驱动的开发及调试。 935 | - 负责软件相关文档的编写。 936 | - 与团队成员合作,解决技术问题,确保项目按时交付。 937 | 938 | #### 岗位要求 939 | 940 | - 需要 LV3 级以上。需要计算机、电子信息、通信或者自动化相关专业或自学了相关知识。 941 | - 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。 942 | - C语言和 Shell Scripting 要非常溜。 943 | - 熟悉 Linux 下常用的调试技术。 944 | - 玩过 Linux 内核外设驱动调试,熟悉 I2C、SPI、UART 等常用硬件接口。 945 | - 有 Ubuntu、Debian、Buildroot 或 Yocto 开发经验者优先. 946 | - 有 RISC-V 相关平台的开发经验者优先。 947 | - 具备良好的沟通能力,能够与多个团队成员进行有效的协作 948 | 949 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 950 | 951 | 截止 202406019 提供本岗位信息的甲辰计划成员组织有: 952 | 953 | - 群芯闪耀(Milk-V) 2 954 | - PLCT实验室 2 955 | 956 | ### J126 openKylin 开发实习生【甲辰计划联合实习生培养】(暂停招聘) 957 | 958 | #### 岗位介绍: 959 | 960 | openKylin 社区是目前加入甲辰计划的、唯一的 Linux 发行版社区,在 RISC-V 生态系统领域有着长期深入的投入。近日,甲辰计划(由苦芽科技牵头)发起 J126 岗位,进一步推送国内外知名操作系统对 RISC-V 的支持。苦芽科技在2024年将在 openKylin 社区中聚焦于以下几项工作: 961 | 962 | - openKylin 在机器人软件系统(ROS)领域的适配与应用支持。 963 | - openKylin 在搭载 SG2380、SG2042 等高性能 RISC-V 处理器的桌面计算机上的软件性能及稳定性优化。openKylin 已经有了很好的适配基础,该项工作主要聚焦于 JIT 优化。 964 | - 尝试使用 Clang/LLVM 工具链构建 openKylin 所有核心组件。 965 | - 在合肥、上海、南京、武汉、深圳等五个以上城市组织 openKylin 社区活动,吸引超过 1000 人参加活动并招募超过不少于20名加入 openKylin 社区实习。 966 | 967 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 968 | 969 | 截止 202406015 提供 J126 岗位信息的甲辰计划成员组织有: 970 | 971 | - 苦芽科技 20 972 | - 英麒智能 5 973 | - 群芯闪耀(Milk-V) 5 974 | 975 | 英麒智能位于南京市麒麟人工智能产业园,致力于人工智能、大模型、智能传感与感知、智能边缘计算、RISC-V 开源指令集架构研发等领域,为多领域提供先进技术解决方案,打造领先的边缘计算平台。在边缘计算加速领域,英麒智能基于开源指令集、创新敏捷设计,力争构建优化的 DSA 设计流程,实现设计优化自动化,提高鲁棒性,减少迭代循环时间,使能芯片快速上市。引领经济、绿色、高性能的开放边缘计算的革新。 976 | 977 | 深圳市群芯闪耀科技有限公司(Milk-V)致力于为开发者、企业和消费者提供高质量的 RISC-V 软硬件解决方案,并以推动 RISC-V 硬件和软件生态系统的发展为己任。群芯闪耀科技坚定地支持开源事业,并希望通过自身和社区的努力,使得 RISC-V 产品能如银河中的星星般繁多和璀璨。了解更多信息,请访问 https://milkv.io/。 978 | 979 | 苦芽科技一直深耕 RISC-V 软件生态,在甲辰计划发起伊始就已加入,与甲辰计划多家成员企业建立了长期业务合作,并积极回馈推动开源社区建设。 980 | 981 | #### 工作内容 982 | 983 | - openKylin 在机器人软件系统(ROS)领域的适配与应用支持。苦芽科技将会指定有操作系统和机器人经验的工程师长期在 openKylin 社区担任实习生导师。 984 | - openKylin 在搭载 SG2380、SG2042 等高性能 RISC-V 处理器的桌面计算机上的软件性能及稳定性优化。openKylin 已经有了很好的适配基础,该项工作主要聚焦于 JIT 优化。 985 | - 尝试使用 Clang/LLVM 工具链构建 openKylin 所有核心组件。 986 | 987 | #### 岗位要求 988 | 989 | - 需要 LV2 级以上。 990 | - 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。 991 | 992 | ### J123 AI编译器开发(TPU-MLIR方向)实习生【甲辰计划联合实习生培养】 993 | 994 | #### 岗位介绍: 995 | 996 | TPU-MLIR 项目官网[1] 介绍: 997 | 998 | > 是算能深度学处理器的TPU编译器工程。该工程提供了一套完整的工具链,其可以将不同框架下预训练的神经网络,转化为可以在算能TPU上高效运算的二进制文件bmodel。 999 | 1000 | MLIR 是目前非常火热的 AI 编译器构建框架。 TPU 是算能用于AI推理的加速器。 算能即将在2024年下半年推出的 SG2380 是一款很受甲辰计划主理人期待的 RISC-V 芯片,很有机会用于桌面、笔记本、构建服务器领域。同时包含 32TOPS 的 TPU 算力,将会使 AI 软件栈的需求更为强烈。 1001 | 1002 | TPU-MLIR 是算能开源的一套基于 MLIR 的前端库。J123 岗位的最大野心是重构 TPU-MLIR 并从头重新实现出来完全开源的 TPU 软件栈。 1003 | 1004 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供多名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 1005 | 1006 | 截止 202406018 提供本岗位信息的甲辰计划成员组织有: 1007 | 1008 | - PLCT实验室 10 1009 | - 苦芽科技 20 1010 | - 算能 无数量限制 1011 | 1012 | [1] https://github.com/sophgo/tpu-mlir/ 1013 | 1014 | #### 工作内容 1015 | 1016 | - 分析现有 tpu-mlir 代码,修复 bugs, 补充文档, 进行技术分享, 制定重构计划。 1017 | - 利用逐步公开的 TPU 资料从头重写一套底层实现。 1018 | - 尝试桥接 Buddy Compiler 与 TPU。 1019 | - 尝试桥接 Mojo 与 TPU。 1020 | 1021 | #### 岗位要求 1022 | 1023 | - 需要 LV3 级以上。 1024 | - 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。 1025 | 1026 | ### J122 ROS机器人开发实习生(RISC-V架构)【甲辰计划联合实习生培养】(20250311 开放 20 名) 1027 | 1028 | **岗位介绍:** 1029 | 1030 | RISC-V 已经开始进入机器人领域,基于 RISC-V 主控芯片的 ROS 小车已经堂堂出现,默认运行 openEuler RISC-V 系统。ROS开发实习的岗位目标是维护好 openEuler 24.03 LTS 及其后续版本中 ROS 相关的包的升级维护以及在 RISC-V 架构上的优化。报名的同学会先按照PLCT实验室的面试流程进行LV2能力测试,通过之后默认会进入 openEuler ROS SIG 完成 6-12 周的修包、测试、文档、技术报告总结,适应了开发节奏之后进入特定算法的RISC-V优化任务中。 1031 | 1032 | 本岗位属于甲辰计划联合实习生培养项目,目前计划提供超过120名实习名额,由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。 1033 | 1034 | 截止 20240608 提供 J122 岗位信息的甲辰计划成员组织有: 1035 | - PLCT实验室 50 1036 | - 苦芽科技 50 1037 | - 英麒智能 10-20 1038 | - 群芯闪耀(Milk-V) 10-20 1039 | - 另有5-6家公司需要等待内部hc审批确认之后追加发放。 1040 | 1041 | **工作内容** 1042 | 1043 | 所有实习生在刚进入的前两周需要在指导下完成 openEuler RISC-V ROS 环境的配置和测试工作用于完成自我能力证明,并确认是否真的感兴趣。所有实习岗位要求学生具备自学和实践动手能力。 1044 | 1045 | 完成基本培训之后,有以下内容可以与 mentor 进行协商细分 1046 | 1047 | 1. 测试分析ROS性能,寻找瓶颈 (较高难度,需要复习通信和操作系统等专业知识) 1048 | 2. 扩展更多功能包 (ROS专业,体系架构联系较弱,需要Coding能力) 1049 | 3. 对 RISC-V支持(RISCV+ROS) 1050 | 4. 深入分析ROS源码并给出分析报告和技术分享(要求有出道需要的厚脸皮和大心脏) 1051 | 5. AI算法扩展与优化(AI相关算法在 RISC-V 设备上的优化;AI相关算法在 TPU/NPU/GPU 上的优化) 1052 | 6. openEuler ROS 真机测试(由群芯闪耀提供 Milk-V ROS 小车,基于玄铁 TH1520 主控) 1053 | 1054 | **导师(mentor)及社区(communities)** 1055 | 1056 | - openEuler ROS SIG Maintainer、中国科学院软件研究所王晓云工程师将作为 J122 实习岗位的首席导师(Principle Mentor),负责协调120名ROS实习生的工作内容,并负责mentor的招募和岗前培训。吴伟等另外几位 ROS SIG Maintainers 会作为 mentor 进行双向选择和指导。甲辰计划欢迎更多的社区贡献者加入进来指导新人。 1057 | - 苦芽科技社区运营顾问章翔先生会负责社区建设及线下活动组织。每个月在不同城市会进行 ROS Meetup。详细内容欢迎订阅甲辰计划微信公众号(jiachenjihua) 1058 | - OS社区会在甲辰计划范围内扩展。 openKylin 作为甲辰计划成员组织,将会在后续获得来自**苦芽科技**的实习名额支持。 1059 | - RISC-V硬件会在甲辰计划范围内扩展。欢迎甲辰计划成员单位联系甲辰计划主理人进行实习工作机会、ROS运行系统、RISC-V支持硬件等方面的沟通。 1060 | 1061 | **岗位要求** 1062 | 1063 | - 需要LV2级以上。由于 RISC-V ROS 抽象层级多、与物理世界交互,需要尤其具有耐心。 1064 | - 研究生、本科或大专在读(国内高校默认要求学信网可以查到在读状态、国外高校需要具有体现本人姓名和预期毕业时间的身份卡片或类似证明)。 1065 | - 工作内容中部分要求实际操作机器人硬件设备,有可能需要按需去实验区域操作,此类工作优先选择北京、深圳、南京、杭州、上海、武汉六个城市的学生。 1066 | 1067 | ### P121 RISC-V 测试实习生(朱旭昌小队,Sail/ACT 测试方向)(20250311 开放 20 名) 1068 | 1069 | 工作内容: 1070 | 1071 | - 参与PLCT实验室在RISCV-Sail模型和ACT(riscv-arch-test)等相关开源项目(包括riscof/riscv-isac/riscv-ctg等)的测试。在开源社区内进行ISSUE和PR的提交与反馈。 1072 | 1073 | 岗位要求: 1074 | 1075 | - 能力等级:LV2 及以上 1076 | - 对 RISC-V 指令集有一定的了解,掌握RV32I拓展指令的知识。 1077 | - 了解ACT测试及对应测试框架,能本地跑通一次ACT测试。 1078 | - 有一定英语水平,能够在国际开源社区流畅与外国人交流。 1079 | - Bonus1:对sail整个项目有一定了解,了解sail的前后端及其编译过程。 1080 | - Bonus2:对计算机组成原理以及对应的模拟器的实现有所了解。 1081 | - Bonus3:有过ocaml语言编写历史或者C语言能力出众。 1082 | 1083 | ### P119 RISC-V 测试实习生([蔡玮霖](https://github.com/weilinfox/)小队,RuyiSDK 测试方向)(20250311 开放 20 名) 1084 | 1085 | RuyiSDK 测试的职责范围包括但不限于: 1086 | 1087 | + Ruyi 包管理器的测试 1088 | + Ruyi 包管理器的打包 1089 | + Ruyi 软件包的测试 1090 | + RuyiSDK IDE 的测试 1091 | + ruyisdk.org 官网维护 1092 | 1093 | 工作方向大体有三个方向,这里列出了每个方向都会在干哪些活: 1094 | 1095 | 1. 测试方向: 1096 | + RuyiSDK IDE 的 GUI 手动测试 1097 | + [ruyisdk.org](https://ruyisdk.org/) 的肉眼测试和内容搬运 1098 | + 向 ruyisdk.org 或关联 [discussions](https://github.com/ruyisdk/ruyisdk/discussions/) 区域贡献文档、博客、教程内容 1099 | + ruyisdk.org 官网内容翻译 1100 | + 对测试开发方向中自动生成的测试报告进行人工审核 1101 | + 该方向主要产出[测试报告](https://gitee.com/yunxiangluo/ruyisdk-test/) 和其他 paper work 类型的 pr 1102 | 2. 测试开发方向: 1103 | + Ruyi 包管理器的 [ruyi-litester](https://github.com/weilinfox/ruyi-litester) 测试,测试平台使用 [Jenkins](https://jenkins.inuyasha.love/job/ruyi-reimu-mugen-auto-test/) 1104 | + [packages-index](https://github.com/ruyisdk/packages-index/) 的测试,保证软件包版本能够跟随上游版本 1105 | + 与 packages-index 具有上下游关系的 [support-matrix](https://github.com/ruyisdk/support-matrix/) 部分的测试,跟踪同步情况 1106 | + 该部分测试是自动化的,需要维护自动化测试代码,并在测试中发现新的测试需求 1107 | + 将现有的手动测试转化为自动化测试,如果自动化有助于减少工作量 1108 | + 该方向主要产出代码,自动化生成[测试报告](https://gitee.com/yunxiangluo/ruyisdk-test/),有时也需要贡献一点博客文档 1109 | 3. 前端方向: 1110 | + 更新和维护 [ruyisdk.org](https://ruyisdk.org/) 官网静态网页前端代码 1111 | + 设计和美化网页,适时更新网站内容 1112 | + 具体查看 [ruyisdk-website](https://github.com/ruyisdk/ruyisdk-website) 仓库 1113 | 1114 | 面试考核根据测试开发方向和前端方向,内容有差异。 1115 | 1116 | 岗位要求: 1117 | 1118 | + LV2 及以上 1119 | + 能够阅读和理解英文技术文档/网页,大学英语四级以上或日语 N2 及以上 1120 | + 思维活跃,交流积极,响应消息及时 1121 | + 对 RuyiSDK 生态系统感兴趣 1122 | + 测试开发方向需熟悉 Bash 和 Python,独立完成脚本开发程度的能力 1123 | + 测试开发方向需熟悉 Git 的使用,会 GitHub Workflow 1124 | + 测试开发方向应当玩过搭载 RISC-V SoC 的开发板,或具有较多使用其他架构 SoC 开发板的经验 1125 | + 测试开发方向需要平常在 Linux 上工作,Linux 单系统/双系统均可,有自己喜欢的发行版 1126 | + 测试开发方向应用过 Ruyi 包管理器和其他 RuyiSDK 生态系统中的工具 1127 | + 前端方向需要相关开发和设计能力,制作的网页美观且功能上符合需求 1128 | 1129 | ### P118 RISC-V 测试实习生(张馥媛小队,短视频教学普及方向)(20250311 开放 2 名) 1130 | 1131 | 岗位介绍:对RISC-V有兴趣?平时爱刷短视频?这里有个实习岗位很适合你~ get新技能,熟练之后,尝试变成可以传授这个技能的专家吧!把你学会的RISC-V知识做成短视频~ 1132 | 1133 | 工作内容: 1134 | 1135 | - 调研RISC-V教学内容,形成调研报告。 1136 | - 学习RISC-V知识,测试复现已有的教学视频并编写教学短视频脚本。 1137 | - 录制/拍摄教学视频及后期剪辑。 1138 | - 协助mentor处理运营相关事务。 1139 | 1140 | 岗位要求: 1141 | 1142 | - LV2 及以上。 1143 | - 爱刷短视频,了解流行元素。 1144 | - 有制作教学视频或技术分享类视频的经验。 1145 | - 自学了 RISC-V 指令集。在自己的电脑上部署运行起来QEMU-RISCV64。 1146 | - 微信响应速度快、自驱力强、良好的沟通和表达能力。 1147 | 1148 | ### P117 Linux Kernel RISC-V 开发实习生(20250311 开放 20 名) 1149 | 1150 | 工作内容: 1151 | - 写代码,帮助国内 RISC-V 厂商的 IP/SoC 代码进入 Linux Kernel 主线。 1152 | - 帮助维护由PLCT实验室托管维护的 Linux Kernel codebase(目前主要是 6.6 版本长期维护)。 1153 | - 写文档、做技术分享和讨论。 1154 | - 参与英文会议,跟全球社区开发者 battle & review。 1155 | - 根据自己的兴趣参与本地或同城高校的 RISC-V 技术交流推广活动。 1156 | 1157 | 岗位要求: 1158 | - LV3 及以上。 1159 | - 玩过 kernel 代码,熟练 debugging。喜欢写 Kernel 代码。 1160 | - 微信响应速度快、自驱力强。 1161 | 1162 | 额外说明事项: 1163 | - 实习劳务费每个月根据产出浮动,浮动区间 0k - 5k,大多数学生正常产出一般是税前 2k-3k 之间。不算高。 **完成(merge)有点厉害的 upstream 任务则另外以 5k 为单位叠加** 1164 | 1165 | ### BJ116 Gold Linker RISC-V 移植实习生(因 Gold Linker 退出历史舞台而撤销) 1166 | 1167 | Update 20250217: 1168 | 1169 | Ohh my gold: GNU Binutils 2.44 was released, notably [depreciated the gold linker](https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html). 1170 | 1171 | **任务描述** 1172 | 1173 | 让 Gold Linker 支持 RISC-V,并且持续优化和维护。 1174 | 1175 | **能力要求** 1176 | 1177 | LV3 以上。需要完成下手任务的前4步才能投简历。 1178 | 1179 | **学习步骤和工作步骤** 1180 | 1181 | Linker的移植从简单到复杂,先支持静态链接(static linking),再支持动态链 1182 | 接(dynamic linking)。 1183 | 1184 | 1. 确保手头有最新的: 1185 | ELF格式手册: https://refspecs.linuxbase.org/elf/elf.pdf 1186 | RISC-V ISA手册: https://riscv.org/technical/specifications/ 1187 | RISC-V ABI手册: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md 1188 | GNU Binutils源代码: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git 1189 | 1190 | 2. 阅读ELF格式手册和 RISC-V ABI 手册,Relocation 相关的部分着重(一周) 1191 | 1192 | 3. 编写一个简单的 ELF parser,能parse最简单的 helloworld.o,尤其是 .rel/.rela 段,需要跟 readelf -Wr 输出一致(一周) 1193 | 1194 | 4. 结合RISC-V ISA系统性的汇报RISC-V带立即数编码的指令和关联的relocation类型 (一周)【完成这一步就可以发简历了】 1195 | 1196 | 5. 开始在GOLD linker实做RISC-V静态链接支持(3-5周): 1197 | A. 添加RISC-V dummy框架,确保能编译出后端 1198 | B. 添加基本的静态链接需要的hook,确保能出发相关的代码 1199 | C. 添加h elloworld 静态链接重定位支持 1200 | 1201 | 6. 系统性的学习动态链接的知识,汇报GOT/PLT表机制原理(一周) 1202 | 7. 调研 RISC-V GOT/PLT 表结构并汇报(一周) 1203 | 8. 在 GOLD linker 实作RISC-V动态链接支持(两周 ~ 四周) 1204 | 9. 系统性的学习TLS(thread local storage)相关知识(一周) 1205 | 10. 在 GOLD linker 实作 TLS optimization (一周 ~ 两周) 1206 | 11. IFUNC支持(两周) 1207 | 1208 | 全程三个月 ~ 六个月。计划明年6/7月upstream。对参与者来说是难得的机会。 1209 | 1210 | ### BJ115 openEuler RISC-V 操作系统开发实习生(OERV团队) (20250311 开放 20 名) 1211 | 岗位介绍: 1212 | 1213 | 参与 openEuler 官方 risc-v sig 的维护工作,探索 RISC-V 操作系统领域前沿技术,建设和推广 openEuler RISC-V 生态。 1214 | 1215 | 请注意自2024年3月开始,OERV团队完成孵化,成为与PLCT实验室平级的团队。上机考试和面试等由OERV团队负责人王经纬老师主导。 1216 | 1217 | 实习内容: 1218 | 1219 | - 跟踪 openEuler 在 RISC-V 架构的软件包构建情况并进行修复 1220 | - 参与以 llvm 构建发行版的「LLVM 平行宇宙计划」的软件包构建情况、进行尝试性修复与提交 1221 | - 协助 maintainer 调研并解决 oerv 系统 issue 1222 | - 构建并丰富openEuler软件生态,参加社区 SIG 组开源运作 1223 | - 调研分析操作系统领域最新动向和前沿技术,结合产品场景应用落地 1224 | - 根据自己的兴趣参与本地或同城高校的 RISC-V 技术交流推广活动 1225 | 1226 | 岗位要求: 1227 | 1228 | - 基础能力 Lv2 及以上。 1229 | - 对 RISC-V 指令集有一定了解,对 RISC-V 生态建设感兴趣。 1230 | - 对 linux 发行版有一定使用经验,尝试或使用过包括但不限于 openEuler/archlinux/fedora/Debian 等发行版的 RISC-V 镜像。 1231 | - 掌握中文普通话、英文[通常要求 CET4/6 通过]。 1232 | - 微信响应速度快,每周7天中至少能够有3天、工作时间有至少连续3个小时在线一起工作。 1233 | 1234 | ### BJ110 LLVM Flang 开发实习生(20250311 开放 2 名) 1235 | 1236 | 岗位介绍: 1237 | 1238 | Flang 是 LLVM 的 Fortran 语言前端,处于积极开发之中。Flang 当前存在很多问题有待修复,也有一些功能尚未实现。 1239 | 1240 | 已经确认有待修复的问题可以参见: 1241 | 1242 | - https://github.com/orgs/llvm/projects/17 1243 | - https://github.com/orgs/llvm/projects/20 1244 | 1245 | 计划中、尚未实现的功能可以参见: 1246 | 1247 | - https://github.com/orgs/llvm/projects/12 1248 | 1249 | 实习内容: 1250 | 1251 | - 参与 Flang 已知问题的修复,并将工作提交到上游 1252 | - 参与 Flang 尚未实现功能的开发,并将工作提交到上游 1253 | - 利用 gfortran 测试集等对 Flang 进行测试,针对失败用例进行修复或整理提交 issue 到上游 1254 | 1255 | 1256 | 岗位要求: 1257 | 1258 | 1. 基础能力 LV2 及以上,熟练使用脚本语言,shell/python 等。 1259 | 2. 熟悉 LLVM 编译器,了解 Fortran 语言。 1260 | 3. 可以流畅书写和阅读英文。 1261 | 4. 有 LLVM/MLIR 相关开发经验者优先。 1262 | 1263 | ### OC109 QtRVSim 开发实习生(20250311 开放 2 名) 1264 | 1265 | 岗位介绍: 1266 | 1267 | 为 https://github.com/cvut/qtrvsim 添砖加瓦。PLCT实验室与该开源项目作者建立了初步的合作联系。 1268 | 1269 | 实习内容: 1270 | 1271 | 注意部分内容有可能已经完成了,请务必在开始之前联系PLCT实验室进行沟通。 1272 | 1273 | - https://github.com/cvut/qtrvsim/issues/1 1274 | - https://github.com/cvut/qtrvsim/issues/2 1275 | 1276 | TL;DR of the topics (in random order): 1277 | 1278 | - finish porting more complex unit tests and extend them 1279 | - compressed ISA support 1280 | - 64bit ISA support in gui (it is hard to fit it there) 1281 | - DWARF location display (when C code is simulated) 1282 | - declarative specification of (at least simple) pseudoinstructions (for both encoding and decoding). Right now, it is a special case for compilation only. 1283 | - detail view of instruction encoding 1284 | - recording of pipeline utilization with visualization like this (https://image.slidesharecdn.com/chapter4theprocessor-100520050519-phpapp01/95/chapter-4-the-processor-55-728.jpg?cb=1274344463) 1285 | - time travel debugging ("step back" ability, probably for basic components only, not memory, peripherals...) 1286 | 1287 | 岗位要求: 1288 | 1289 | 1. LV3及以上。 1290 | 2. 熟练英文文字交流。 1291 | 3. 懂得礼貌友好的进行英文社区沟通。 1292 | 1293 | ### BJ108 RISC-V 测试实习生(北京坐班)(20250311 开放 2 名) 1294 | 1295 | 岗位介绍: 1296 | 1297 | 中国科学院软件研究所PLCT团队开发和维护着包括 openEuler RISC-V 在内的多个 Linux 发行版。为了保证 RISC-V 平台用户的使用体验,在操作系统的自动化测试之外,需要大量的进行物理设备上的测试验证。本岗位的工作内容是借助于 ISCAS RISC-V Lab 中丰富的 RISC-V 开发板和计算机,对包括 openEuler、 RevyOS、 RT-Thread 在内的多种操作系统进行实际的安装、使用、测试,并验证浏览器、办公软件等常用软件在 RISC-V 上的运行稳定性。 1298 | 1299 | 实习内容: 1300 | 1301 | 1. 根据测试要求,将 openEuler 等多款操作系统安装在 Pioneer Box、 LicheePi 4A 等 RISC-V 设备上,并测试功能可用性、稳定性、性能。 1302 | 2. 评审和修改完善相关的技术文档。 1303 | 3. 参与测试用例的撰写,包括手工测试用例和自动化测试脚本等。 1304 | 4. 参与技术分享,包括中文和英文会议的发言等。 1305 | 5. 工作突出的同学有机会代表测试小队在各类 RISC-V 会议上进行演讲。 1306 | 1307 | 岗位要求和说明: 1308 | 1309 | 1. 需要达到 LV2 能力等级,并且没有在软件所实习过。 1310 | 2. 做事细心不浮躁,写文档有耐心。 1311 | 3. 在投递简历之前,需要已经自学过 RISC-V 是什么,并且能够在 Linux 环境下的 QEMU 上跑起来 openEuler RISC-V。 1312 | 4. 要求北京学校在校大学生,可以来软件所北京本部坐班,工作日每周至少2天。实习生费用按照出勤天数(100元/天)+外部可见产出(可变)叠加的方式。 1313 | 5. 注意不提供住宿和任何补助,北京以外其他城市同学可以看看其他岗位信息,基本都是可以远程的。 1314 | 1315 | ### BJ107 DynamoRIO RISC-V 移植开发实习生(20250311 开放 1 名) 1316 | 1317 | 岗位介绍: 1318 | 1319 | DynamoRIO 是一个运行时的二进制动态插桩系统,广泛地用于程序的分析、模拟、优化以及性能评估等等。目前 DynamoRIO 的核心模块已经支持 RISC-V,但仍有大量工作需要推进。 1320 | 1321 | 实习内容: 1322 | 1323 | 和 mentor 一起参与 DynamoRIO for RISC-V 的开发,并将自己的工作直接提交到上游。 1324 | 1325 | 岗位要求: 1326 | 1327 | 1. 基础能力 Lv2 及以上; 1328 | 2. 对 RISC-V 指令集有一定了解; 1329 | 3. 可以流畅书写和阅读英文; 1330 | 4. 投递简历之前,我们希望你已经了解并尝试使用过 DynamoRIO。 1331 | 1332 | ### BJ88 RISC-V SAIL 开发实习生(20250311 开放 20 名) 1333 | 1334 | 工作内容: 1335 | 1336 | - 参与PLCT实验室在SAIL等相关开源项目的开发。在开源社区直接提交代码。 1337 | 1338 | 入职要求: 1339 | 1340 | - LV3+,对RISC-V形式化模型的内部实现有兴趣。 1341 | - 远程实习,不需要坐班。 1342 | 1343 | ### BJ74 编译器性能评测实习生(20250311 开放 2 名) 1344 | 1345 | 岗位名称: 1346 | 编译器性能评测实习生 1347 | 1348 | mentor: 1349 | 廖春玉 等。 1350 | 1351 | 工作内容: 1352 | 搜集开源 benchmarks,用 GCC 和 LLVM 分别编译 benchmark,对比 benchmark 的性能数据。具体: 1353 | 1354 | - 需要使用 GCC 和 Clang 编译 benchmark,对比 benchmark 的指令数和 codesize 等指标。 1355 | - 每日用 Clang 编译 benchmark,完善CI;分析自动化脚本的输出,如果指令数和 codesize 比前一天的有所增加提示具体 benchmark 的信息,并保留 log 和 Clang 的 commit IDs. 1356 | - 根据需要配置不同版本和配置的本地工具链,随时手动复现结果并进行汇编或 trace 级别的分析。 1357 | 1358 | 报名要求: 1359 | 1. LV3及以上;熟练使用脚本语言,shell/python 等。 1360 | 2. 熟悉 GCC 和 LLVM 编译器。 能够成功编译并读懂测试集输出的数据。(例如 git@github.com:llvm/llvm-test-suite.git ) 1361 | 3. 了解 benchmark 的方法学,熟悉创建测试集,比如 spec cpu 2006, coremark 等。 1362 | 4. 熟练使用 llvm-test-suite,对其实现过外部 benchmark 扩展功能支持的优先。 1363 | 1364 | ### BJ73 SystemVerilog编译器工程师(slang to mlir), (20250311 开放 1 名) 1365 | 1366 | (NOTE: 这是由兆松科技提供外部mentor支持的联合培养实习岗位) 1367 | 1368 | 注意:申请者至少需要保证每周投入到项目的时间不少于20小时,不少于半年的连续投入。 1369 | 1370 | 职位描述: 1371 | 1372 | - 评估CIRCT框架当中Moore dialect等方言的设计,以及对SystemVerilog的支持情况。 1373 | - 基于开源SystemVerilog编译器slang的前端,设计可以生成CIRCT项目当中Moore dialect(或者自定义dialect)的编译器前端。 1374 | - 参考CIRCT Moore编译器(rust)的实现,在slang编译器当中实现Moore dialect(或者自定义dialect)的代码生成。 1375 | 1376 | 1377 | 任职要求: 1378 | 1379 | - 扎实的数据结构基础知识,熟练掌握C++,熟练使用C++ STL,最好了解STL实现原理。 1380 | - 熟练使用Linux,会编写shell脚本。 1381 | - 学习过数字电路,以及最好有编译原理基础知识。 1382 | - 足够自信的英语阅读和书写能力,需要和上游无障碍沟通。 1383 | - 有LLVM/CIRCT/MLIR开发经验者优先考虑。 1384 | - LV3+ 及以上能力等级。 1385 | 1386 | 参考信息: 1387 | 1388 | - slang仓库: https://github.com/MikePopoloski/slang 1389 | - Moore仓库: https://github.com/fabianschuiki/moore 1390 | - CIRCT: https://circt.llvm.org/ 1391 | 1392 | ### BJ72 eunomia-bpf intern (暂停招聘) 1393 | 1394 | (本岗位为外部社区联合贡献岗位,mentor来自 eunomia-bpf 社区。) 1395 | 1396 | eunomia-bpf 社区是一个致力于探索、改进、扩展 eBPF 相关开发工具链和运行时的开源社区,我们维护了一系列的开源项目、文档教程,并且积极探索将 eBPF 从内核态扩展到用户态、简化 eBPF 的开发和移植、发布流程、使用 LLM 自动生成 eBPF 代码、将 Wasm 和 eBPF 结合起来等等相关解决方案。希望我们能有机会一起扩展整个 eBPF 生态的边界,并且做出能持续长久、有影响力的开源项目。 1397 | 1398 | - 主页: https://eunomia.dev 和 https://github.com/eunomia-bpf 1399 | - 教程:https://eunomia.dev/zh/tutorials/ 和博客:https://eunomia.dev/zh/blogs/ 1400 | 1401 | 工作内容: 1402 | 1403 | 1. 维护 eunomia-bpf 社区中的项目,并积极向内核和相关上游社区贡献代码 1404 | 2. 追踪 eBPF 相关领域的研究和工程实践,了解、响应社区开发者的需求,以及给出让人耳目一新的解决方案 1405 | 3. 向 PLCT 内部和全世界输出文档、教程、演讲和论文,分享和扩大我们的工作影响力,普及 eBPF 相关知识和实践(比如我们之前在 Kubecon 和 Linux Plumbers 等等的 Talk) 1406 | 1407 | 1408 | 岗位要求: 1409 | 1410 | 1. LV2+ (如果你自我评级 LV2 的话,可以先从文档和测试工作做起?) 1411 | 2. 在投递岗位之前学习过 eBPF,如果没接触过的话,这里有个关于如何学习 eBPF 的小建议:https://eunomia.dev/zh/tutorials/0-introduce/ (花个两三天看看也好?) 1412 | 3. 学习过 C/C++ 和操作系统相关知识 1413 | 4. 希望能在以下任何一个方向有一些了解或背景:eBPF 的内核实现本身,LLVM/编译工具链与运行时,WebAssembly,二进制插桩与反编译,LLM/langchain/GPT,可观测性和性能分析,可编程网络(没有也没关系,如果你愿意并且有能力现学的话?) 1414 | 5. 英文阅读能力和解决、调试复杂问题的能力 1415 | 1416 | ### BJ71 RT-Thread 社区实习生 (20250311 开放 20 名) 1417 | 1418 | RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread社区是一个开放、开源的社区。RT-Thread拥有非常丰富的软件包,基于这些软件包可以快速构建产品原型。并且拥有较好的POSIX接口支持,可方便的移植Linux应用。为了更好的服务蓬勃发展的RISC-V生态,我们期望可以将RT-Thread已有的软件生态都很好的对接到RISC-V平台上。同时,RT-Thread Smart微内核系统支持用户态应用程序,rootfs等的构建程序,后面也会积极推进Smart for riscv 版本,也欢迎大家积极参与进来! 1419 | 1420 | 自2025年1月1日起,持有「嵌入式系统设计工程师-实时操作系统(RT-Thread)认证」的同学优先,并免除上机考试环节。 1421 | 1422 | 关于上述认证的介绍网页参见: http://www.eetalent.com.cn/certificationexam 1423 | 1424 | RT-Thread相关的工作可以分为三类:A类(MCU)、B类(Smart)、C类(libc) 1425 | 1426 | #### A类(MCU)-工作内容: 1427 | - 维护RT-Thread的代码; 1428 | - 开发或完善RISC-V架构相关的BSP及驱动; 1429 | - 开发或完善测试用例,提升RT-Thread的可维护性; 1430 | - 在RISC-V平台上构建良好的POSIX生态,测试并完善POSIX接口支持; 1431 | - 在RISC-V平台上构建良好的软件包生态,测试并完善软件包对RISC-V平台上的支持; 1432 | - 在RISC-V上搭建基于RT-Thread的Arduino生态; 1433 | - 编写文档来介绍RT-Thread&&RISC-V相关的知识,当前的文档在:https://www.rt-thread.org/document/site/#/ 1434 | 1435 | #### B类(Smart)-工作内容: 1436 | - 参与并推进 RT-Thread Smart for riscv; 1437 | - 开发或完善RISC-V架构相关的BSP及驱动; 1438 | - 完善应用支持,迁移更多的GNU应用到 RT-Thread Smart for riscv 平台上; 1439 | - 完善 Smart for riscv 的 GUI 生态,移植LVGL、Wayland及终端Terminal软件; 1440 | - 编写文档来介绍RT-Thread Smart&&RISC-V相关的知识,当前的文档在:https://www.rt-thread.org/document/site/#/ 1441 | 1442 | #### C类(libc)-工作内容: 1443 | - 一个国际的开源项目:开发维护一套 riscv mcu 下的 mlibc 库; 1444 | - 小型化的 libc 库,针对体积做特殊优化; 1445 | - 使用这个 mlibc 出一份 riscv 工具链; 1446 | 1447 | #### 岗位要求: 1448 | - 电子、计算机、通信、自动控制等专业; 1449 | - c语言基础扎实,熟悉计算机体系结构; 1450 | - 熟悉一种或数种嵌入式CPU软硬件平台,例如STM32,RISC-V等; 1451 | - 有强烈的学习能力和学习新知识的欲望; 1452 | 1453 | ### BJ37 GCC 开发实习生(20250311 开放 6 名) 1454 | 1455 | 工作内容 1456 | - 最近PLCT实验室在参与RISC-V国际基金会的相关新指令扩展的工作,具体内容是为 unratified extensions (就是还在制定中的扩展指令集)进行 GNU Toolchain 的实现,用于验证草案本身在设计上是否存在遗漏缺失、是否在功能或性能上有改进的空间。目前面向大学生及研究生招募开发者,以PLCT实验室实习生的身份,直接参与到RISC-V基金会管理下的GCC工具链开发中,并有可能后续直接将代码(patch)提交到上游(upstream)。最近开始有业界一线的大佬指导和review实习生的代码,是非常难得的学习机会。 1457 | - 与此同时,实习生岗位 BJ18 Clang/LLVM 开发实习生以及 BJ15 QEMU/Spike 开发实习生同样持续招聘。一个完整扩展指令参考实验和验证包括编译器、二进制工具、模拟器,都是需要的。 1458 | 1459 | 入职要求: 1460 | - LV2+,能进行英语交流,对编译技术有基本了解。如果事先了解过ELF格式、RISC-V或其他指令集、相关ABI文档,那么都算是加分项。 1461 | - 远程实习,不需要坐班。 1462 | 1463 | ### BJ17 V8 开发实习生(20250311 开放 2 名) 1464 | 1465 | 工作内容: 1466 | - 参与PLCT实验室 V8 for RISC-V 相关项目的开发。在开源社区直接提交代码。 1467 | 1468 | 入职要求: 1469 | - LV4及以上,熟练的英语交流。 1470 | - C++ 要熟练。新特性了然于胸。 1471 | - 需要已经看过 V8 的源代码,自行构建 riscv64 后端成功。 1472 | - 需要熟悉 JavaScript 语言。如果看过 WebAssembly 加分。 1473 | - 远程实习,不需要坐班。 1474 | 1475 | ### BJ45 MLIR 开源开发实习生 aka Buddy Compiler 开发(20250311 开放 20 名) 1476 | 1477 | 我们相信MLIR将会成为未来编译器框架的实施标准。因此从2021年开始,PLCT实验室将 MLIR 列入了「关键开源基础设施」名单,已经跟 LLVM、GCC 一样成为PLCT实验室的长期管理对象。 1478 | 1479 | 工作内容: 1480 | - 参与PLCT实验室 MLIR 相关开源项目的开发。 1481 | - 参与 Buddy Compiler 开发。 1482 | 1483 | 入职要求: 1484 | - LV3+,能进行英语交流,对编译技术有很好的了解。对 MLIR 项目有浓厚的兴趣。 1485 | - 远程实习,不需要坐班。 1486 | 1487 | ### BJ18 Clang/LLVM 开发实习生(20250319 开放 30 名) 1488 | 1489 | 工作内容: 1490 | 参与PLCT实验室 Clang/LLVM 相关项目的开发、技术分析、报告撰写。在开源社区直接提交代码。 1491 | 1492 | 入职要求: 1493 | LV3+,能进行英语交流,对编译技术有基本了解。 1494 | 远程实习,不需要坐班。 1495 | 1496 | ## 历史岗位(已经不再招募实习生) 1497 | 1498 | - Android(AOSP) RISC-V 移植开发实习生 BJ77~BJ80 【暂停招聘】 1499 | - BJ101 FORCE-RISCV 开发实习生 (已满,暂停招聘) 1500 | - BJ103 SG2042 操作系统开发实习生 (停止招聘,被新岗位JD替代) 1501 | - BJ104 SG2042 数据库移植实习生 (停止招聘,被新岗位JD替代) 1502 | - BJ105 ART 虚拟机性能评测实习生 (暂停招聘) 1503 | - BJ106 openEuler RISC-V 操作系统开发实习生 (停止招聘,转入软件所其他部门) 1504 | - BJ33 Spidermonkey 开发实习生【暂停招聘】 1505 | - BJ38 LuaJIT 开发实习生【暂停招聘】 1506 | - BJ38 LuaJIT 开发实习生【暂停招聘】 1507 | - BJ39 Web 前端开发实习生【暂停招聘】 1508 | - BJ47 Gentoo RISC-V 操作系统构建实习生 (20240101 开放 2 名) 1509 | - BJ59 开源软件项目经理实习生【暂停招聘】 1510 | - BJ60 开源技术社区运营经理实习生【暂停招聘】 1511 | - BJ61 蝉语实习生【暂停招聘】 1512 | - BJ63 Maple-C 编译器 Linux 构建验证及 RISC-V 移植实习生【暂停招聘】 1513 | - BJ66 科技文档翻译实习生(日语、韩语)【暂停招聘】 1514 | - BJ67 操作系统RISC-V成熟度观测实习生(跟踪所有国内外知名Linux发行版)【暂停招聘】 1515 | - BJ68 OpenWrt RISC-V 移植及观测实习生【暂停招聘】 1516 | - BJ69 Deepin RISC-V 操作系统构建实习生【暂停招聘】 1517 | - BJ81 RISC-V科研实习生:P扩展在 Linux Kernel 中对解压缩算法等模块的加速可能性研究及原型实现 【暂停招聘】 1518 | - BJ82 实现基于 LoongArch 架构的 RISC-V 模拟器 LARVa 【暂停招聘】 1519 | - BJ84 RVWhl Python Package 开发实习生【暂停招聘】 1520 | - BJ90 开源社区运营助理(SG2042 and Duo)实习生 (已满,暂停招聘) 1521 | - BJ91 开源社区运营助理(LicheePi 4A 等 RISC-V SBC)实习生 (已满,暂停招聘) 1522 | - HZ85 CXL软硬件联合开发【暂停招聘】 1523 | - HZ86 CXL开源硬件IP开发【暂停招聘】 1524 | - NJ49 Fedora RISC-V 操作系统构建实习生【暂停招聘】 1525 | - NJ50 Debian/Ubuntu RISC-V 操作系统构建实习生【暂停招聘】 1526 | - NJ51 Arch Linux RISC-V 操作系统构建实习生【暂停招聘】 1527 | - NJ52 测试开发实习生(这是开发岗位)【暂停招聘】 1528 | - NJ53 软件测试实习生(这是测试岗位)【暂停招聘】 1529 | - NJ53a openEuler RISC-V 操作系统构建实习生【暂停招聘】 1530 | - NJ55 开源EDA实习生【暂停招聘】 1531 | - NJ57 Android(AOSP) RISC-V 移植开发实习生【停止招聘】 1532 | - BJ112 QEMU RISC-V 开发实习生 【结束招聘:任务完成】 1533 | - BJ111 TH1520 U-Boot 移植实习生 1534 | - HZ48 Chisel 开发实习生 1535 | - BJ32 Dart for RISC-V 开发实习生【暂停招聘:缺少mentor & 无人投简历】 1536 | - BJ15 QEMU/Spike 开源模拟器开发实习生【暂停招聘:缺少mentor】 1537 | - BJ58 libcxx-simd 项目实习生招聘【结束招聘:任务完成】 1538 | - BJ65 DynamoRIO 开发实习生(负责 RISC-V 移植及优化)【结束招聘:任务完成】 1539 | - BJ75 OpenJDK 实习生(Lilliput、RISC-V)【结束招聘:无人投简历】 1540 | - BJ70 Aya 全套生态开发实习【结束招聘:无人投简历】 1541 | - BJ76 OpenCV RISC-V P 扩展移植实习生【结束招聘:任务完成】 1542 | - BJ89 编译器功能支持实习生【暂停招聘:缺少mentor】 1543 | - BJ92 Milk-V Duo OpenWRT 开发实习生【结束招聘:任务完成】 1544 | - BJ97 Milk-V Duo IDE 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】 1545 | - BJ96 Milk-V Duo SDK 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】 1546 | - BJ98 Flutter RISC-V 开发实习生【结束招聘:无合格候选人】 1547 | - BJ114 Pixman RISC-V 优化实习生 【工作已完成,结束招聘】 1548 | - BJ102 Buddy Compiler 开源社区运营助理实习生 (已满,暂停招聘) 1549 | - BJ99 RISC-V OpenSSL 开发实习生【结束招聘:无合格候选人】 1550 | - BJ113 操作系统移植: ThreadX 移植到 RISC-V (Milk-V Duo) 【工作已完成,结束招聘】 1551 | - BJ34 OpenJDK 开发实习生【结束招聘:无合格候选人】 1552 | - BJ64 Mono 系统开发实习生(负责 RISC-V 移植及优化)【暂停招聘:缺少mentor & 无人投简历】 1553 | - BJ87 RISC-V ACT 开发实习生 【结束招聘:无人投简历】 1554 | - BJ100 RISC-V nettle 开发实习生【结束招聘:无人投简历 & 缺少 mentor】 1555 | - BJ93 Milk-V Duo Yocto 开发实习生【结束招聘:无人投简历 & 被新岗位覆盖】 1556 | - BJ94 Milk-V Duo Buildroot 开发实习生 (20240101 开放 1 名)【结束招聘:无人投简历 & 被新岗位覆盖】 1557 | - BJ95 Milk-V Duo Linux Kernel 开发实习生 (20240101 开放 2 名)【结束招聘:无人投简历 & 被新岗位覆盖】 1558 | - P120 RISC-V 测试实习生(郑景坤小队,RuyiSDK 支持矩阵) 【合并进入 J129】 1559 | -------------------------------------------------------------------------------- /outstanding-interns.md: -------------------------------------------------------------------------------- 1 | # 优秀实习生 2 | 3 | 本页面是甲辰计划主理人吴伟及相关团队(PLCT实验室、苦芽科技、TARSIER操作系统团队(已解散))对于能力突出或做出可观贡献的实习生的介绍和证明(背书)。是在我们团队中有效实习周期超过3个月的同学,都有机会将自己实习期间的工作内容、贡献、LV等级通过本页面进行展示。需要注意这个页面的创建时间要远远迟于我们开始招募和培养实习生的时间,所以有很多已经毕业工作的实习生可能并未加入到这个列表中。同时,只有获得实习生本人同意或本人PR,实习经历才会在本页面公开。 4 | 5 | 目前公开的门类有两种: senior interns (高级实习生) 和 LV4+ Interns (大能力者/超能力者)。 6 | 7 | ## LV4+ Interns (大能力者和超能力者) 8 | 9 | ### LV4+ 王炳臻 10 | 11 | 王炳臻是 LuaJIT RISC-V Porting 维护者、PLCT实验室实习生,目前在南方科技大学攻读学士学位。在PLCT实验室实习期间,王炳臻一直从事编译器和 Linux 发行版维护工作,其中最引人注目的项目是将 LuaJIT 移植到 RISC-V 架构,尽管这项任务非常深奥,但质量很高。王炳臻在编译器领域表现出了非凡的兴趣和学习能力,并就该主题发表了令人印象深刻的公开演讲。 12 | 13 | 更多信息参见 [甲辰人才背书008号](https://mp.weixin.qq.com/s/D16xX57AA6H8JQowhjryyw) 14 | 15 | ### LV4 蒋周奇 (洛佳 luojia) 16 | 17 | 蒋周奇(洛佳) 2022 年本科毕业于华中科技大学,现在为华中科技大学硕士研究生,研究方向为系统安全,2021 年加入 PLCT 实验室实习,进行 RISC-V 固件和内核开发有关工作;目前负责维护 RustSBI 项目,设计和带领 RustSBI 各个子项目的发展,丰富 RustSBI 的应用场景;带领团队为多核异构的 RISC-V 芯片——博流 BL808 提供了完整的 Rust 裸机到内核开发支持包解决方案;修复过 RISC-V SBI 规范标准中存在的定义不严格问题;完成多次 RISC-V 固件和引导程序相关的技术报告。 18 | 19 | 更多信息参见 [甲辰人才背书012号](https://github.com/rv2036/jiachen-builders-network/blob/main/pool/012-JIANG-Zhouqi.md) 20 | 21 | ### LV4 陈泱宇(cyy) 22 | 23 | 陈泱宇 2022 年本科毕业于重庆大学,现在为重庆大学博士研究生,研究方向为体系结构,2022年加入 PLCT 实验室实习,进行 RISC-V 底层软硬件相关工作,给 Linux Kernel、GCC、QEMU、gem5、FireSim、OpenSSL、XiangShan、Rocket-Chip 等上游项目贡献过 RISC-V 相关功能实现、Bug 修复、性能优化在内的补丁;为第一款量产的 RISC-V Vector 1.0 开发板——嘉楠 K230 提交了 Linux 主线内核支持并进入 RuyiSDK 为 RISC-V Vector 软件开发者提供便利;修复过 2 处 RISC-V ISA 手册存在的模棱两可问题;完成多次 RISC-V 软硬件技术相关的技术报告。 24 | 25 | 更多信息参见 [甲辰人才背书010号](https://github.com/rv2036/jiachen-builders-network/blob/main/pool/010-CHEN-Yangyu.md) 26 | 27 | ### LV4 郑英炜 (dtcxzyw) 28 | 29 | 2023年11月成为LV4。目前主要在LLVM中端与RISC-V后端贡献代码。 30 | 31 | 更多信息参见 [甲辰人才背书007号](https://github.com/rv2036/jiachen-builders-network/blob/main/pool/007-ZHENG-Yingwei.md) 32 | 33 | ### LV4 郑昱笙(云微/yunwei37) 34 | 35 | 2023年1月成为LV4。目前主要在维护 [eunomia-bpf](https://github.com/eunomia-bpf) 社区的一些相关项目,并持续向 eBPF/Wasm 相关上游社区反馈和贡献代码;和 eBPF 小队一同创建和维护了第一个在 Wasm 上构建、发布和运行通用 eBPF 程序的运行时与工具链,并且通过重构 bcc 运行时,推动 bcc 生态向 libbpf 相关生态转化。 36 | 37 | ### LV5 dram 38 | 39 | 在RISC-V方面有着超过PLCT员工级别平均值的能力和专业知识积累。作为RISC-V方面的专家顾问,进入 PLCT ITEM 部门。 40 | 41 | 更多信息参见 [甲辰人才背书009号](https://github.com/rv2036/jiachen-builders-network/blob/main/pool/009-dram.md) 42 | 43 | ### LV5 红人 44 | 45 | 在 RISC-V 的软件和硬件方面都有着深入的贡献,在 Chisel/RocketChip、RISC-V Linux Distros 等多个技术领域都独立进行过领域展开。 46 | 47 | ### LV4 王弈桥 48 | 49 | 他独立创建并维护了 openEuler RISC-V 的衍生发行版 Eulaceura。 50 | 51 | 让我们为TARSIER建立以来的第二位LV4实习生,献上表情包祝贺🎊 52 | 53 | 更多信息参见 [甲辰人才背书016号](https://github.com/rv2036/jiachen-builders-network/blob/main/pool/016-WANG-Yiqiao.md) 54 | 55 | 2022-11-08 56 | 57 | ### LV4 陆言/Robin 58 | 59 | Robin(陆言)同学在过去两个月中出色地参与完成了一系列开源软件在平头哥最新RISC-V开发板的适配和调试,设计实现演示方案。该产出已经在RISC-V中国峰会上公布,成为TARSIER认定的外部可见交付。 60 | 61 | 同时我们高兴地宣布TARSIER项目中基于龙蜥RISC-V架构的(超前适配验证)衍生发行版将命名为 RobinOS,并长期维护。 62 | 63 | 陆言同学同时作为BJ67首席,将会继续负责BJ67小队的日常信息收集验证,向席静主管汇报。 64 | 65 | (updated: 20220901) 66 | 67 | ### LV4 胡轩 68 | 69 | 模拟器小队,参与 Gem5 RVV 开发。 70 | 2022年4月成为LV4。 71 | 72 | ### LV5 潘瑞哲 73 | 74 | [XieJiSS](https://github.com/XieJiSS) | Arch小队 | [Blog](https://blog.jiejiss.com) 75 | 76 | 2022年4月成为LV5。杰出的跟各路上游社区对线(非暴力沟通)的能力,并且能够在解决缠绕很深的bug之后,条理清晰的进行阐释和修复。 77 | 78 | ### LV4 张世骐 79 | 80 | 2022年4月成为LV4。具备高度主动性,在组内互助和指导、问题汇总讨论、上游社区沟通等都有均衡稳定的输出。 81 | 82 | ### LV4 樊其轩 83 | 84 | LV4 since 2021-12-01。隶属于 Gentoo Linux 小队。现在同时也在 LLVM 小队贡献代码。 85 | 86 | ### LV4+ 林思南 87 | 88 | GNU GCC 小队成员,贡献了多个 RISC-V 新扩展的 GCC 和 Binutils 实现。 89 | 90 | ### LV5 陆旭凡 91 | 92 | 曾经是 LLVM 小队实习生。现已毕业,进入PLCT实验室。 93 | 94 | ### LV4 陶立强 95 | 96 | 曾经是 V8 小队成员,已经从PLCT毕业。最近(2022年4月)又从东京大学(大概)毕业了! 97 | 98 | ### LV4 韩博阳 99 | 100 | PLCT实验室CAAT小队著名摸鱼大佬。 101 | 102 | ### LV5+ 安传旭 103 | 104 | GitHub ID: `anchuanxu` / 个人邮箱:`anchuanxu@126.com` 105 | 106 | 实习时间:从【2019/4】到【2020/3】,隶属项目/团队:【智能机器人】 107 | 108 | 实习期间的成果和收获:完成了vSLAM实践课程项目,完成了仿真无人机、多机器人项目,完成了移动机器人激光SLAM算法的研究与优化课题,完成了机器人路径规划算法的升级等相关课题内容。 109 | 110 | 实习的心得感受:读研期间,实习打开了我的另一个世界的大门,实习生活很精彩,收获了丰富的机器人软件开发技术经验,期间和团队的同学一起开展项目,相互学习,相互帮助,共同经历了一段难忘的岁月,是我人生的一笔财富。在此期间,我也快速的成长成熟,完成了从学生到职员的身份蜕变,感恩这段美好的时光。 111 | 112 | 对后辈实习生的寄语:同学们,读万卷书也要行万里路,一起来实习吧,这里有不一样的风景。 113 | 114 | ### LV4 王晓云(jiuyewxy) 115 | 116 | GitHub ID: `jiuyewxy` / 个人邮箱:`wangxiaoyun@iscas.ac.cn` 117 | 118 | 实习时间:【2018/6】到【2018/8】~ 【2019/3】到【2019/5】 119 | 120 | 实习期间的成果和收获:【完成了机械臂ROS课程部分章节的内容制作;实现了手势识别项目在XBot机器人上的移植测试;对机器人的ROS开发和测试等工作有了较为全面的了解;对室内移动机器人的建图定位算法和路径规划算法有了更加深入的研究;在团队协作、git的使用、实习生的招聘管理等方面收获了更多经验。】 121 | 122 | 目前的状态:【在职:`中科院软件研究所`】 123 | 124 | 实习的心得感受:【实习期间除了一些专业知识的学习,还掌握了更多对以后工作有莫大帮助的技能,比如git的使用、团队协作的流程和规范、编程的规范、如何快速检索知识等等,让我从一个菜鸟在较短的时间内进步了很多。在实习期间认识了很多志同道合的小伙伴,一些同学到现在都是很好的朋友。这次实习经历也为我后面找工作提供了机会,非常感谢老师的指导和小伙伴的帮助。】 125 | 126 | 对后辈实习生的寄语:【笨鸟先飞,菜鸟晚归,好好学习,不懂就问】 127 | 128 | ## Senior Interns (高级实习生) 129 | 130 | Senior interns 的设立目标,是对PLCT实验室目前「外部可见交付月度观测制度」的补充完善。已经证明自己的技术能力和自治能力的同学将进入准员工的精英自治模式,每个月的实习费不会低于设定的基准值,只会上浮,确保 senior interns 可以做一些更加困难、更加有技术挑战的开源贡献。 131 | 132 | 设定的理由: 133 | 1. 让荣光落于刀锋之上。 134 | 2. 目前的外部可见交付观测制度并不能观测团队内隐形产出,包括同辈指导、跨组互助、人际关系维持等。而 senior intern 隐含的被期待积极的帮助指导团队(新)同学。 135 | 3. 需要将 senior 实习生从简单工作上转入比较难、不太容易一个月出结果的工作上。 136 | 137 | 成为 senior 的入门条件: 138 | 1. 实习3个月以上,续签了新的实习合同,且处于实习存续期间。 139 | 2. 在实习期间外部可见产出稳定,技术能力达到LV3及以上(部分岗位仅要求LV2+)。 140 | 2. 在小队中承担起部分决策、培养新同学、计划外事件处理等责任。 141 | 142 | (变更:2022-03-27 开始公开新增了 senior interns 的分类。) 143 | 144 | ### List of senior interns 145 | 146 | | 姓名 | 所属小队 | 介绍、链接 | 147 | | ---- | ---- | ---- | 148 | | 樊其轩 | Gentoo小队、LLVM小队 | 捞回 rm -rf 的LV4 | 149 | | dram | ITEM | ([GitHub @dramforever](https://github.com/dramforever), ) | 150 | | 喵喵 | CAAT小队 | TBA | 151 | | [Sharzy](https://github.com/SharzyL) | CAAT小队 | TBA | 152 | | 人形自走WA机 | CAAT小队 | ([GitHub @OceanS2000](https://github.com/OceanS2000), 个人主页在建了在建了) | 153 | | [Kiva](https://github.com/imkiva) | Aya小队(实习已结束) | TBA | 154 | | [Glavo](https://github.com/Glavo) | Aya小队 | [知乎专栏·JVM 新闻速递](https://www.zhihu.com/column/c_1359548809383686144) | 155 | | [zxs-un](https://github.com/zxs-un) | oerv小队 | TBA | 156 | | 乌鑫龙 | LLVM小队 | TBA | 157 | | dingiso | 模拟器小队(实习已结束) | TBA | 158 | | 潘瑞哲 [XieJiSS](https://github.com/XieJiSS) | Arch小队 | [Blog](https://blog.jiejiss.com) | 159 | | [Xeonacid](https://github.com/Xeonacid) | Arch小队 | TBA | 160 | | [rvalue](https://github.com/r-value) | Arch小队 | TBA | 161 | | [Ast-x64](https://github.com/Ast-x64) | Arch小队(实习已结束)| TBA | 162 | | [Zenithal](https://github.com/ZenithalHourlyRate) | Arch小队、CAAT小队(实习已结束) | TBA | 163 | | [Coelacanthus](https://github.com/CoelacanthusHex) | Arch 小队 | TBA | 164 | | 任鹏飞 [kxxt](https://github.com/kxxt) | Arch 小队 | https://kxxt.dev | 165 | 166 | -------------------------------------------------------------------------------- /so-you-want-to-join-us.md: -------------------------------------------------------------------------------- 1 | # 加入我们 2 | 3 | 请阅读 [README](README.md) 4 | --------------------------------------------------------------------------------