问HN:操作系统内核团队的入职培训是怎样的?

7作者: markus_zhang2 个月前原帖
背景:我想了解操作系统内核团队是如何为新员工提供培训的。 我主要好奇的是: - NT内核 / XNU内核 / Android内核团队,或者任何不是开源软件(OSS)如Linux的团队,例如一些专有实时操作系统(RTOS)团队也算在内。 - 当团队仍然从目标学校招聘新毕业生进入内核团队时。我不确定你的团队是否还在这样做,所以我用了过去时态。 问题: - 新员工在培训上工作多长时间?你们是否给予例如3个月的时间让他们熟悉并开始处理小任务,还是采取“游泳或淹死”的策略? - 如果有结构化的培训,你们使用什么材料?主要是阅读内部文档、跟随资深员工、还是关于内核的出版书籍,或者其他什么? - 培训如何关注代码质量?对新员工在代码质量方面有什么样的练习/材料?在内核团队中,代码质量意味着什么? - 培训如何关注性能?你们对内存占用有多在意? - 培训是否使用生产操作系统的简化版本,并要求新员工复制现有功能? - 你们首先向新员工介绍哪些“子系统”/“模块”(例如:虚拟内存/引导/驱动程序/调度器/文件系统等)? - 培训如何处理内部工具,特别是内核调试? 感谢你的阅读,希望能得到一些答案 :D
查看原文
Context: I&#x27;m wondering how did OS kernel teams provide training to their new hires.<p>I&#x27;m mostly curious about:<p>- NT kernel &#x2F; XNU kernel &#x2F; Android kernel teams, or anything that is not OSS like Linux, e.g. some prop RTOS team would also count<p>- When teams still hired new graduates from targeted schools into kernel teams. Not sure whether your team is still doing this so I put up a past tense.<p>Questions:<p>- How much time do new hires work on the training? Do you give e.g. 3 months to catch up and start to work on small tickets, or it&#x27;s a swim or die strategy?<p>- If there is any structured training, what material do you use? Is it mostly reading internal docs, or shadowing seniors, or published books about the kernel, or something else?<p>- How does the training address code quality? What kind of exercises&#x2F;material does it lay on the new hires to work on code quality? What does code quality mean in the kernel team?<p>- How does the training address performance? How much do you care about memory footprint?<p>- Does the training use a minimal version of the production OS and ask the new hires to replicate existing features?<p>- What &quot;subsystems&quot;&#x2F;&quot;modules&quot; (e.g. vm&#x2F;boot&#x2F;driver&#x2F;scheduler&#x2F;fs&#x2F;etc.) do you expose to the new hires first?<p>- How does the training address internal tooling, especially kernel debugging?<p>Thanks for reading, and hopefully I get some answers :D