最近,博主刷到一位大佬的故事,据说这位老哥8岁就开始学编程了,从1984年开始当程序员,到今年已经拥有了40年的从业经验,曾在英伟达、AppFolio Inc、DAQRI等公司写代码,2021年5月加入Shopify。
针对网友们关注的“年龄”问题,作为行业老大哥,他“现身说法”,发表了一篇长文来分享自己的编程之路,无关编码技巧,无关如何赚钱(尽管他赚到了很多),却获赞无数。
我从其中筛选整理了8条建议,希望能给新手程序员或想进入该行业的小伙伴一些启发和帮助,一起来看看吧!
如果你刚刚入行,并且想长期从事编程行业,我的建议是:要多写一些软件,任何软件,写什么都无所谓。
在我干程序员的40年里,很多潮流来来去去。让自己多尝试不同类型的编程很重要,这可以防止你的思想变僵硬,而且事实证明,几乎任何一种规则都能教会你一些东西。如果你太拘泥于某一项单独的任务,就很可能会失败。
不要觉得自己正在学习的东西是无用的,因为无用只是相对的。
我曾经把多年的业余时间投入到一种叫做DGD的旧MUD编程语言中。这当然不是为了实用价值,因为几乎所有关于它的东西都是奇怪的和不标准的,很少有真正能应用的。但它教会了我很多,它教会了我Ruby on Rails后来应用的东西,它教会了我如何使用数据库编程,它还教会了我一些在后来学五、六种语言中都能用上的东西。
我经常对自己说 "现在还早"。虽然我已经40多岁了,我至少还有20年甚至50年的时间。重要的是:一定要继续工作。作为一个程序员,要想做到二十年、四十年或者七十年,需要大量的工作。
你开始写代码一定是因为它的某些方面吸引了你,你要做的是试着弄清楚那是什么。这个答案每一个人都不一样,对于我来说,我喜欢写代码给我带来的成就感和聪明的感觉。只有在工作中找到足够吸引你的点,才能长期坚持下去。
如果你感觉不到任何被吸引的点,那你可能需要休个假,或重新寻找你喜欢的东西,因为这样的工作只会让你精疲力竭。
如果你是个新手,很可能在下定决心“我要成为一名程序员”后,列出一个详细的计划,计划中可能包含8个大点、56个小点等等。但我想说:不要把计划看得太重,因为你不可能通过计算和计划来完成所有的事情。
在某些时候,你并没有“脱离你设定的任务”,你只是“过着自己的生活”。这不是失败,也不是放弃。你无法预测什么是有价值的,所以你应该学习所有的东西。我的经验就是:你活得越久,工作做得越好,你就越能意识到每件事(每个人)都能教给你有用的东西。
学习编程不是在跑短跑或马拉松,相反,这像是在写日记。十年后,你翻看这本日记,然后说,“哇,我做了一些很酷的事情”或者“我非常擅长Java”。
虽然我也期待着能够退休,但我不会停止工作,我也不会为了钱去做我不喜欢的工作,特别是如果它不能教给我什么了不起的东西。不要把工作和事业混为一谈,它们不是一回事。区分它们的最好办法就是,你会不会因为钱放弃。
对于我来说,写代码是一份非常棒的工作,但只是一个还行或者可以更好的事业。对于有些音乐家来说,他们并没有获得很高的报酬,但音乐是他们一生的事业。
我不建议大家一开始就去学习软件设计的深层原理,这是因为如果你试图把它们当作纯理论来学习,那么肯定会做错。对于初学者来说,首先要学会用一些实际的语言,构建一个可用的软件。不管是哪一种语言,只有犯一些真正的错误,才能在错误中解决问题。然后就可以这样循环:实践,犯错,学习理论,修正错误。
当然,这也并不意味如果你先学习了理论,你就会永远变差,只不过是需要一段时间才能正确使用你所学的知识。
众所周知,如果美术家重复画一个静物、音乐家反复练一首曲子,他们都会越来越熟练,但程序员不一样。
在程序员中有一个说法是“不要重复造轮子”,我们的工作正是想办法让电脑完成所有的重复工作,这样我们就可以只做新的工作。
你可以尝试重新发明轮子、可以故意用“糟糕”的方式编写代码,看看会发生什么。总而言之,你需要尝试一些不同寻常的事情。
在我45岁时,我才开始学习弹钢琴。这一年我觉得自己一直在进步,我相信如果坚持下去,到60岁时我一定会非常棒。学习编程也是一样,当你已经有了一些其他领域的背景时,你学习编程就会变得很快。
相信我,如果你从50岁开始做程序员,10年后,也就是你60岁时,肯定会比我18岁时的水平好得多。我遇到过很多优秀的程序员,他们都是在20岁、30岁甚至40岁才入行。这一行需要时间和工作,但你不必非得年轻。
从上面的建议中我们可以看到,这位大佬并没有推荐我们要学习什么语言或框架,这些知识和技能是不断变化的,而且没有尽头,但是他分享了很多对工作的看法,有网友评论“不只是程序员,其他职场朋友都值得借鉴”,博主也深有同感,这是比技术知识更重要的事情。
在当今的职场环境中,“年龄焦虑”是普遍存在的一个现象。不可否认,中年人的确不如年轻人那样拼得起体力,熬得起大夜,但是他们也有着年轻人没有的优势,比如技术精湛,能力突出,心态稳定等等。
像这样优秀的大龄程序员,其实有很多,他们不惧年龄,在岗位上做着自己喜欢的事情,专注于技术。