如何成为一名优秀的程序员

2023-11-23 08:59:22 浏览数 (1)

前言

本文章并非本人创作,是我在一个国外博客中偶然看到,当时在找为什么要读源码时偶然发现这个文章,觉得内容不错便翻译过来让大家看看,底部会有原文链接

心态

每个人都会代码,几岁的孩子也可以编写一些可运行的代码。然而成为一名优秀的程序员需要花费大量的时间和精力来打磨技能。准备好的心态会让你在这段漫长的旅程中不断成长。

终身学习

“我坚信,自我教育是唯一的教育方式”——艾萨克·阿西莫夫

一切都在迅速变化,一些技术逐渐消亡,一些技术每年都在兴起。你不需要学习所有花哨和新鲜的东西,但你需要了解趋势。并且还具备必要时能快速上手的技能。

Doom 系列游戏的创造者 John Carmack,即使他从事编程已有数十年,仍在努力学习一种新的编程语言并尝试将其应用到产品中。要成为一名优秀的程序员,我们必须保持终身学习的信念,为计算机行业的快节奏做好准备。

热情与执着

  • 编程并不容易。在日常实践中,编程可能带有未记录代码的阴暗面、长时间的工作日、来自产品发布的压力。如果你没有激情,调试会把你的脑细胞冲进马桶。所以,学习编程的首要任务就是玩得开心,努力享受其中。
  • 从某种意义上说,编程正在创造一个全新的世界。一个热爱编程的程序员,即使在键盘上花费太多时间,也不会感到无聊;相反,他会感到愉快和满足。

好奇心

要成为一名出色的软件工程师,您需要对很多事情充满好奇。 除了编码,还有很多问题需要回答。例如:

  • 函数是如何在库中实现的,它有哪些缺点和局限性?
  • Linux中的内存管理是如何实现的?
  • 为什么我们需要操作系统中的线程,以及何时使用它们?
  • 当您使用浏览器发送 HTTP 请求时会发生什么?

好奇心会推动你去了解每个角落的细节,打磨你的技能,逼迫你更上一层楼。

保持高标准

我看到伟人往往是孤独的。这是可以理解的,因为他们为自己建立了如此高的标准,以至于他们经常感到孤独。但同样的孤独也是他们创造能力的一部分。

通常,编写可行的代码不会花费太多的尝试。有时您可以从 Internet 上找到代码片段,然后将其粘贴到编辑器中,幸运的是它可以正常工作。但是......,可行的代码是一个低标准,你需要保持高标准。对你的工作保持高标准意味着你需要将你的工作打磨到完美。 编码是与机器交流,但是你的代码会被人阅读,这意味着你是通过代码与其他人交流。 试着问自己这些问题:

  • 你知道项目中每一行代码的含义吗?
  • 您的架构能否灵活应对未来的不同需求?
  • 它适用于更大的数据量吗?
  • 它是否易读且易于其他人维护?

保持高标准需要解决许多问题,这最终将导致复杂的挑战。这就是为什么像谷歌这样的科技巨头会以高标准聘用工程师的原因。

合作

“任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。——马丁福勒

当你进入一个开源项目或为一些公司工作时,你需要讨论需求、与他人交流想法、向他人展示自己、撰写文档等。对于大多数程序员来说,表达能力(写作、表达能力)将成为所有合作的一大优势。

如何学习

第一条原则是你不能欺骗自己,而你是最容易欺骗的人。 _——_理查德·费曼

作为一名程序员,你需要时刻学习。一个重要的策略是学会如何学习,高效地学习。如果你掌握了如何快速掌握新事物的模式,你就会在很多领域变得更快、更深入,成为更好的程序员。 费曼技术为掌握新知识提供了一种深刻的、基本的、直观的方法。它旨在作为一种技术来帮助您更快地学习任何东西。 计算机科学中有许多常见的概念。对于几乎所有的事情,如果你能用通俗易懂的语言向别人解释,就意味着你已经完全掌握了它,用你自己的方式。 换句话说,通过教学来学习是一种有效的方法。 **边做边学是另一个重要策略。**编写软件不是火箭科学;它更像是一门手艺,比如绘画、跳舞、打篮球或弹钢琴。 要想成为专家,你需要每天坚持练习,尤其是当你是初学者的时候,你需要花很多时间来获得编码和调试的感觉。 然后,你需要做一些真正的项目,尤其是一些实际应用。确保您了解编程是为了解决现实世界中的问题。

步骤

掌握基本知识

就像中国功夫一样,初学者在学习一些花哨的东西之前会花很多时间来获得核心力量。 计算机科学的历史大约有 50 年,工具(编程语言、编辑器、平台)和计算能力在这些年里发生了翻天覆地的变化,但基础理论发展缓慢。今天所有的编程语言都是图灵完备的。 以下是您必须掌握的科目:

  • 数据结构和算法
  • 操作系统
  • 编译器和编程语言
  • 计算机网络
  • 数据库

程序员不是科学家那样的角色,需要更正规的学术训练。相反,许多伟大的程序员高中毕业。 对于自学成才的学习者,你可以找到很多有用的资源,学习计算机科学和编程的书籍。有这么多的开源项目、教程和公开课程。 作为一个自学成才的初学者,不要一个人做,尝试与他人联系。一个好的导师会加速并帮助你避免错误。 为学习路径制定计划。你不需要做一个很详细的计划,但要有耐心地去执行。

找到你的轨道

计算机行业有很多领域,在您的职业生涯中,您可能只专注于几个领域。游戏编程?Web开发?系统编程?机器人?所以在你年轻的时候,试着找到你要挖的洞。如果你现在不知道,继续寻找,不要安于现状。 你的目标是你最喜欢和最满意的目标。 在进入另一个领域之前,请确保你在一个领域足够的深度。你需要自信并找到自己的学习模式。

创建一些有价值的东西

如果你没有一个Github帐户,请创建一个,运行!

Github 是程序员分享项目和想法的好地方。它目前托管大多数开源项目。 您应该学习基本的 Git 工作流程。尝试克隆其他人的代码,创建一个分支并对其进行处理,然后将您的代码推送到远程仓库。 查看其他人的代码对自己有帮助,为其他开源项目做贡献也有助于您开始申请工作。

找工作

顶级程序员申请工作的机会不多,因为工作会找到他们。其他一些优秀的编码员不需要申请工作,因为他们的开源项目可以赚到足够的钱来维持生计。但是大多数程序员在正常情况下需要申请工作。 候选人需要通过几轮才能拿到offer。好消息是软件工程师和其他 IT 职位的需求量仍然很大。 至于简历,拥有或贡献伟大的开源项目将是一个亮点,一些内核程序员会在简历中列出补丁号。 _推荐_是申请工作的有效渠道,因为许多公司信任员工的推荐,并为成功推荐支付一些奖金。

跳跃或扩展自己

在你职业生涯的最初几年,如果你没有在工作时间上提高自己,那就跳出来尝试找一份新工作。 你的时间很宝贵,尤其是在你职业生涯的早期,不要犹豫。

在你所在的每个乐队中永远做最差的人。——这样你就可以学习。你周围的人会影响你的表现。明智地选择你的人群。–乍得福勒

当你拿到大公司和小公司的offer时,认真考虑一下。记得长期找适合你目标的公司,不要只考虑薪水,你的职业生涯是很长的路。通常,小公司意味着高风险和潜在的高回报。

最后一件事

保持健康最终很重要。一些年长的程序员在长时间坐着后会感到剧烈的疼痛。手指受伤、心脏病、发胖是程序员的主要健康问题。 保持良好的生活方式是给年轻程序员的第一条忠告,保持足够的锻炼和休息时间。码字不是生活的全部,找个爱好,好好享受业余时间。

原文链接

To Be A Great Programmer: Mindset And Learning Strategy (coderscat.com)

0 人点赞