如果您想成为未来的证明,那么我能给您的最好建议就是不要将自己融入技术之中。
因此,不要盲目学习API。了解如何构思它们。幕后的哲学是什么?它们的优点和缺点是什么?总体上考虑软件,而不是特定技术。
您也可以进行良好的程序设计,进入OOP,AOP是IMO的不错选择。但是,不仅要了解机制,还要真正研究机制背后的哲学。
不要忽略通用计算机科学,例如数据结构和算法,因为它们是跨技术知识,总是有用的。
也请参考良好做法。您通常有十二种方法来做某事,但其中大多数都是胡扯:容易发生错误,难以维护,以后难以理解或难以被另一个程序员理解,等等。。。通常,代码难于编写。因此,请学习如何花更多的精力在编写上以使阅读更容易(因为您阅读的代码会比编写的更多)。
学习有效的调试技术(智能使用日志和调试器)和测试(如何编写可以轻松进行单元测试的代码以及如何使这些测试自动化)。
然后,您需要一般的技术背景。我说的是非常广泛的知识,例如处理器如何工作(高速缓存未命中或分支预测是一个好的开始),UNIX系统,网络协议(如IP,TCP和以太网等)。。。
最后,学习如何学习。如果您知道如何学习,则可以适应。
您将需要一些特定技术方面的丰富知识才能找到工作,但是这些技术确实过时了(例如,请考虑一下COBOL,或者在IE / Netscape战争期间进行Web编程)。因此,不要依靠它们来适应未来。他们将是被聘用的关键,但绝对不是什么才是优秀的程序员和什么才能使您的技能随着时间的流逝而持久。
编辑:如果您只是开始,那么您应该明确地做一些事情。真的。俄罗斯方块或蛇之类的游戏是一个好的开始,而且很有趣。如果您没有把事情做好,那么您将花费大量的时间进行学习,而实际上并没有获得充分理解所学知识所需的经验。
让我们以设计模式为例。设计模式很棒,您应该明确地使用它们。但是,如果使用过度,它们会使您的代码变得复杂且难以理解。您将不得不面对设计模式可以解决的问题,并且要花一些时间来解决它或其副作用,以完全了解设计模式的含义。随着代码的增长,随着时间的推移,设计模式必须用作较小的重构。而且,您会知道何时需要一种设计模式,而当它的好处大于使用它所引起的代码复杂性时。这需要经验。
因此,一定要做好事,他们会从您的错误中吸取教训。我不能再坚持:做点事情!