第一篇 入行成为软件开发者
“如果你有一个梦想,你可以穷尽一生的时间去研究、去策划、去着手准备。
然而,实际上你最应该做的却是脚踏实地马上开始。”
——安德鲁·豪斯顿
迄今为止,关于软件开发我最常被问到的问题就是:“我该怎样入行呢?”
在生活中,真正开始做某事的最大障碍无外乎“如何起步”。阻拦你成为你想成为的样子的最大障碍也是“如何起步”。无论是开启一项新的健身教程,还是着手开始马拉松训练,乃至于写书、创业,以及更具体的编程,最大的障碍都莫过于“如何起步”。
浪费无数的时间来争论你应该做什么事情易如反掌。与实际操练相比,读书和学习也如探囊取物一般简便。思考永远要比实际迈出去哪怕一步都要简单,无休止的争论应该采取什么步骤也要比实际行动容易。但是,秘诀就是,你需要亦步亦趋、循序渐进。
你只需鼓起所有的勇气并下定决心,你需要努力告诫自己:“我已经逡巡犹豫太长时间了,我已经夸夸其谈太多话语了。我已经有一个计划了,虽然可能不是最好的,但是我要竭尽全力去完成它。”一旦你这么做了,你就已经在路上了。
在你知道这一点之前,你要回望一下来时走过的路。你现在已然是一览众山小了,不需要抬头仰望星空。但是,在做到这一点之前,你确实需要有一个计划。
许多有志于成为软件开发者的人士拒绝迈出这坚定的第一步。还有很多有志于成为软件开发者的人士在迈出这一步时又显得太过于随心所欲了,他们任何准备都没有,也没有制订任何计划,凭着一股子勇气就纵身跳入这前途未卜的地方。
在本书的第一篇“入行成为软件开发者”中,我们将着重介绍作为软件开发者的入门级基本知识。我们将讨论如何制订一份成为一名软件开发者的切实可行的计划——在代码的世界里遨游需要学习哪些的技术技能,以及如何具备这些技术技能。我们还将介绍应该从何种编程语言入手,以及学习编程语言的最好方法,是自学、参加编程训练营,还是通过传统的大学教育。
在本篇,我的目标是让你熟知如何入行、如何制订一份切实可行的计划,以及如何实施计划、何时实施计划。
即使你已然是一名软件开发者,你仍然可能会认为这部分内容很有用。它可以帮你弥补自己的知识短板,更好地规划自己的职业生涯,以及决定如何在软件开发这一行里做好继续教育。(你也可以把这些有用的知识传授给你认识的还在为进入这一行而努力奋斗的人,作为对他们的指导。)
另外,你一定想下载本书附赠的“软件开发者技能评估”(Software Developer Skills Assessment)工具(Simple Programmer网站上可下载)。有了这个工具,你可以快速找到并缩短自己的技术差距,成为一名不负众望的软件开发者。
我可以向你提供关于软件开发的所有建议和信息,我也可以告诉所有你应该遵循的路径,但在你自己坚定地迈出第一步之前,这一切都是水中花镜中月。
正如我说过的那样,你必须要相信这个过程。那么,让我们一起开始吧。