我为什么要学习编程?学习编程的17个理由

2025-06-09

我为什么要学习编程?学习编程的17个理由

如果你正在犹豫是否应该投入时间学习编程,或者你已经会编程,但感觉停滞不前或缺乏动力——那么这篇文章正适合你。为什么你应该学习编程?我总结了很多理由!这些理由都​​源于我作为软件工程师的经验以及与同行无数次的交流。希望这篇博文能帮助你做出正确的决定。

最初发布我的博客Coders Bible上。

在您开始阅读之前,这里有一个简短的列表,其中包含本文的所有段落,每个段落都代表学习编程的一个理由:

  • 获得有吸引力的薪水
  • 在稳定的行业找到工作
  • 体验不同的职业机会
  • 简历上有宝贵的技能
  • 从众多工作机会中选择
  • 随时随地工作
  • 享受优秀的工作文化
  • 提高解决问题的能力
  • 提高协作技能
  • 注重实践
  • 立即查看您的工作成果
  • 构建一些很酷的东西
  • 了解您周围的软件如何工作
  • 表达你的创造力
  • 拥有自由
  • 遇见令人难以置信的社区
  • 在线学习

获得优厚的薪水

这或许是最显而易见的。软件工程师的平均薪资远高于大多数其他职业。不过,我想告诉你具体高了多少。点击此链接,你可以找到许多顶级科技公司开发人员的薪酬。例如,在谷歌,随着经验和专业知识的积累,你会晋升,级别符号为 L3(二级软件工程师)、L4(三级软件工程师)、L5(高级软件工程师)等。点击网站上的图块,你会看到平均年薪(大部分都经过验证)。如果你想了解世界其他地区的情况,这里有一篇很棒的文章,其中包含了高薪国家的数据。如果你想进一步了解你的国家,我强烈推荐这份来自经济研究所的报告。

在稳定的行业找到工作

美国软件开发人员的失业率保持在惊人的1.6%(据《美国新闻与世界报道》的报道),在全球范围内也处于类似的低位。软件行业非常稳定,但请不要误会——由于技术发展迅速,你现在所学的技能在十年后可能用不上。不过,你可以肯定,大多数公司都会支持你学习新知识,因为他们知道,他们的业务成功取决于使用最新的工具。公司和初创公司来来去去,但只要你不断精进技能(大多数公司都乐意帮助你),即使你现在的工作岗位倒闭了,你也能很快找到新的工作机会。

体验不同的职业机会

当你掌握了编程能力后,你将有独特的机会为各个行业做出贡献,例如:银行业(参见:Revolut、N26、Monzo)、电子商务(参见:Wish、Etsy、Amazon)、约会(参见:Tinder、Badoo、OkCupid)、建筑业(参见:Archdesk、Procore、Buildertrend)、社交媒体(参见:Facebook、Instagram、Snapchat)、人工智能(参见:OpenAI、Boston Dynamics)、游戏(参见:使命召唤手游、巫师、糖果粉碎传奇)甚至性生活(参见 - 但前提是你年满 18 岁 ;) - Elvie Trainer、Lovense Remote)。这些都是软件,可以帮助数百万人!此外,你还可以有多种选择。你可以成为自由职业者、IT 项目经理、大公司的软件工程师,负责许多不同的项目,在小型初创公司维护一种产品的开发人员,团队负责人,或者干脆创办自己的公司。这可能是吸引我的最重要的事情。

在你的简历上写上有价值的技能

史蒂夫·乔布斯曾经说过:“这个国家的每个人都应该学习编程,因为它能教会你如何思考。” 我完全同意,但我还想补充一句:“……而且它会让你的简历看起来很棒。” 无论你决定从事软件工程专业,还是想找到一份略有不同的工作——向任何潜在雇主提及编程技能,都能展现你理解高级主题、理解抽象概念以及进行结构化和批判性思考的能力。

众多工作机会任您选择

微软最近的研究(您可以在这里找到)表明,未来5年全球将新增多达1.49亿个技术型就业岗位。软件开发占这一预测的绝大部分(9800万)。您自己看看吧!在家尝试一下这个小实验:访问您所在国家/地区提供职位的顶级网站之一,然后输入“软件开发人员”(最好使用您的语言)。将搜索范围限制在您的位置。您能找到多少个职位?我住在一个中等规模的城市,人口约80万。我的搜索结果是什么?该地区有300个职位空缺(截至2020年7月9日)!

随时随地工作

远程办公在软件行业已经存在多年。理论上,这种模式允许你在任何地方工作,只要有稳定的网络和一张可以放置笔记本电脑的桌子。对某些人来说,这是梦想,而对另一些人来说,则是噩梦。如果你属于后者,但仍想深入体验世界其他地方的生活,那么我有个好消息——你梦想的地方可能对程序员的需求很高。让我们使用Indeed招聘信息搜索引擎来查看一些我最推荐的地点:巴里(意大利)——45个职位,伦敦(英国)——5000个职位,旧金山湾区(美国,加利福尼亚州)——3300个职位,檀香山(美国,夏威夷)——35个职位(截至2020年7月9日)。

享受优秀的工作文化

和其他地方一样,在这里仍然有可能遇到糟糕的同事。没错——如果你运气不好,你可能会遭遇围攻或歧视,但在IT行业,这种情况发生的概率要小得多。而且,由于大量的工作机会和本地软件工程师之间迅速传播的谣言,你可以成功避开任何糟糕的工作场所(这与许多其他行业不同)。反馈会议、与经理和技术主管的一对一会谈、回顾会议——这些只是现代软件公司培育的一些标准流程,旨在帮助你与你保持持续联系,了解你的工作效率和工作中的总体幸福感。

提升你的解决问题能力

在学习编程之前,我在高中和大学期间曾解决过许多与数学、物理、力学或化学相关的问题。这些问题通常很复杂且具有挑战性,但大多数情况下,你都能从中提取出规律,或者找到适合你的考试答案。此外,这些问题过于理论化,脱离现实世界,很快就会让人感到无聊。最近我得出了一个结论:我如今能够打破思维定式、分解问题并以抽象的方式推理的能力,很大程度上要归功于我过去几年实施的软件项目。当然,像Stack Overflow这样的网站为开发者提供了现成的答案,但当你开始用 Java、Python 或其他编程语言解决问题时,那种愉悦的焦虑感,以及当你最终解决问题(仅借助谷歌的部分帮助)时脸上绽放的喜悦笑容,是我在之前的教育阶段从未体验过的。你真的感觉你的解决问题的能力正在提升!我只能将其比作坐在无限复杂的密室中,一次解决一个谜题,但永远不希望它们完成。

提高协作技能

看看Facebook、Instagram、亚马逊或任何其他你经常使用的软件。它们乍一看可能很简单(大多数情况下,这是开发者提供卓越用户体验的初衷),但如果你持续观察,就会发现其中的深度。这类在线平台的底层非常复杂,单个程序员需要很长时间才能完成,因此团队合作至关重要。与他人合作完成项目可以让你学到很多东西,主要是因为几乎总是存在需要解决的问题。然而,软件行业不会对你置之不理!许多现代公司都采用了巧妙的方法论(例如Scrum或看板),这些方法论促进了这种合作,并且多年来一直行之有效。如果你想学习如何与人合作,我相信IT世界是最酷的地方。

专注于实践

你不会找到很多理论型的程序员。我们的行动专注于提供一些其他人可以使用的东西,或者一些能帮助我们提高效率的东西。考虑到这一点,你能想到在申请第一份工作时,你能做的最重要的事情是什么来脱颖而出吗?展示你实现的真实软件项目!如果你正在寻找学习编程的课程,请务必选择那些提供一个或多个实践项目实施帮助的课程。

立即查看您的工作成果

我毕业于机械工程学院,在那里我学习了泵、齿轮、磨床、活塞……光是写这些就让我感到无聊。但课程枯燥乏味并不是我最大的问题。我学习了大量关于这些大型机器的理论,但每个月只有几个小时的时间去观察它们的实际运转(亲自尝试的时间就更少了)。我在土木工程学院的朋友也有类似的问题。他们希望最终看到他们精心计算和规划的实际结果,但由于这个行业的性质,他们无法实现。软件不是这样的:学习理论、实践、将其应用于代码、编译,然后 BOOM——你几乎立即就能在屏幕上看到输出。以如此快速的方式体验工作成果有助于保持动力,甚至会对自己亲手构建的东西感到惊讶。

打造一些酷炫的东西

在我的职业生涯中,我见过许多有趣(也有些古怪)的软件副项目。康威的“生命游戏”瑞克和莫蒂 API以及8values 测验都是我最喜欢的。我甚至在我的工程论文中实现了一个:基于卷积神经网络的啤酒标签分类器(在拍摄啤酒标签照片后,机器学习算法成功识别了它)。你会构建什么?天空才是极限!

了解你周围的软件是如何工作的

不久前,我和一位设计师朋友进行了一次有趣的对话。他告诉我,当他走过街道时,他体验世界的方式是通过颜色、字体、形状、设计、标志、图标和图像。我认识的大多数软件工程师(包括我自己)也有类似的情况。他们无法像其他人一样看待网站或移动应用程序。他们通常知道大多数功能的工作原理,或者,如果他们不知道,他们就会尝试去弄清楚。你是否曾有过这样的感觉:某项技术运行得如此完美流畅,就像一个魔术?当你学习编程时,你就会知道这个魔术是如何实现的。

展现你的创造力

很多人不认为编程是一项创造性活动,但我并不这么认为。显而易见,得益于广泛可用的资源,你可以创造出一些不久前还只是你想象中的东西并将其发布到网上,但你每天为雇主工作又如何呢?这能算得上是创造性的吗?诚然,你接下来会接到的一些任务是重复性的(比如设置工具或修复错误)。但我相信,作为一名软件工程师,创造力对于编写精美的代码至关重要,这些代码不仅运行良好,而且对于初级和高级开发人员来说都易于理解和维护。为了实现这一点,你将解决与正确的软件设计直接相关的问题,而网上并没有针对你具体情况的现成答案——只有建议和灵感。这时,你的创造力和突破常规的思维方式将发挥最大的价值!

拥有自由

大多数软件公司允许你每周最多远程工作3天。在健康的组织中,管理者绝不会轻视休假。此外,工作时间总是灵活的,重点不是每天8小时无意识地坐在电脑前,而是要交付真正的成果。

遇见令人难以置信的社区

IT 社区无论线上线下都非常活跃且乐于助人。Stack Overflow是一个非常棒的网站,开发者们在这里帮助解决其他人遇到的常见问题。Medium是一个平台,许多才华横溢的工程师在这里分享他们的软件解决方案,或为最先进的工具撰写教程。更不用说还有各种各样的子版块、YouTube 视频、课程、论坛和 Facebook 群组。为了在现实生活中结识对同一种编程语言或技术感兴趣的人,我建议在Meetup上寻找活动。记住,建立人脉(结识业内新朋友)非常重要,因为它可以为你带来现在或未来的新工作机会。

在线学习

我见过由以下代码生成的许多行代码:

  • 从未上过大学的人,
  • 大学辍学生,
  • 博士,
  • 计算机科学毕业生,
  • 非技术类毕业生,
  • 顶尖大学的毕业生,
  • 我甚至不知道有这些大学的毕业生,
  • 成绩不好的学生,
  • 成绩优异的学生。

我也和这些团体的许多代表进行了交流。其中一些人还是我的同事。你知道吗?根据我的经验,我可以自信地说,大学学位并不能很好地预测IT行业员工的成功。无论你是否选择上大学,我都有好消息要告诉你。网上有很多编程课程,你一定能找到适合自己的课程!最近,我还创建了一门课程!如果你想从零基础入门,最终拥有一个能够独立完成的复杂编程项目,请点击此处了解更多关于我的课程的信息

感谢您的阅读

如果这篇博文说服了你开始学习编程,或者在你感到困惑时给了你动力,那么也许它也能帮助到其他有类似情况的人?如果你认识某个人,觉得他/她可以从中受益,请分享

鏂囩珷鏉ユ簮锛�https://dev.to/matdziu/why-should-i-learn-to-code-17-reasons-to-learn-programming-4pcd
PREV
Como Habbo Hotel 与计划有何关系?
NEXT
11 个开源项目将让您的简历飞速提升🚀(在 2024 年开启您的职业生涯!🌟✨)TL;DR ✨ 功能文档支持的客户端入门 - Docker Compose SWIRL AI Connect pgvector Logstash🎛️ GO 功能标志更改查询安全开源通知框架,使开发人员能够轻松授权产品团队