以下故事由CodeGym 社区成员Max Stern发表。如果这是您提出的问题,请看一下。或者,如果您知道有人对开始学习如何编程是否为时已晚感到疑惑,请分享这个故事。

我根本不知道我错过了火车,所以我还是去了

当我第一次想到转行的时候,我的青春已经成为过去。并不是说那是很久以前的事了,但我确实已经经历了整整三个十年,而且你可能知道,对于一些在 IT 领域工作的人力资源经理来说,这是一个非常高龄的时代。

但我没想到我的年龄会被认为是“临近退休”。我什至没有想过问“对我来说是不是太晚了?” 我认为这种粗心大意救了我。如果我偶然发现励志文章“永远不会太晚,即使对于一个头发花白的 29 岁!” 在我开始学习的时候,我会很担心并得出结论,我可能不了解关于编程的一些重要内容。例如,我可能开始相信编程需要年轻的脑细胞,并且在 26 岁时某种不可逆转的突变开始了——然后就是这样,关掉灯回家。我可能要么完全放弃了这个想法,要么选择了彻底的脑部手术。

或者参加体操。由于这些运动员对肌肉的特殊要求,他们的职业生涯在 20 岁时结束,而年轻的体操运动员在 8 岁之后就不再被职业赛场接受。他们将有生以来第一次被称为老男人和老女人。

我没有直接接触过这么“年轻”的职业。我学过数学,有一段时间学过科学。然后离开去高中教书。高中(即使是职业学校)是你最不可能听到有人说“什么?!你<插入 18 到 105 之间的任何数字>岁!你将无法成为一名教师。它太晚(早)”或“你根本没有教书的倾向。” 在那里,任何想要将合理、善良和永恒的东西植入我们青年心中的哪怕是一闪而过的愿望都会被强行抓走。甚至没有专门的检查来评估候选人是否适合这个职业。只是检查以确保没有犯罪记录(如果你知道,你就知道......)。

我从未听说过对数学家或非编程工程师有严格的年龄限制。所以我决定我需要做点什么,因为在某个时候我意识到:如果我继续当一名高中老师,那么我最终会进精神病院。或者我只是不会持续很长时间。当我决定转行时,我仍然热爱数学。我对孩子大多是冷漠的,但也有一些无声的蔑视。考虑到我在与那些年轻生物的不平等斗争中死亡的神经细胞数量,我对自己的薪水感到有些困惑。

好吧,离开高中是个主意。但是去哪里呢?回到学院后,我喜欢解决编程问题。的确,我做的不多,而且我已经设法忘记了一切。尽管如此,我还是下定了决心。我不知道我错过了这列火车,所以我就爬上车就走了。

我是如何学会编程的(非常简短)

  1. 我在高中时只学了一点 Pascal。
  2. 我在学院学习了一点 C 和 Java。
  3. 我曾尝试过全日制 Java 课程,但我放弃了(毕业 10 年后)。
  4. 我登陆了 CodeGym(在我退出全日制课程一年后)——我喜欢它,但很快就“飞走了”,因为我没有时间深入学习。
  5. 然后我决定认真对待它。尽管我辅导了几个学生,但我放弃了高中教学。顺便说一句,如果你证明自己是一个称职的导师,你可以在四分之一的时间内赚到高中老师的两倍——而且我不会说你会节省多少神经细胞。我继续在 CodeGym 上学习。有时我会用问题折磨我的程序员朋友。看书上网找答案,经典!
  6. 我在一家公司实习,并顺利完成。

在某些时候,我确实遇到了各种与年龄相关的问题,其中一些是直接遇到的,而另一些是我在论坛上或在与其他未来 30 岁的初级开发人员交谈时了解到的。但这些问题是真的吗?它们是与我们生理年龄的挑战有关,就像上面提到的体操运动员的情况一样,还是它们具有社会和心理性质?我将在下面描述这些因素。我会揭露它们是错误的,尽管我不会争辩说“几乎任何人”都可以成为程序员。

第一个因素。心理障碍或“时钟滴答作响......”

直到我在 CodeGym 上达到 20+ 级并开始考虑找一份工作时,我才感到有点不安,并开始怀疑我不是我认为(和感觉)自己的年轻和即将到来的人。并不是因为我做得比 17 岁的约翰或 23 岁的凯尔差,我在论坛上与他们聊天。但是因为他们一直祝我好运,因为“30岁以后学习太难了”。并成为一名初级开发人员——这简直不可思议!他们不会雇用你,如果他们真的雇用你……从属于年轻人会很尴尬。这种自我怀疑也是因为我经常看到表达“永远不会太晚”的文章,我意识到一定有人在问是否为时已晚

我的好程序员朋友曾经说过,“快点,否则不会发生——他们甚至不会看你的简历”。听到这话,我完全泄气了……我明白了女性在不断收到结婚生子的粗鲁暗示时的感受。记住那句伪装成关切的尖刻短语:“时钟在滴答作响。”

我肯定停滞不前,发现自己无法完成一项任务。我打开 IDEA,但我无法输入一行。我没有感觉到自己的心跳,而是听到了“滴答作响的时钟”,每一次滴答声实际上都是一场全面的战斗,威胁而响亮,就像克里姆林宫大钟的敲钟声。

坦率地说,这些在我脑海中敲响的钟声让我有一段时间无法行动。我得出结论,我只是在浪费时间。那对于一个三十多岁的初学者来说,编程顶多是一种爱好,无法成为专业人士。当我 22 岁时,我开始学习如何弹吉他并开始跳摇摆舞。但是学习吉他和跳舞花费的时间要少得多,而且我成为职业舞者或吉他手的希望为零。那么我在这里能期待什么呢?

幸运的是,这种自我怀疑并没有持续多久。逻辑开始了。这个逻辑说这都是普通的焦虑。问题就在我的脑海里——“有 23 岁的高级开发人员,而这个老家伙甚至都不是初级开发人员。” “我永远跟不上他们。” 但后来我问自己:“为什么要追他们?继续努力学习,看看会发生什么,不是更好吗?”

而且我能够继续编写代码。我写的越多,我就能做得越好。很合逻辑吧?

第二个因素:成年人在学校表现更差吗?

的确,对于成年人来说,学习并不总是那么容易。但这并不是因为无论 28 岁的人在做什么,成年人的大脑都会在 28 岁时自动萎缩。实际上,造成这种困难的原因是许多成年人只是没有定期学习的习惯。这就像去健身房一样。如果你去了,那么至少你保持了良好的体型或增加了你的健康。如果你不去,那么你所有的健身指标都会慢慢恶化。就像《镜中奇遇记》中美丽而愚蠢的台词一样,您需要竭尽全力地奔跑,才能保持在同一个地方。如果你想去别的地方,你必须至少跑两倍的速度

所以,如果你 30 岁或以上,并且经常在广义上动脑(例如,你阅读、写作、学习外语、学习乐器或建造模型飞机),那么它不会更难比 20 岁的你更适合学习。这里唯一重要的是你有规律地做某事。我一直在定期学习。首先,我学习了数学。然后我学会了如何教书(严肃地说,我研究了儿童心理学,思考如何将数学信息传达给毫无准备的头脑;写摘要等),还学习了英语、舞蹈和吉他。最近,我正在学习如何装箱。

我已经当了几年老师,我可以胜任地宣布孩子年龄的重要性被高估了。我遇到了令人难以置信的、难以想象的愚蠢的孩子,请原谅我的苛刻的话。他们坐在教室里,就像九十岁的老弱病残,或者更确切地说,就像鸦片瘾君子。到了八年级,他们不会加法,有些人对乘法只有最模糊的概念。但我也遇到过极度弱智的孩子,他们开始学习和发展自己的能力。我见过非常有天赋的孩子,而且我相信,除非发生一些非常糟糕的事件,否则他们最终会成为同样有天赋的成年人。

同样,作为一个成年人,我遇到了一个勉强通过英语课的前同学,只是出于同情。29 岁时,她重新学习英语,学习语言,现在从事翻译工作,更重要的是,她让我跟上了速度。

是的,有些事情孩子们可以做得更好。但编程不是这样,相信我。如果你已经失去了学习的习惯,那么尝试重新习惯它很重要,给自己时间来养成习惯。也许那些“不习惯”的人应该参加面授课程(甚至不一定是关于编程的课程),然后再进行 CodeGym 或自学编程。如果你不愿意或者不是很有动力去学习,那么是的,对你来说真的来不及了。即使你20岁。

因素三:时间不够

我在尝试学习之初遇到了这个问题。对于从小学到大学的学生来说,他们三分之二的活动时间都花在了某种意义上的学习上。因此,另一门学科的出现对他们来说并不那么引人注目,如果学习过程结构合理,也不会对他们产生重大影响。

我一半的时间都花在了工作上。另一部分是我的人际关系。我每天花一个小时在业余爱好上。一天中的一部分时间,我休息了(但大部分时间我都在检查我可恶的作业)。哦,我有时会睡觉。鉴于我的日程安排,即使我完全放弃所有爱好,我也没有足够的时间进行认真的脑力学习。我工作太累了。

或许这对大多数人来说是一个非常棘手的问题。您必须与亲人协调学习时间,放弃一些娱乐活动,制定学习计划,而不是尽管疲倦却四处闲逛。我能够轻松辞掉工作,因为,首先,我事先考虑过如何获得收入(辅导),其次,我知道由于上述原因,我总能找回工作。所以在这里我不会大喊“这很容易,去做吧!” 这不是真的。尤其是当你有一个家庭。但在大多数情况下,您可以找到方法。例如,一位家庭朋友减少了抽烟时间和与同事闲聊的次数。计算之后,她意识到这些活动大约占用了她两个小时的工作时间。她开始更加努力地工作,又腾出了一个小时。因此,她设法完成了她所有的工作,并用她回收的两三个小时来研究 CodeGym。顺便说一句,她是把我介绍给这个网站的人。是的,她已经是一名中级开发人员。是的,她是我的年龄。这是我的结论:问题很严重,但在许多情况下是有解决办法的。像我这样的激进解决方案。或者像我朋友那样的省力解决方案。或者是其他东西。至少试着找到一个。

因素四:某人的看门人情结或“哦,人力资源部的那个女人……”

我总是能够轻松地与比我年长或年轻得多的人交流。但在观察熟人后,我发现这很不正常,我在这方面很不寻常。我不知道为什么会这样,但他们需要改变。无论是在 IT 领域还是在生活中。

尽管在所有的 IT 论坛上,人们都在鼓吹“重要的不是年龄,而是知识”,但实际上,年龄往往会影响谁的简历被选中。尤其是在公司实习时。我的朋友完成了一个体面的付费全日制编程课程,并说组中最聪明的人,也就是我这个年纪,一直被他们的老师表扬。顺便说一句,老师是一位优秀的现役高级Java开发人员。在我顺利完成实习之前,我曾多次咨询他,获得了宝贵的建议。这个教师团还包括两名大学生。一个是“好”的,一个是“坏”的。

好吧,这些家伙在完成“Java Enterprise,Spring和Hibernate”课程后申请了实习(与我不同,不同的)。在整个班级中,有两名申请人被录取。你会想到谁?没错,就是那两个大学生。即使是“坏”的。诚然,他很快就放弃了实习,但他的接受改变了情况:他得到机会只是因为他的年龄,就像小组中最有前途的候选人没有机会一样——也是因为他的年龄。于是,“前途无量”的学生变成了程序员,“老家伙”却不得不真正出力。

当我的简历包含我的出生日期时,我没有收到任何回复,但一旦我删除它,事情就开始发生了。我不是在开玩笑。人力资源经理,你是认真的吗?当我已经在接受采访并且能够赢得人们的支持时,这是另一回事。那时候我的年纪真的是微不足道,知识和交际能力很容易就脱颖而出。所以我对你的建议是删除你的出生日期,并从社交网络中删除任何暴露你年龄的信息(人力资源经理有时会查看它们)。不要让他们根据你的年龄来判断你。

公平地说,我会注意到有些优秀的人力资源经理不会因为“太老”而筛选简历。

结论

  1. 编程不是芭蕾。这不是男孩合唱团。这不是体操。在这里,随着年龄的增长而发生的变化并不是固有的障碍。你的生活方式更重要。
  2. 克服心理障碍很重要。年轻人的职位更高吗?只需问问自己,为什么还要将自己与他们进行比较。已经足够根据未来的潜在职位来衡量自己了。以后自己衡量。成为新事物的专业人士是否为时已晚?好吧,如果你从 17 岁开始,也许你不会成为编程大师(这可能不是事实),但 Java 项目需要体面的中级开发人员不少于,如果不超过,他们需要“明星”。如果你喜欢编程,或者你懂得逻辑思考,并且下定决心要进入一个收入丰厚的领域,那就大胆迈出第一步吧。
  3. 你必须留出时间进行定期学习。对于一个背负着工作和家庭重担的成年人来说,这确实是一个挑战,但很多时候只要努力寻找解决办法,这个问题就可以迎刃而解。分析您在工作日和周末所做的事情。想想你可以删掉什么,你可以重新安排什么,然后继续前进。
    永不停止学习的人说:“学习永远不晚。” 如果你已经休息了十年或更长时间,那将是非常困难的。花几个月的时间培养一些更简单的爱好或参加一些课程,只是为了尝试适应学习过程,这可能是值得的。如果您目前已经在学习(某事,不知何故),那么学习编程对您来说将不是问题——至少不是年龄问题。
  4. 你能解决第 2-4 项吗?那你做程序员也不迟。而且我不是在问你多大了 =)。
  5. 心胸狭隘的人力资源经理可能是年长求职者的主要障碍,但这可以克服。不过,在投递简历时,不要让陌生人知道你的年龄。让他们看看你的技术栈和你的沟通技巧。
  6. 只有懒得学习和行动,不愿意为教育牺牲任何东西,不能留出时间,才为时已晚。如果是这种情况,那么即使您只有 19 岁,也为时已晚。