当然,说比做要容易得多,我发现大多数人,包括软件开发人员在内,要么缺乏对自己人生目标的具体认知,要么没有尽力去实现自己的人生目标,浑浑噩噩混过一生,这是大多数人的自然状态。 我们通常不会充分思考自己该关注什么,因而我们的行动也就漫无目的无敌放矢。
想象一下,你登上了一艘即将横渡海洋的大船,你会像大多数人那样一跳上船就升起风帆。 但是,如果没有选定明确的目的地,你就无法掌舵,让这艘船朝着目标方向航行,而只能在大海上漫无目的的漂流,或许你的船能偶然到达某个小岛或者某片陆地,但是如果没有确定自己的目的地,你永远都不会取得实质性的进展。 一旦明确了目的地,你就会向着目标全力以赴。 这看起来似乎很显而易见,但确实鲜有软件开发人员能够为自己的职业生涯设定目标,为什么呢? 我只能揣测。 我要说,大多数软件开发人员都害怕为自己的职业生涯设定一个长远的蓝图。 因为惧怕选定后要一往无前,他们希望自己有各种选择,如果这条路错了,我该怎么办呢? 如果不喜欢自己选的路又该怎么办呢? 这些问题确实有些可怕,有些开发人员甚至都没有花太多心思去仔细思考这个问题。 为了安逸,我们倾向于遵循已经设计好的路线,要创造自己的路线非常艰难,所以我们不会去做事实上,我们会接受第一份录用通知提供的工作,一直呆下去,直到有更好的机会出现,或者被解雇,我的意思是瞎搞。 无论因为何种原因,你没有为自己的职业生涯设定目标,现在都是时候设定目标了,不是明天,也不是下周,就是现在。 没有明确的方向,你走的每一步都是徒劳的,不要随心所欲的生活,不要随遇而安,行走在职业生涯的漫漫长路上。
如何设定目标?起步阶段最简单的就是在心中树立一个大目标,然后再建立起能帮你达成这个大目标的小目标。 因为很难清晰地界定远期可能发生的事情,所以大目标通常不是非常明确,不过没关系,当你制定远期的大目标时,不一定要非常具体的目标,只要足够,具体到给你提供清晰的方向即可。

能够让你知道自己是在向它前进,还是离他越来越远,想一想你的职业生涯的终极目标,想成为一家公司的经理或主管,想在某一天走出去,开拓自己的软件开发业务。 想成为一名企业家,创造自己的产品,并将其推向市场,对我来说,我的目标一直都是最终能凭自己的能力走出去,为我自己工作。 这一切都取决于你决定的大目标是什么。 你希望从职业生涯中收获什么? 你希望自己五年或十年后在哪里? 来吧,花点时间思考一下,这的确非常重要,一旦你想通了,自己长远的大目标是什么,下一步就是设定路线,制定通往大目标的小目标,有时还可以运用一下逆向思维,反推一下如何从大目标到当前的情况,如果你已经达到了大目标,那么沿途你都经历了哪些里程碑,你能想象出哪条路径可以让你从大目标反推到你现在的情况?
目标分解每年的目标可能被分解成更小的目标,比如每月阅读一本书,或者每天读多少页,较小的目标可以让你航行在自己的轨道上,激励你保持航向,朝着更大的目标前进,如果你准备达成一个大目标,却没有分解为小目标,那么当你偏离航向时,也不会有时间去校正,达成较小的目标,也能经常奖励自己,帮助并激励自己,每一天,每个星期的小胜利会让我们觉得自己正在取得进展,达成目标,这让我们感觉良好,帮助我们继续前进,较小的目标似乎也不像大目标那样令人望而生畏。
追逐你的目标你应该定期追逐并更新自己设定的目标,必要时还要调整,你并不想偏离航海图,数英里之后才发现自己走错了方向,也不想沿这条路线走了很远,却发现这条路是错的,我建议你定期核对自己的目标,这有助于在必要时进行调整,让你对自己负责,你可能愿意在每周末为下一周设定目标之前,先检查上周设定的目标,这同样适用于每月每季和每年。 反思自己在短期和长期取得的成果是大有裨益的,你能够弄清自己是否取得了合理的进展,或者是否需要进行某些调整。
行动起来坐下来,为你的职业生涯设置至少一个大目标。 将大目标分解成相应的若干小目标,例如,月度目标、周目标、每日目标。 把你的大目标写在自己每天的必经之地,每日三省吾身我在追求什么。