我叫Rahul Saini。我是IIT Mandi计算机科学专业的大四学生。我负责Joomla 4的“前端inline编辑”功能。
随着GSoC的结束,我想和大家分享我的经验和技巧。
关于这个项目
一个常见的误解是,这个项目是谷歌提供的一个实习机会。如果你刚开始接触,你可能会这样想。这是一个你可以和开源社区一起工作并做出重要贡献的项目。例如,我和Joomla合作,它是第二流行的CMS。还有许多其他的大型开源项目也参与GSoC。你可以在官方GSoC网站上了解更多。
为什么选择GSoC?
我们知道你需要工作来获得经验,然后用经验来找到工作。许多人从开源项目开始他们的旅程。你可以将你的贡献添加到你的简历中。这个项目提供了同样的好处,除了你会得到一个导师的帮助,而且这是一个付费项目。
如何被选中?
一些帮助我和我认识的人的技巧。
早点开始。学习新事物需要时间。所以,如果你想要擅长某件事,你需要花足够的时间去学习。如果你早点开始,那么在GSoC开始之前,你将已经对组织有了很多了解,到时候它会感觉就像是任何其他正常的一天。
每个组织都不同。了解组织的运作方式。坚持一个或两个组织。你可以提交最多三个项目提案。
制定详细的提案。如果你已经和导师有过交流,这并不困难。大多数组织会在你最终提交之前审阅你的提案。所以,充分利用这个机会。
如何写一份好的提案?
查看以前的提案。你可以在这个github仓库中查看2021年选定的提案。
https://github.com/Google-Summer-of-Code-Archive/gsoc-proposals-archive
您可能想要询问的一些问题。
在规定的时间内完成项目是否实际可行?请查看GSoC网站,了解学生应该工作多少小时。相应地设定合理的目标。
您是否有带截止日期的目标?您可能希望将项目分解为每周目标。这样,在周末您可以了解自己的进展方向。这个方法对我帮助很大。(这个技巧在日常生活中也有帮助。)
被选中了吗??
这里有一些建议。沟通是关键。当你犯了严重错误时,你会知道的。让我分享一次我的经验。我试图使用现有的方法X来保存文章,但X不能满足所有需求,对其进行任何修改都会产生副作用。因此,我编写了新的方法Y来进行行内编辑。它能够保存文章,但Joomla有很多部分是相互依赖的。比如,有一个独立的可重用代码用于维护文章的历史记录。现在我考虑添加对它的支持,并向我的导师们讲述了我的计划。他建议,尽管X不适合需求,我们应该尝试重用它。当我通过重用X完成Y后,我不再需要关心不同部分是如何相互作用的,因为我们现在正在重用现有的工作流程。
GSoC不仅仅是关于编码。它还涉及到加入开源社区。如果您被选中,您已经对将要开发的功能有了了解。主要目标是结识新的、出色的人。
我的工作
https://github.com/joomla-projects/gsoc21_frontend-inline-editing/issues/10
有关我的工作的详细信息,请查看这个GitHub问题。
前进的道路
一开始,我不熟悉Joomla。我从一无所知到了设计和实现Joomla核心功能的阶段。我计划继续这段旅程。
行内编辑对Joomla来说是新的。后端的修改已经完成。由于行内编辑是关于更好的用户体验,前端可以进行改进。
感谢Google提供这个机会,感谢Joomla管理一切并在整个过程中提供无缝体验,感谢我的导师们在每一步中给予指导。
Roland Dalmulder在整个项目中审查了我的方法和代码。他在项目开始时给出了一个具有挑战性的任务,帮助我写出了一个强有力的GSoC提案。没有Aníbal Sánchez,代码重构是不可能的。他指出了正确的思考方向。我从他那里了解了Joomla的内部知识,比如Joomla中使用的不同设计模式。
Shivam Rajput和Benjamin Trenkle管理了Joomla下的所有GSoC项目。他们组织了会议,并密切关注项目的进展。
感谢大家。
联系
Twitter账号:@__RahulSaini