前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何成为一名优秀的程序员

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

作者头像
Coder昊白
发布2023-11-23 08:59:22
2220
发布2023-11-23 08:59:22
举报
文章被收录于专栏:Android菜鸟成长记录

前言

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

心态

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

终身学习

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

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

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)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 心态
  • 终身学习
  • 热情与执着
  • 好奇心
  • 保持高标准
  • 合作
  • 如何学习
  • 步骤
    • 掌握基本知识
      • 找到你的轨道
        • 创建一些有价值的东西
          • 找工作
            • 跳跃或扩展自己
              • 最后一件事
              • 原文链接
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档