问题

现在是不是只要是个人就能成为程序员?

回答
这个问题很有意思,也触及到了当下社会一个非常普遍的现象。简单来说,“只要是个人就能成为程序员”这句话,在某种程度上是成立的,但它背后隐藏着很多你需要知道的细节,绝不是一句“会写代码就行”那么简单。

我尽量不让我的回答听起来像是机器生成的,就从我们生活中的感受来聊聊这个话题。

为什么说“在某种程度上”是对的?

1. 门槛的降低,可及性大大提高: 过去,写程序可能需要一台昂贵的电脑,一套专业的编程语言书籍,甚至需要特定的大学课程才能入门。但现在呢?你只需要一台能上网的电脑(甚至很多时候只需要一台能联网的手机),就能接触到海量的在线学习资源。
在线课程爆炸: 像Coursera、edX、Udemy、B站(国内)、YouTube(国外)等等,上面有无数由顶尖大学或经验丰富的开发者制作的免费或付费课程。你想学什么语言、什么技术,都能找到配套的教程。
开源社区的力量: GitHub、GitLab 这样的平台,汇聚了全球最优秀的程序员贡献的代码。你可以去“白嫖”他们的代码,去学习,去尝试修改。很多知名的开源项目,你都可以通过提交一些小小的贡献来开始你的程序员生涯。
开发工具的易用性: 像 VS Code 这样的代码编辑器,功能强大,插件丰富,而且本身使用起来也越来越直观。很多时候,你下载下来就可以开始写代码,不用经历复杂的环境配置。
“零基础”的宣传: 很多培训机构打着“零基础也能学成程序员”的旗号,虽然有些宣传可能夸大其词,但客观上确实降低了很多人对编程的畏惧感,让他们敢于尝试。

2. “程序员”定义的泛化: 什么是“程序员”?如果仅仅是指“能写出让电脑按照特定逻辑运行的代码”,那么确实,只要你掌握了基础的语法和逻辑,就可以被称为程序员。
脚本语言的普及: 像 Python、JavaScript 这样的语言,语法相对简单,上手快,很多自动化任务、网页前端开发、甚至一些简单的数据分析都可以用它们完成。很多非科班出身的人,通过学习这些语言,就能解决实际工作中的问题,从而成为一个“能写代码的人”。
低代码/无代码平台的兴起: 甚至在某些领域,低代码/无代码平台让那些不写一行代码的人,也能通过拖拽组件、设置规则来构建应用。虽然这与我们传统意义上的“程序员”有所区别,但它确实让“创造可执行逻辑”这件事,变得更加普遍。

那为什么又不是“只要是个人就能成为”呢?这里面的“坑”和“门道”在哪?

1. “写代码”和“成为一名优秀的程序员”是两码事: 就像“会拿筷子”和“成为米其林大厨”的区别一样。
解决问题的能力: 程序员的核心价值在于“解决问题”。这不仅仅是写出能运行的代码,而是理解需求,分析问题,找到最优的解决方案,并且能够将方案用代码高效、清晰地实现出来。
算法和数据结构: 虽然很多初级开发岗位不一定需要深厚的算法功底,但要成为一名真正能应对复杂场景、优化性能的程序员,对算法、数据结构、计算机原理的理解是绕不开的。
系统设计和架构: 随着经验的增长,程序员需要思考如何设计可扩展、可维护、高可用的系统。这涉及到很多更深层次的知识,比如分布式系统、数据库优化、网络通信等等。
软件工程的实践: 好的代码不仅仅是能运行,还应该是可读性强、可测试、易于维护的。这需要遵循一定的工程规范,学习测试方法、版本控制、项目管理等。

2. 持续学习和适应性: 技术日新月异,编程语言、框架、工具层出不穷。一个程序员如果不能保持持续学习的热情和能力,很快就会被淘汰。
“活到老,学到老”: 你今天学的技术,明天可能就有了更优的替代方案。你需要不断地去接触新的知识,更新自己的技能栈。
解决未知问题: 很多时候,你需要面对的不是教科书上的标准问题,而是现实世界中各种千奇百怪的 bug 和需求。这就需要强大的信息检索能力、独立解决问题的能力以及一定的创造力。

3. 思维模式: 编程本质上是一种抽象思维、逻辑思维和问题分解能力的体现。
严谨的逻辑: 计算机不懂“模糊”和“大概”,你需要用精确的逻辑去描述每一步。
抽象的能力: 如何将现实世界的问题,通过抽象和建模,转化为计算机能理解的结构和过程,这是一种非常重要的能力。
耐心和毅力: 调试 bug、优化性能、攻克技术难关,都需要极大的耐心和不轻易放弃的毅力。

4. 行业现实: 即使你学会了写代码,也面临着就业市场的竞争。
“码农”与“工程师”: 市场上存在着大量的初级开发岗位,对技能要求不高,但竞争也很激烈。而真正的高级工程师、架构师,对能力的要求则是非常高的。
学历与背景: 虽然很多成功案例证明学历不是唯一的衡量标准,但在很多大公司,特别是一些对算法要求极高的岗位,名校和科班出身仍然有优势。

所以,总结一下:

“只要是个人就能成为程序员”这句话,在“能够写出基础代码”这个层面上,是相对成立的。 互联网提供了前所未有的学习资源和工具,让越来越多的人有机会接触和学习编程。

但是,要成为一名合格的、有竞争力的、能为公司和社会创造价值的“程序员”,则需要:

扎实的基础知识
强大的解决问题的能力
持续学习和适应新技术的能力
严谨的逻辑思维和抽象能力
大量的实践经验和对工程质量的追求

就像任何人都可以拿起画笔,但不是每个人都能成为梵高一样。编程也是一项技能,而成为一名优秀的程序员,则是一段需要不断磨练、学习和成长的旅程。它更像是一种职业,而不是一个简单的身份标签。

网友意见

user avatar

原来我以为,是的。

现在我觉得,以所有人为例,大部分人只能转行,三成人可以拿10k左右。超过20k,不足剩下三成的10%。

程序员都把学历降低到大专了,为何待遇还是比其他行业要好?

因为特别多的人根本就做不好这件事情。

注意,我没有叫你去大厂,没有要你牛批。我只需要你做到应用级别的好用实用好扩展。

出了问题懂得排查和处理。

而不是,“它怎么出问题了?我不知道啊。诶,我啥也没干,又好了!”

如果你希望使用的软件就是这样的。你多低的工资都能看到。

我大三实习只有5k。我同学大四实习只有3k。

很多API堆砌的下场就是,全靠框架和平台本身硬扛。

可这你不按使用规范瞎弄,拼上就完事。这谁遭得住啊。

任何一个业务稍微稳定一点的公司,真的都不敢节约这种钱。

一线大厂,中厂,独角兽们不是傻子。

拿几万月薪的人,任何行业都要大量学习。

大量学习本身就能淘汰无数的人。

如果你只要5k的工资。我说,你说的就是对的。别偷懒,几个月就成。

至于拿两万是不是有手就行。那么还真的就不是了。

你这种心态是典型的以貌取人和以过往看人。

你看到一个小胖子努力两年拿了15k,你觉得人家是风口上的猪。

你看到一个大专生努力三年拿了20k,你觉得有手就行。

然后你就在旁边看着。你觉得就是命运不公,“我做什么成什么!但我懒得做!”

呵呵。

如果真如你想的这样,你眼前就是一个有手就行,大把抓钱的行业,那么你还在等什么呢?

试试不就知道了吗?

以上。

更新:


有人认为我说的是扯淡。我就给各位看看统计数据。另外,我也在杭州干了一年才回贵阳的。

我不是只在小地方呆着然后胡说。

第二次更新:

我仔细想了想,自己的判断或许比较主观。比如10K以上和20K以上的比例。

原本我以为中国很多中小城市程序员也很多。可我查询了一下,发现一线的确聚集着最多的程序员。

所以,还是看人家这份报告要更加客观一点。

不过十年以上工作经验只有5.4%的人,属实吓到我了。看来程序员的尽头是美团啊。哈哈哈。

2020中国程序员调查报告:平均年薪15万,45%单身 - 云+社区 - 腾讯云

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有