我最初是从最喜欢学习的学生开始认真编程的,然后大约4年前开始实习,我一直在做一些小项目作为学习活动。虽然现在已经上学了,但我还是以软件开发人员的身份工作。我仍然很乐意在旁边进行一些项目,以了解我在工作中没有接触过的计算机科学领域,但是我注意到在主演IDE 8个小时后,仍然很难尝试退出。最近,只要有时间我愿意做一些事情,它就会被抛在一边。
当您花费大部分时间进行编码时,有人对坚持附带项目有任何建议吗?
我最初是从最喜欢学习的学生开始认真编程的,然后大约4年前开始实习,我一直在做一些小项目作为学习活动。虽然现在已经上学了,但我还是以软件开发人员的身份工作。我仍然很乐意在旁边进行一些项目,以了解我在工作中没有接触过的计算机科学领域,但是我注意到在主演IDE 8个小时后,仍然很难尝试退出。最近,只要有时间我愿意做一些事情,它就会被抛在一边。
当您花费大部分时间进行编码时,有人对坚持附带项目有任何建议吗?
Answers:
提示-确保您的业余爱好项目与您的日常工作无关。如果您在工作中使用C ++,请在业余项目中使用其他内容。这将帮助您避免一些倦怠,因为您至少要切换到其他IDE和/或技能组。
但是,嗜好是嗜好...所以不要烦恼。应该放松,不要压力。
保持动力的唯一方法是有目标。如果没有目标,您将一事无成。就我个人而言,我发现仅仅是学术项目并不能激发人们的积极性,但是如果我有一个创造产品(即共享软件)的目标,那么保持这种积极性就容易得多。
我可以提供的最佳建议是,当您的业余爱好项目在相当长的时间内没有得到关注时,不要感到内gui。它应该很有趣,当您觉得自己不需要做某事时,就很难取乐。我有几个这样的项目,其中几个有很多用户。人们习惯于我每年发布一次新版本,并且乐于接受错误报告/补丁。
实际上,在大多数情况下,看到别人在我的代码上工作比在我自己的代码上工作要容易得多。
我建议的另一件事是,要恢复到一段时间以来未曾见过的事物时,要有足够的判断力,就像在日常工作中一样。重建,重新设计,重构等的冲动会变得不知所措。没关系,只要您了解每次都会保持基本相同的结局。我发现开发新功能(特别是作为一个业余项目)会更加有意义。
但是,当您有一些合作伙伴一起玩时,任何事情都会变得更加有趣和激励人。在像鲜肉这样的网站上进行项目开发,肯定会有其他人认为您的想法很有用,并可以帮助您改进它。那才是您真正开始玩乐的地方:)
是的 我也很讨厌编码。我喜欢编写代码和制作软件,但是经过一整天(或一周,一年或一年)的编程工作后……在家启动ol'IDE变得越来越困难。
最近,我可以保持活跃的副项目只有两种:
1)对一些与其他开发人员和用户进行大量交互的开源项目的贡献。很难找到您感兴趣的项目,有您与之相处的开发人员,需要开发人员,并且您有足够的技能为之贡献...但是一旦找到合适的项目,这可能是有益的。
2)获得工作中一些宠物项目的许可。对于很多人来说,这是一个初学者,但是如果您能安排一个安排(即使是一次或偶尔安排),也可以令人满意。当替代方法是工作中常见的磨石琐事时,获得编码要容易得多。
#2上的示例:多年来,我的公司使用的版本控制系统虽然在大多数方面都相当不错,但在磁盘上显示未版本控制的子文件夹时绝对令人恐惧。每个人都有处理这种烦恼的小方法。我受够了,并要求时间编写一些实用程序,以使处理此问题的痛苦大大减轻。它不是我编写过的最有趣的代码(尽管有一些挑战性/趣味性),但真正的收获是看到我的同事使用和享受该软件,并为此而表示感谢。
我唯一“完成”的业余爱好项目是我真正需要的东西,或者使我的生活更轻松。缺点是,一旦“足够好”,您就失去了不断改进(或清理代码等)的动力。
考虑到您已经对自己的爱好项目有个想法,我建议
首先,这是一个爱好项目。您每天最多只能花费1-2个小时,甚至每周只花费1-2个小时,就可以从事您的业余爱好项目。很难记住这种工作方式的所有细节,好的文档可以帮助您快速地从上一个暂停开始。好的文档应该跟踪要完成的操作,已完成的操作以及以这种方式完成操作的原因。文档可能比业余爱好项目的实际编程阶段更为重要。
另外,提前为项目安排一些时间会使自己在心理上做好准备。这样一来,您就告诉自己,现在不是游戏/电影/视频/约会/约会之类的夜晚,而是您的爱好项目。即使在辛苦的一天之后,您也可以更轻松地下定决心并坐在电脑前。
如果您尚未决定如何处理业余爱好项目,我将添加以下内容:
挑战是件好事,但是如果挑战太大,您可能会很快失去兴趣和耐心。除非您有强烈的动机(例如,强烈希望开始新的职业道路),否则选择一个您已经大致知道如何完成的项目可能会帮助您保持动力。
强有力的激励措施可能来自其他方面。一个有趣的项目和一个有助于您日常工作的项目就是其中的一些例子。除了您的业余爱好项目外,还有很多有趣的东西,您需要找到一个继续从事业余爱好项目的充分理由。对于方便日常工作的项目,不必直接相关。一个用于自动编辑演示文稿幻灯片的程序;可视化数据的程序。只要它提供了良好的激励机制,它就应该是一个使您乐于从事的好项目。
我并不总是保持积极性,但是我发现当我告诉其他人我正在从事的工作时,我经常会花费大量的精力进行讨论(也就是争论为什么我是X方向而不是Y方向)就像争论者认为应该做的那样)使我对项目工作失去了兴趣。因此,我的“秘密”是在我做了足够的事情来称呼它之前不要谈论任何事情。
我的目标通常是“学习如何使用M”或“如何做N?”。因此,目标的完成度通常与项目的完成度不同。
我目前的雇主(在雇佣协议中)的立场是,我不能从事开源工作,未经上层书面许可,我也不应该在一边工作。因此,我不会致力于完成项目。
这是一个很好的问题,尤其是因为我计划自己启动一个兴趣爱好项目(不是第一个兴趣爱好项目,但是过去的项目在我对它们感到无聊时趋向于平淡无奇,至少可以说不满意) 。
我的提示:
开发您关心的东西。确实很明显,并曾被提及过几次,但确实值得再次提及。如果您只是为了开发而开发,最终会感到无聊。
提出一个小的功能集,为此进行开发,然后在此基础上进行构建。如果要编写文字处理器,请不要尝试在Word中包含所有功能。如果您使用的是图像处理包,请不要试图击败PhotoShop。如果您正在准备使用IDE或一些开发工具,请不要...嗯,您就明白了。一旦完成了简单的版本,这就是您的第一个里程碑-一项成就,您可以为此感到自豪。
选择您可以开发,测试的东西。不要使用某些服务器应用程序,该应用程序要求您在测试硬件上花费3000英镑(或在托管上花费很多钱)。
用您想学习的语言来编写它,它具有可以为您提供帮助的功能,但又会带来有趣的(!重要的单词!)挑战。
可以这么说,挑一个市场空白,看看您的潜在竞争对手在做什么。他们不是在做什么 您能否做得更好,也许可以从他们的错误中学习?
最好有一个项目小组...找到一些与您一样感兴趣的程序员...当您的家伙在该项目中取得了一些进步而您却没有这样做时,这很诱人。这肯定是有动机的。