您如何保持兴趣爱好项目的动力?[关闭]


43

我最初是从最喜欢学习的学生开始认真编程的,然后大约4年前开始实习,我一直在做一些小项目作为学习活动。虽然现在已经上学了,但我还是以软件开发人员的身份工作。我仍然很乐意在旁边进行一些项目,以了解我在工作中没有接触过的计算机科学领域,但是我注意到在主演IDE 8个小时后,仍然很难尝试退出。最近,只要有时间我愿意做一些事情,它就会被抛在一边。

当您花费大部分时间进行编码时,有人对坚持附带项目有任何建议吗?



是否考虑过非编程爱好?

是不是更常见的问题是如何保持工作项目的积极性?
dan04 2011年

你玩电子游戏吗?拥有活跃社区的游戏总能为您带来方便。这样,您可以进行一些更改,然后在完全可视化的情况下与其他更改一起使用。以SpringRTS为例。
Pithikos 2015年

Answers:


57

提示-确保您的业余爱好项目与您的日常工作无关。如果您在工作中使用C ++,请在业余项目中使用其他内容。这将帮助您避免一些倦怠,因为您至少要切换到其他IDE和/或技能组。

但是,嗜好是嗜好...所以不要烦恼。应该放松,不要压力。


+1 ...但是,唯一的问题是,当我拥有用于​​实际工作的全功能IDE和可以在Io,Clojure中播放的文本编辑器时,我会感到沮丧。这就像骑着带有训练轮的自行车-挺有趣的,但是我想快点走!
史蒂夫·杰克逊

1
“一个在... Clojure中播放的文本编辑器” Emacs和Slime!那几乎不是带有训练轮的自行车。
michiakig 2010年

31

保持动力的唯一方法是有目标。如果没有目标,您将一事无成。就我个人而言,我发现仅仅是学术项目并不能激发人们的积极性,但是如果我有一个创造产品(即共享软件)的目标,那么保持这种积极性就容易得多。


7
还要考虑目标的优先列表,包括一些“发布”时间表,即使那只是“定期使用”。看到随着时间的推移而感到高兴。
JBRWilkinson

22
  1. 选择一个您真正感兴趣的项目。
  2. 花一些时间提前定义项目目标。
  3. 将项目分成几个小阶段,这样就无需花费数小时的工作量就能感到成就感。

1
我已经意识到,闲暇时间减少了,专注于对我立即有用的东西就变得更加重要。真可惜,事实就是这样。
LennyProgrammers

13

我可以提供的最佳建议是,当您的业余爱好项目在相当长的时间内没有得到关注时,不要感到内gui。它应该很有趣,当您觉得自己不需要做某事时,就很难取乐。我有几个这样的项目,其中几个有很多用户。人们习惯于我每年发布一次新版本,并且乐于接受错误报告/补丁。

实际上,在大多数情况下,看到别人在我的代码上工作比在我自己的代码上工作要容易得多。

我建议的另一件事是,要恢复到一段时间以来未曾见过的事物时,要有足够的判断力,就像在日常工作中一样。重建,重新设计,重构等的冲动会变得不知所措。没关系,只要您了解每次都会保持基本相同的结局。我发现开发新功能(特别是作为一个业余项目)会更加有意义。

但是,当您有一些合作伙伴一起玩时,任何事情都会变得更加有趣和激励人。在像鲜肉这样的网站上进行项目开发,肯定会有其他人认为您的想法很有用,并可以帮助您改进它。那才是您真正开始玩乐的地方:)


8

是的 我也很讨厌编码。我喜欢编写代码和制作软件,但是经过一整天(或一周,一年或一年)的编程工作后……在家启动ol'IDE变得越来越困难。

最近,我可以保持活跃的副项目只有两种:

1)对一些与其他开发人员和用户进行大量交互的开源项目的贡献。很难找到您感兴趣的项目,有您与之相处的开发人员,需要开发人员,并且您有足够的技能为之贡献...但是一旦找到合适的项目,这可能是有益的。

2)获得工作中一些宠物项目的许可。对于很多人来说,这是一个初学者,但是如果您能安排一个安排(即使是一次或偶尔安排),也可以令人满意。当替代方法是工作中常见的磨石琐事时,获得编码要容易得多。

#2上的示例:多年来,我的公司使用的版本控制系统虽然在大多数方面都相当不错,但在磁盘上显示未版本控制的子文件夹时绝对令人恐惧。每个人都有处理这种烦恼的小方法。我受够了,并要求时间编写一些实用程序,以使处理此问题的痛苦大大减轻。它不是我编写过的最有趣的代码(尽管有一些挑战性/趣味性),但真正的收获是看到我的同事使用和享受该软件,并为此而表示感谢。


8

我唯一“完成”的业余爱好项目是我真正需要的东西,或者使我的生活更轻松。缺点是,一旦“足够好”,您就失去了不断改进(或清理代码等)的动力。


对于“完成的”副项目,我也有同样的感觉。我仍在使用一年多以前创建的辅助项目,并且几个月来都没有更新代码库。如果没有损坏,请不要修复。
Thierry Lam

6

对我来说,人们与众不同。我有很多荒唐的副项目,请我注意。获得我“业余”时间(一种非常有限的资源)的人就是我与那些教我新事物,激发新想法或以某种方式激励我的人一起工作的人。我发现很难保持对其他人的积极性。


4

我一直对任何事情保持动力的唯一方法是对它有真正的兴趣(是的,在商业工作中这可能是个问题,在这种情况下,您被迫从事一些内部无法令人满意的工作,但是我离题了...)。

为了学习一种新的语言或框架,我曾经做过人为的业余爱好项目。通常是直接来自书籍或网站的随机,干燥的示例。这从来没有解决过。我总是会失去动力,几节课后停下来。

因此,对我来说,诀窍是想出一个实际上有用的想法(对我或我认识的人),然后将自己设定为使用该语言/平台实施该任务的任务。当它是现实世界中的某种练习,并且是一种真正有用的产品时,我往往会保持更多的动力。当这是一个人为设计的学习项目时,很容易失去情节。


3

考虑到您已经对自己的爱好项目有个想法,我建议

  1. 写好的文件
  2. 从某种意义上安排您的爱好项目

首先,这是一个爱好项目。您每天最多只能花费1-2个小时,甚至每周只花费1-2个小时,就可以从事您的业余爱好项目。很难记住这种工作方式的所有细节,好的文档可以帮助您快速地从上一个暂停开始。好的文档应该跟踪要完成的操作,已完成的操作以及以这种方式完成操作的原因。文档可能比业余爱好项目的实际编程阶段更为重要。

另外,提前为项目安排一些时间会使自己在心理上做好准备。这样一来,您就告诉自己,现在不是游戏/电影/视频/约会/约会之类的夜晚,而是您的爱好项目。即使在辛苦的一天之后,您也可以更轻松地下定决心并坐在电脑前。

如果您尚未决定如何处理业余爱好项目,我将添加以下内容:

  1. 选择一个对您来说入门门槛相对较低的项目。
  2. 选择一个您真正感兴趣的项目,或者
  3. 选择一个可以帮助您日常工作的项目。

挑战是件好事,但是如果挑战太大,您可能会很快失去兴趣和耐心。除非您有强烈的动机(例如,强烈希望开始新的职业道路),否则选择一个您已经大致知道如何完成的项目可能会帮助您保持动力。

强有力的激励措施可能来自其他方面。一个有趣的项目和一个有助于您日常工作的项目就是其中的一些例子。除了您的业余爱好项目外,还有很多有趣的东西,您需要找到一个继续从事业余爱好项目的充分理由。对于方便日常工作的项目,不必直接相关。一个用于自动编辑演示文稿幻灯片的程序;可视化数据的程序。只要它提供了良好的激励机制,它就应该是一个使您乐于从事的好项目。


天哪,这听起来像工作!:)
Benjol

确实。但是业余爱好项目和工作之间的主要区别在于,默认情况下,工作具有很好的激励作用-您的薪水很可爱
YYC 2010年

2

我并不总是保持积极性,但是我发现当我告诉其他人我正在从事的工作时,我经常会花费大量的精力进行讨论(也就是争论为什么我是X方向而不是Y方向)就像争论者认为应该做的那样)使我对项目工作失去了兴趣。因此,我的“秘密”是在我做了足够的事情来称呼它之前不要谈论任何事情。

我的目标通常是“学习如何使用M”或“如何做N?”。因此,目标的完成度通常与项目的完成度不同。

我目前的雇主(在雇佣协议中)的立场是,我不能从事开源工作,未经上层书面许可,我也不应该在一边工作。因此,我不会致力于完成项目。


“我目前的雇主(在雇佣协议中的职位)我不能从事开源工作”您居住在哪个国家?这一点简直就是邪恶……
Calmarius

@卡尔马留斯,我在美国工作。我于2010年底辞职的那位雇主是去年招募我的。他们担心开源代码可能会“感染”我们出售的软件。与其找出哪些许可证对企业友好,而不是找出哪些许可证是copyleft,不如增加行政负担。因此,这都是禁止的。您可能已经阅读的一种个人经验是:perlmonks.org/…
Tangurena

现在我明白了。我使用类似CC-BY许可的卡尔马里乌斯(Calmarius)或其他昵称发布我的东西(随您便,但要提及我)。除非我的公司对我进行窃听,否则他们无法将代码归因于我...(我只能在家中执行此操作。)可能您可以这样做...
Calmarius

2

这是一个很好的问题,尤其是因为我计划自己启动一个兴趣爱好项目(不是第一个兴趣爱好项目,但是过去的项目在我对它们感到无聊时趋向于平淡无奇,至少可以说不满意) 。

我的提示:

  1. 开发您关心的东西。确实很明显,并曾被提及过几次,但确实值得再次提及。如果您只是为了开发而开发,最终会感到无聊。

  2. 提出一个小的功能集,为此进行开发,然后在此基础上进行构建。如果要编写文字处理器,请不要尝试在Word中包含所有功能。如果您使用的是图像处理包,请不要试图击败PhotoShop。如果您正在准备使用IDE或一些开发工具,请不要...嗯,您就明白了。一旦完成了简单的版本,这就是您的第一个里程碑-一项成就,您可以为此感到自豪。

  3. 选择您可以开发,测试的东西。不要使用某些服务器应用程序,该应用程序要求您在测试硬件上花费3000英镑(或在托管上花费很多钱)。

  4. 用您想学习的语言来编写它,它具有可以为您提供帮助的功能,但又会带来有趣的(!重要的单词!)挑战。

  5. 可以这么说,挑一个市场空白,看看您的潜在竞争对手在做什么。他们不是在做什么 您能否做得更好,也许可以从他们的错误中学习?


顺便说一句,可以激励您的一件事是对更新的需求-几年前,我为NAnt编写了一些简单的XML处理任务,但我仍在收到反馈。显然有对NAnt改进的需求,但是自石器时代以来就没有更新过。我发誓,某人将不得不叉子...
JohnL

0

让我充满动力的事情:

  1. 选择一个您真正感兴趣的业余项目,并且您不可能在工作中做任何类似的事情。启动游戏,编译器或您感兴趣的其他任何东西。不要仅仅因为您认为应该这样做来帮助您的职业而选择一些东西。选择一些您只想尝试的东西,可能对您的职业毫无价值。

  2. 尽早让其他人参与进来。这可以启动一个开源项目并邀请其他程序员。但这就像告诉您的朋友试用您正在编写的新软件一样简单。一旦开始获得反馈,您将感到有必要不断改进它。


0

要保持积极主动,不要为您带来金钱,您必须至少具有以下要素之一:

  • 您为自己的工作感到自豪(其他人可以看到)
  • 您对它的热情深感兴趣。您成就自己的简单事实使您获得高度满意
  • 这样做可以让您进行有趣的社交互动

我上面提到的是人们开始在组织中担任志愿者的三个原因。这些是真正的原因,而不是人们思考的原因。

最有效但最难获得的是第一个。

如果您正在制作软件,请发布!


0

最好有一个项目小组...找到一些与您一样感兴趣的程序员...当您的家伙在该项目中取得了一些进步而您却没有这样做时,这很诱人。这肯定是有动机的。


0
  1. 确保没有人实施您要在家中要做的事情。
  2. 确保您对在家工作的结果感兴趣。
  3. 确保您认为自己以外的其他人有兴趣在家中看到您的工作成果。

  1. 是为了使您的最初动力得到足够的提升,从而使您能够开始项目。
  2. 是为了使您进行计划和组织,从而避免每次被阻止时都停止项目。
  3. 从长远来看,可以使您的常规动力有所提高。

0

我同意其他很多意见,例如选择自己喜欢的主题,以及使用未使用的技术。

除此之外,让我继续前进的最大事情就是离开时要进行残破的测试,因此下一次我有一个简单的起点,并且每天都在关注项目的某些方面,即使只是几秒钟,所以这个项目在我脑海中荡漾。


0

我不。如果我没有动力在特定的一天,一周或一个月编写代码,那么我会去做一些我有动力去做的事情。

这是您的空闲时间,您不应该强迫自己去做不想做的事情-那就是工作的目的...


0

我也一直在发生这种情况。我想说的是,如果您对某件事失去兴趣,就放手去做其他事情。如果您真的很喜欢一个想法或一个项目,那么您就不会失去兴趣。如果您失去兴趣,那么您一开始就不会真正喜欢它。因此,在业余时间,做自己想做的事。继续尝试新的项目和构想,直到找到不需要任何人为动机的地方。即使要花几年的时间才能实现这个想法,也请继续尝试一下您脑海中的想法。


-1

早上8点来到您的工作场所,只花2个小时在楼下的自助餐厅里进行项目工作(然后上班)。:)新鲜的大脑将使您的生产力保持稳定,并且动力流不竭。


-1

尝试用它赚钱。 即使您收入不高,也希望足以补贴您的业余爱好。


1
尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。
Jalayn

@Jalayn真的吗?这已经快2年了,上面有很多很多更好的答案。
史蒂芬·弗拉尼

1
嗨,斯蒂芬,抱歉打扰您。当我“审阅”(签出新的“ beta”审阅系统”)低质量(少量单词)答案时,此消息会自动打印出来。 ,如果你想。
Jalayn

@Jalayn不,很酷。我扩展了它,因为我意识到无论如何这都是一个糟糕的答案。
斯蒂芬·弗拉尼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.