如何开始一个副项目…并实际上完成它

内尔·奥波斯基(Nel Opolski)

我们都去过那里,我们提出了有史以来最伟大,最原始的想法,我们被启发了整整一天(​​整整六个小时😲),然后我们发现有人已经做了这个相同的项目……比我们的能力要好一百万倍,我们认为:“也许这并不新鲜,但我仍然可以学到很多东西。”我们计划在下周末进行这项工作,但是下个周末来了又去了,又过了三个周末,项目就在那里未完成。 几个月后,我们有了另一个天才的想法,同样的事情发生了。 那么,我们如何才能克服边远项目的忧虑呢? 我们实际上如何激励自己完成它? 如果这些是您自己问的问题,那么您来对地方了! 如果您从未经历过如此出色的话,那么我至少会嫉妒。 但是,即使这对您来说不是问题,本文仍可能为您提供一些很好的技巧,帮助您进行项目工作。

缩小比例

我知道您可能想创建下一个重要的东西,并且可以将所有这些功能和令人敬畏的东西添加到您的项目中,这将使它成为有史以来最酷的东西。 但是,这是一个附带项目。 这是您必须构建的东西,而生活中还有其他事情要进行。 您可能需要将项目进行几个步骤,估计实际需要多少时间才能完成,以及有多少合理的可能要做。 如果您仍然想保留所有疯狂的好东西,然后将它们写下来,请从整体上看待该项目,并将其划分为可实现的里程碑。 每个里程碑都是其自己的附带项目。 这样,您在开始时就不会感到不知所措,您更有可能完成项目。

规划

是的,每个人都听到这个可怕的词。 老实说,规划工作很糟糕,尤其是当您像我一样,只是想直接进入编码并建立酷狗屎时。 但事实是,如果您不坐下来思考自己将要建造的东西,那您将是个好主意。 当我说计划时,并不需要300页的详细要求,UI和测试套件文档(尽管可以这样做),但是至少您需要考虑以下事项:

1)我的用户是谁,他们需要什么?

2)我使用哪种技术/ API /语言,为什么?

3)要使用数据库? 最好最好提前设计

4)前端? 最简单的形式是什么?(jquery到底是什么?)

5)我应该在这一天/周/月中合理地完成什么工作?

在上面列出的所有内容中,关于辅助项目的第5点是更大的问题之一。 我们都有课程,作业,期中考试和考试。 我们中的一些人全职工作,并不完全感觉自己整天都无法完成编码工作,但计划时间将使您完成项目的某些部分将真正帮助您完成项目。 这个计划是什么样的? 您想要执行的任何操作,但需要完成。 例如,我知道我在一周中很忙,而周末对我来说是最好的。 因此,我列出了需要完成的事情,并估算了每一项将花费多少时间。 然后,我将清单中的每个项目都放入日程表中。 如果我知道在星期日的早晨我的生产力很高,那么我可以轻松完成2小时的冲刺。 我将在清单上选择一个两个小时的项目并执行。 这里要注意的重要一点是,我实际上已经完成了该项目的工作,可以将其从清单中剔除。 这使我觉得自己已经完成了一些有用的事情,现在已经接近里程碑,这使我更加接近最终目标,总体上激励着我在下周末继续该项目。

不要流汗

在进行辅助项目时,您经常学习使用新事物并挑战自己。 这太棒了! 这确实是最好的学习方法,但是当您卡住时会发生什么呢? 当您真的不知道该怎么做时? 如果您像我一样,您可能会感到沮丧,并且几乎会损坏笔记本电脑。 当发生这种情况时,我通常会离开电子设备,有时我不回来。 这真的很令人气our,尤其是在您刚开始项目时。 但是请不要流汗,您的天才可能需要更多时间来解决问题,因此请给它一些时间。 您可以在此处做两件事,要么从列表中选择要处理的新项目,要么休息一小时/一天,然后思考问题,与朋友,同事交谈,阅读stackoverflow问题,答案会传给您,如果没有,答案就出来了? 简单:找到解决方法,或者将该功能放到第二轮的回火器上。 不要过分强调它,也不要让它感到沮丧,这并不意味着您是一个糟糕的开发人员,或者您不应该进行辅助项目,这只是生活的一部分,而我们所有人在处理新内容时会遇到此问题。

去做就对了

在项目进行到一半时,您可能会开始失去动力,无论是由于其他责任,还是项目中您不真正喜欢但必须要做的一部分。 在这样的时候,得到同伴的支持真的很好。 寻找导师,与朋友交谈,与学校俱乐部取得联系。 无论您要完成什么障碍,与某人说出来都会帮助您前进。 每当您想到“我应该做我的项目还是看一些Netflix吗?”就去做。 是的,我知道Riverdale的最后一集有一个疯狂的悬崖路,您现在需要观看下一集,但是请相信我,您将感谢您自己抽出宝贵的时间来推进您的项目。 奖励自己的工作将帮助您做到这一点。 我喜欢把事情从清单上划掉,但也许您可能想要一块巧克力棒! 奖励自己会在您不想做的事情上与积极的工作联系在一起,因此下次您会发现,使用巧克力棒可以更轻松地进行工作。

好多主意

就像我之前说的,你很聪明,你有很多好主意! 您开始了这个项目,一个更好的主意出现了,您只是选择了新的而忘记了旧的东西。 有时候这是可以的,但是如果您发现自己处于一个不断启动项目但从未完成项目的周期中,则需要放慢速度并找出问题所在。 当您遇到这种情况时,有三种选择:

a)进行较小的项目

如果您计划较小的项目,可以在下一个想法敲门之前完成它们

b)多任务

同时处理两个项目,请确保您为两个项目分配相同的时间,以便您实际处理两个项目

c)不要接新项目

我知道这是个好主意,但是您应该将其写下来,并在完成已经开始的项目后再回到它。

辅助项目需要很多自律。 没有真正的截止日期,如果您不完成该项目,没有人会受苦,因此赌注非常低。 当出现不可避免的干扰时,能够自我激励,具有良好的时间管理技能并准备告诉自己不重要,这一点很重要。 我在上面的列表中已经重复了几件事,我将再次对其进行迭代,因为我认为它们确实很重要。 首先,您的同龄人是很好的动力,如果您发现自己在计划时避免了自己的项目或不在项目上进行工作,当您陷入代码的一部分时,同龄人可以鼓励并帮助您完成项目完成。 其次,确保您已经制定了可以合理实现的可实现目标,并且知道要实现这些目标需要采取哪些步骤。 在计划和保持动力方面,知道这是成功的一半。

附带项目不仅是一个很好的业余爱好,而且还说明了您是什么样的开发人员以及您对什么感兴趣。很多未来的雇主喜欢看附带项目,以了解您的发展方向项目以及您是否可以在最少的监督下独立工作。 在申请实习或全职职位时,分享您如何解决问题以及如何计划工作可以使您受益。

因此,走到那里开始您的辅助项目吧! 祝好运并玩得开心点!