工具很有趣,知道你的工具很好,但你总是可以定制一些东西,争论一些琐碎的细节。一开始,定制工具是一种有趣的学习方法,但我看到人们花了很多时间来解决问题或学习更通用的编程技能(一本好书是设计数据密集型应用程序)。过于关注定制工具会阻碍你的进步。
不要太担心Vim或者Emacs之类的工具
不要太担心你使用什么操作系统——你可以在任何地方学核心技能(这是我和我ESR原文最大的区别)。换句话说,玩Linux这是一种非常有价值的学习故障排除方法——主要是因为我的Linux它不容易使用。我个小时试着让无线上网正常工作,让笔记本电脑成功挂机,甚至让用户界面出现(现在情况好一点)。
我开始尝试安装Gentoo(实际上从未成功过)。这种故障排除技能对我现在的工作很有帮助,所以如果你喜欢玩不同的操作系统,我肯定会鼓励你,但我认为没有必要。但是,在macOS或者Linux学习可能更容易,因为现有的工具大多是针对这些环境的,大多数程序员都在使用这两种工具中的一种。
另一个值得一提的具体工具是版本控制,特别是git。值得花点时间熟悉它的基础知识,但这可能是你编程一段时间后需要注意的。
2 不要无休止地学习。
在开始一个项目之前,没完没了的“研究”很容易导致项目延迟——阅读和探索可用的选项(研究)会很有趣,花一点时间做这样的事情会很好,但你可能总是被困在这样的事情中。当你不确定的时候,选择一个已经进行了一段时间的最受欢迎的项目。有了这个项目,如果它很受欢迎,可能会有一个体面的社区,你可以从中学习。如果有一段时间,它可能会更稳定(或者至少更充实,更不容易被抛弃)。
三、计算机科学
我真的很喜欢学习计算机科学。我认为这可能仍然是获得最大机会的最佳方式(尤其是如果你像我一样住在郊区,周围没有太多软件人)。如果可能的话,我认为努力学习最好的计算机科学课程是件好事。网上有很多好课程,但如果你的生活和我的高中一样,你很难在家里真正使用它们。