背景:我30出头,但我周围却有一批比我老得多的程序员。以下是我的个人观点,不代表雇主。关键不在于年龄,而在于雇主的年龄观念。当你40、50、60岁时,雇主会认为你想当项目主管、架构师、首席软件工程师之类的职位。他们还会认 为,过去二三十年,你的薪水每年都提升了5%至10%,所以与只有3年工作经验的25岁年轻人相比,你的市价可能高出50%至100%。
因为雇主认为你比年轻人要求的职位和薪水更高,所以他们会认为聘请你的门槛更高。如果年轻程序员不了解最佳的工作方式,或许不是什么大问题。但如果你不了解,那雇主自然会怀疑你的价值是否真能比其他应聘者高出一倍。
要改善这种状况,可以考虑以下几种方式:
——当一个很牛的程序员。这简直是废话,但杰夫·迪恩(Jeff Dean)和肯特·贝克(Kent Beck)这样的人总是很容易找到程序员的工作。他们的水平都高得出奇,但如果能达到一定水平,哪怕是远低于杰夫·迪恩,那么无论多大岁数,仍然很容易找到工作。
——成为专家。既可以是某种语言(Clojure、Java、C等),也可以是某个领域(数据系统设计、算 法设计、机器学习等),甚至可以是某类软件(欺诈探测系统、推荐引擎等)。这些技术很多都已经存在了十年,甚至更久,所以,如果你成为专家,肯定会很抢 手。但有两个警告:1)你必须喜欢这个领域,否则会很不快乐;2)环境会随时间而改变,所以最好是将此作为5至10年的计划,而不是30年计划。如果你目 前的专业领域开始过时,就应该探索新的领域,但不要等到真正过时再动手。
——对一些初级职位持开放态度,尤其是当你进入了新的软件领域时。如果你能接受中等的职位和薪水,肯定比那些非CTO不干、非百万年薪不干的人更容易找工作。这是供给与需求的共同作用。
——利用自己的经验。不要变成“要求高薪的老家伙”,而要成为“有很多经验的良师益友”。应该不断吸取教训,然后与大家分享。尽管你仍然是一名程序员,但与单纯的程序员相比,你的价值会大得多。