1.与其他程序员聊天
这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会给你一个新的视角。
2.和非程序员一起聊天
首先,在那些让你觉得快乐或挑战思维的人身边,会让人健康,无论他们是否会写代码。第二,他们可以从用户的角度给你灵感。什么会让他们对计算机感到失望?你能想出解决方案吗?
3.有一个专用的工作区
如果不可能有一个专门的空间,那么至少确保工作时能够安静,以便于你可以专注于计算机,而不受干扰。让这个地方成为你的“革命根据地”。确保椅子舒适,可以支撑背部。手边备好水。不要一整天坐着不动——保持健康。
4.有良好的开发环境
上一个方法提示的软件版本。我不在乎你使用哪个编辑器(虽然我推荐vim),但确保你使用一个可以给你一些力量和灵活性的编辑器。总是使用源代码控制——尤其我建议你学习git,因为它会教你概念。始终备份工作。所有这一切将防止你在你不使用它们时可能会遭遇的极度灰心丧气,从而失去工作。
5.秉持开放的态度
阅读你尊敬的程序员的Twitter Feed和博客。(如果你想的话,可以看看我的twitter feed——大多是程序员。)RSS阅读器,例如Ruby Inside或者老式的Planets,都可以是很好的新闻来源,因为它们会添加突出的新程序员,而不必你去搜索。选择一些你通常不会阅读的主题的博客,并订阅它们。
是的,这可以让你陷入阅读代码而不写代码的陷阱,但进入更大的编码生态系统对你是有益的,是激发思绪的源头。
6.阅读优秀的代码
想想你喜欢的一些软件,然后看看软件的源代码。有什么问题?你如何从中学习,或者更好的是,你可以怎么改善这个软件?有很多好代码的源,但GitHub必然是最好的之一。GitHub博客上的GitHub Rebase系列列出了一些值得注意的新项目,如果你想要了解更多细节的话。
7.学习一门新的语言
这是一个经常被提到的经典建议。我建议学习一些以下类别中提到的东西:
中级:C,C ++
面向对象:Ruby,Python,Java,C#
Functional:Scheme,Haskell,Erlang
Shell:Bash,Zsh,awk,sed
基于Set:SQL
你所知道的语言越多,你就越需要用任意的语言来思考问题。你能以更多的方式思考,你就越容易找到有趣的方法来解决问题,因此找到一个激动人心的项目。(当然,不要局限于这个列表。)
8.学习好的技巧
而不是一种特定的语言,从书中学习好的通用技术,如《The Pragmatic Programmer》,《Structure and Interpretation of Computer Programs》,和《The Little Schemer》。(最后两本特别关于Scheme,但非常好,很值得一读。)
9.找一个娱乐项目
有一个娱乐项目是很令人愉快的,当你在其他项目上受到挫折时,你就可以转而去搞搞娱乐项目。不管是什么样的娱乐项目,只要你有即可。不要感到被迫分享它或使它成为某种成功——它只是帮助你解决问题的玩意儿。
10.写一个游戏
很多人认为编写游戏是在浪费时间,因为很少有独立游戏在商业上是可行的,但如果你是玩家,那么还是写一个吧。它是治疗性的,有很多深刻的概念会在你在工作的时候自然而然地浮现在你脑中。我就写了一些小游戏,几乎所有都没有发布过;它们是试验,也是宝贵的经验财富。如果你不知道怎么起头,那么试试Roguelike。