一位老程序员38年经验总结:不要有年龄危机,直接去做

来源: 51CTO | 2022-09-20 15:20:21
有人选择贩卖焦虑,有人选择继续前行。

能坚持一件事40年的人并不多,我们今天要介绍的就是其中之一。他叫Noah Gibbs,从事编程工作近40年,最近以博客的形式分享了自己的一些经验。

再过两年,也就是2024年,我将成为一名有40年编程经验的工程师。在此期间,我也获得了丰厚的回报。我应该在哪里介绍我的经验?从软件开发开始。

软件开发还是「年轻」的

以编程语言为例,Fortran可以追溯到1957年,同时也出现了LISP,Algol等待。想象一下,如果从1957年开始就有人从事编程工作,到今天也有65年的经验。

至于我,自1998年以来,我一直是一名全职程序员,时间跨度为24年。但严格来说,我从1984年开始做程序员,有38年的工作经验。

至于其他行业,比如文艺界大提琴演奏者马友友(YoYoMa)他从4岁半开始拉大提琴,演艺63多年,但他并不是世界上演奏时间最长的音乐大师。根据吉尼斯世界纪录,一位音乐家在过去80年里发行了许多音乐作品,不包括现场表演或其他活动。

因此,与其他领域相比,我们的(编程)领域还很年轻。

年龄不是问题

事实上,任何时候开始都不会太晚。大约一年前,我45岁开始学习钢琴。如果我能坚持下去,我相信我会在60岁的时候成为一名非常优秀的钢琴家。

我遇到过很多优秀的程序员,他们从20岁、30岁甚至40岁开始。我不明白为什么我们不能从50岁或60岁开始学习新东西。年龄不是问题。

尝试不同的事情

如果你想从事一个漫长而无聊的编程生涯,现在又开始了。别担心你刚开始,我经常鼓励别人「只要开始写一些软件,任何软件都无所谓,只要采取行动就足够了。」在这个过程中,你会学到很多不同的东西,学习顺序并不重要,重要的是你学到了什么。

以我个人为例,在我40年的职业生涯中,会遇到很多编程要求,比如桌面应用、操作系统、Web程序等等。只要你尝试不同的西,就不用在意先学哪个,后学哪个,边用边学。如果你太坚持学习而忽视实践,你可能会失败。

学习的东西暂时没用吗?等着看吧

如果你担心你学到的东西没用怎么办?其实没用是相对的。比如我,我把多年的业余时间投入到一种叫做的东西上DGD的旧MUD在编程语言中。这种语言对我来说用处不大,但是学习过程教会了我很多。它教会了我后来。RubyonRails(一个使用Ruby语言写作的开源Web应用框架)使用的东西教会了我使用数据库编程的知识,即使它不使用数据库!

总之,这个学习过程在我后来学到的五六种不同的语言中非常有用。

有趣的是,很多年后,我依靠它DGD我找到了一份咨询工作。世界上这种工作不多,但我就是其中之一!这比学习许多实用语言更实用。

我也经常对自己说「现在还早」,我的意思是,我才46岁,不是96岁的老人快走不动了。我至少还有20年,也许50年的学习时间。

无论如何,最重要的是继续工作。要成为一名拥有20年、40年或70年经验的程序员,你需要付出很多努力。学习一些有趣或有用的东西,10年,20年或30年后回头看看你收获了什么。

说到工作,我认为工作是一种很好的学习方式。但我也喜欢做一些与工作无关的事情。不管是否与工作有关,我都会编写一些代码。我喜欢写一些其他程序员可以使用的东西,这是有意义的。如果你不喜欢现在的工作,你应该想办法改变你的观点,让自己适应工作;如果你真的不能坚持,你应该采取措施,比如休假或辞职。

要脚踏实地

很容易做出决定,比如你想成为一名计算机程序员,然后制定一堆计划,无数的关键点,分成几个部分来实现这个目标。但我想说的是,不要认真对待这个计划。

学习编程不是你计划的任务。当你开始这样做时,你是一个程序员。如果你还没有开始,建议你去一个在线代码学习网站编写你的第一个程序,它不应该超过20分钟。

当你积累到一定程度,开始写一些大型软件时,你可能会面临臃肿的程序和其他问题,然后你需要学习一些模块化和包装知识。为了使程序运行得更好,你还需要掌握一些数学知识。所有这些都可以在网上找到,如果你想深入学习,你也可以找到参考书籍和课程。

你也可以培养一些爱好,而不是把所有的精力都投入到软件编程中。继续工作会让你变得更好,不要害怕看似不切实际的工作。就像我不知道如何用音乐来帮助我写软件一样。但未来很遥远,没有人能预测20年后会发生什么。

让自己变得更好

早期的职业培训(编程学校、博客文章、大学课程、书籍)有点像装配线,会学习一些非常基本的技能,如编写函数、调试等,试图确保你能掌握基本的编程能力。

如果你想在人群中展示自己的优势,你必须非常擅长某件事,而这件事必须是受欢迎的、有利可图的和你不可缺少的。如果你打算在软件领域赚到比尔·盖茨的财富,但你写了Haskell(复杂,深奥,广受好评,但没那么赚钱),那么这将是一个巨大的失败,反之亦然。

从基础中学习深层次原则

不要从一开始就学习软件设计的深层原理。如果你没有实践经验,这个过程会很痛苦。你可以从构建简单的软件开始。至于用哪种语言,关键是动手练习。然后找出这个过程中遇到的错误,查看数据,原则上解决。

如果同样的过程循环20年,构建、检查错误、学习理论、纠正错误,你会收获很多。在这个行业,技术变化很快,你也可以从其他领域学到很多东西。

不要害怕,直接去做。至于我,40年不知不觉就过去了。无论如何,只要你坚持下去,即使你成功了。


文 / 网盛建站    阅:459

1、凡本网注明"来源:网盛建站"的所有作品,版权均属于网盛建站31fabu平台所有,任何媒体、网站或个人在转载使用时请注明"来源:网盛建站"。
2、凡本网注明"来源:XXX(非本网站)"的作品,均转载自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
3、本网刊载之所有信息,仅供投资者参考,并不构成投资建议,投资者据此操作,风险自担。
4、如本网刊载之信息涉及版权等问题,敬请通知我们,我们将在第一时间予以更改或删除。

免费获取网站建设与品牌策划方案报价

在线预约享受建站8

  • 公司名称
  • 手机号码
  • 网站类型
  • 所在城市
  • 联系人
  • 需求

在线
客服

在线客服服务时间:9:00-17:00

客服
热线

024-83959235
建站服务热线

关注
微信

客服微信
顶部
在线客服