背景:我30出头,但我周围却有一批比我老得多的程序员。以下是我的个人观点,不代表雇主。
关键不在于年龄,而在于雇主的年龄观念。当你40、50、60岁时,雇主会认为你想当项目主管、架构师、首席软件工程师之类的职位。他们还会认为,过去二三十年,你的薪水每年都提升了5%至10%,所以与只有3年工作经验的25岁年轻人相比,你的市价可能高出50%至100%。
因为雇主认为你比年轻人要求的职位和薪水更高,所以他们会认为聘请你的门槛更高。如果年轻程序员不了解最佳的工作方式,或许不是什么大问题。但如果你不了解,那雇主自然会怀疑你的价值是否真能比其他应聘者高出一倍。
要改善这种状况,可以考虑以下几种方式:
——当一个很牛的程序员。这简直是废话,但杰夫·迪恩(Jeff Dean)和肯特·贝克(Kent Beck)这样的人总是很容易找到程序员的工作。他们的水平都高得出奇,但如果能达到一定水平,哪怕是远低于杰夫·迪恩,那么无论多大岁数,仍然很容易找到工作。
——成为专家。既可以是某种语言(Clojure、Java、C等),也可以是某个领域(数据系统设计、算法设计、机器学习等),甚至可以是某类软件(欺诈探测系统、推荐引擎等)。这些技术很多都已经存在了十年,甚至更久,所以,如果你成为专家,肯定会很抢手。但有两个警告:1)你必须喜欢这个领域,否则会很不快乐;2)环境会随时间而改变,所以最好是将此作为5至10年的计划,而不是30年计划。如果你目前的专业领域开始过时,就应该探索新的领域,但不要等到真正过时再动手。
——对一些初级职位持开放态度,尤其是当你进入了新的软件领域时。如果你能接受中等的职位和薪水,肯定比那些非CTO不干、非百万年薪不干的人更容易找工作。这是供给与需求的共同作用。
——利用自己的经验。不要变成“要求高薪的老家伙”,而要成为“有很多经验的良师益友”。应该不断吸取教训,然后与大家分享。尽管你仍然是一名程序员,但与单纯的程序员相比,你的价值会大得多。
——到程序员短缺的地方生活,不要到过剩的地方凑热闹。当一家公司急需程序员时,他们因为年龄而放弃你的概率会小一些。
——积累经验。你需要在与年轻人的竞争中脱颖而出,如果你过去10年一直没有什么提升,人家为什么放着便宜的年轻人不用,非要用你呢?
——不断学习新东西,尝试新技术。刚毕业的学生之所以有吸引力,是因为他们思维开阔、可塑性强。而对于年龄较老的员工,则有可能已经定型。你可以证明自己对新语言、新工具的接受程度,以此反驳这种观念。
——从简历中删除毕业日期和以前的职位。你或许已经45岁了,但如果你看起来像30多岁,便可以利用这项优势。别跟人说你是1990年从某某大学毕业的,直接告诉他们你是某某大学毕业的。而且,只要是超过15年的从业经历,都应当果断删除,这不会影响你找工作的成功率。要知道,几乎没人会在乎你1997年用Perl/CGI开发过什么东西,既然如此,为什么非要用这个来强调自己的年龄呢?