程序员,别给自己画地为牢
做为一个程序员,经常感叹要学习的东西实在是太多了。技术的发展如此之快,昨天你还敢说精通的东西,今天可能就变成熟悉了,明天也许就只是了解了!再往后?这东西存不存在都不好说!正因如此,我一直尽量做底层的东西。底层技术更新换代的相对慢,让我有时间深入,这也确实一定程度上稳定了我的技术栈。
但是,今日读到的一篇文章,令我 “幡然醒悟”,大有醍醐灌顶之感。文章中最吸引我的是一则旧新闻,报道的是 JAVA 之父 詹姆斯·高斯林 找工作受到年龄歧视的事情。我个人分析,年龄也许是问题的一方面,但绝不是全部。JAVA 之父的技术能力,是毋庸置疑的。但他也并非万能,有所长,有所短。对于一个渴望人才的企业,会把JAVA 之父拒之门外,只可能是因为他的技术栈,已经不是企业迫切需要的了。
假设我分析的没错,那么 JAVA 之父找工作受挫,不仅仅是年龄上“不被需要”了,更是技术上“不被需要”了。这充分说明,只在一个技术领域深耕,不妥。任何技术,都有可能被时代所遗弃。你把自己和它捆的太紧了,也就难以独善其身。要清楚一点,能够解决问题的,永远是最好的,也永远是最被需要的。你再擅长的东西,没有用武之地,也是枉然。不具备创造价值的能力,JAVA 之父也可能找不到工作。
因此,就技术领域而言,我们固然应该成为某个领域的专家。但也一定要与时俱进,stay hungry,stay foolish。
脱离技术来讲,也不要给自己设限。常常有程序员问,我可以不可以一直写代码,写一辈子代码啊?你当然可以一直写代码,但是千万不要只会写代码。在这个社会,只关注一件事是不够的。你工作了几十年,只要认真做事,会得到很多很多锻炼,学到很多很多东西。你可以有所选择,但不应拒绝全部,只留下“写代码”一件事。这样的思维会毁了你。
不要说只写代码,就算你只懂技术也是不够的。这不是说一个人不应该一直做技术,而是说,一个人不要只关心技术。沟通能力,领导能力,甚至是外语能力,都可能使你产生更大的价值。程序员喜欢给自己打标签,什么 C/C++工程师,机器学习工程师,算法工程师,嵌入式工程师等等。给自己挂标签,展示自己,挺好。但你别真的是只有这个标签。
归根结底,学习能力是一切的核心。世界千变万化,唯一不变的就是变。怎么适应?唯有不断地学习。学习能力,才是一个人竞争力的最大保障。世界需要不拘一格的人才,我们也要不拘一格的学习才是,千万不要画地为牢啊!