前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何从一名普通的程序员进阶成为一名优秀的程序员

如何从一名普通的程序员进阶成为一名优秀的程序员

作者头像
一墨编程学习
发布于 2018-09-14 05:53:01
发布于 2018-09-14 05:53:01
3800
举报

本文将讲述8种方式帮助你如何从一名普通的程序员进阶成为一名优秀的程序员,让我们就从此时此刻开始提高自己的开发技能吧。

是时候开始认真考虑一下如何升级你的开发技术了。让我们来认真地学习一下吧。

给自己设定一个提高开发技术的目标很容易,但是“想成为一名伟大的程序员”却不是一个容易实现的目标。首先,说“我想变得更好”,是建立在你认识到“更好”的样子基础之上。另外,有太多的人追求进步而不知道如何去实现。

因此,让我分享八个可实际操作的指导方针,你可以把它们作为提高编程技能的流程图。这些智慧都是伴随着计算机35年的发展沉淀下来的。

1.时刻提醒自己:学习

学习某件事的第一步是承认你不知道。这听起来很正常,但经验丰富的程序员还记得要真正让自己承认这一点需要花多长时间。很多计算机科学专业的学生毕业的时候,都有一种很傲慢的态度,就是“我知道最好的”,但其实这只是一种虚张声势,他们不知道从哪里来的自信,就好像他们什么都知道,并且需要向每一位新同事强烈的证明这一点。换句话说:你所谓的“我知道我在做什么!”这种态度会妨碍你学习新的东西。

2.不要试图证明自己是正确的

要想成为优秀的人,你必须学会吃一堑长一智。但是千万小心,经验也可能教会我们重复一些不良行为,甚至也教会我们养成一些不好的习惯。我们都遇到过有8年经验的程序员。对于他们来说,同样的经历,重复了8次。为了避免这种综合症,看看你做的每一种事情,然后问自己:“我怎样才能让它变得更好?”

新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。他们编写测试来证明他们写的代码是可以运行的,而不是试图让它运行失败。真正优秀的程序员会积极地寻找他们的错误在哪里,因为他们知道最终用户会发现这些遗漏的bug。

【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】

3.“代码可以运行了”这个目标不是终点,而是起点

是的,你的第一步总是想写出质量很高的代码,而且代码上面都写满了注释。但是一般的程序员在这一点上就退出,然后继续下一件事。

但是一旦“完成”就停止了这种思想就像是拍一张快照,然后期待它是一件艺术品一样。伟大的程序员都知道第一次迭代只是一次迭代。它运行起来了,恭喜你!但你的工作还有很多。现在,使它变的更好。

其实这个过程就是在定义“更好”的含义。让它变得更快能有什么价值吗?可重用更高有什么好处吗?更可靠吗?答案随着每个应用程序的不同而不同,但是过程都是一样的。

4.写三次代码

好的程序员目标是写出可以运行的软件就可以了。伟大的程序员写出来的软件目标是运行得非常好。通过一次编写这种情况几乎不可能发生。最好的软件通常被写三次:

首先,编写软件以向你自己(或客户)证明解决方案是可行的。其他人可能没有意识到这只是一个概念验证,但你确实这么做了。

第二次可以让它正常地运行。

第三次你能够让它平稳的运行。

当你看到最优秀的开发人员的工作时,这种级别的工作可能并不明显。他们所做的一切看起来都很出色,但你没有看到的是,即使是开发界的大腕儿,也可能在向其他人展示他们的软件之前就已经抛弃了第一个和第二个版本。抛弃之前的代码并开始编写另一个版本是一种强大的方式,可以将“更好地”融入到您的个人工作流程中。

如果没有其他情况,通过“写三次代码”可以告诉你解决问题的方法有多少种。而且它可以防止你陷入停滞不前的状态。

5.阅读大量的代码

你可能希望我能够引导这个建议,实际上,这也是提高编程技能的最常见和最有价值的建议。阅读他人代码的原因也很重要,只是不是很明显而已。

当阅读其他人的代码时,你会看到其他人是如何解决编程问题的。但不要把它当成是文学作品,而是把它当成一种教训和一种挑战。想要变得更好,问问自己:

那块代码我该怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢?

我学到了什么?我如何将这种技术应用到我过去编写的代码中?(“我从来没有想过可以使用递归下降处理那块的逻辑”)。

我如何改进这段代码?如果这是一个开源项目,你对自己的解决方案更有信心,那就去做吧!

【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】

以作者的风格编写代码。练习这个可以帮助你进入作者的思维,这可以提高你的同情心。

不要只是漫不经心地思考这些步骤。写下你自己的答案,无论是在个人日志、博客、审查代码的过程中,还是与其他开发人员交流的论坛中。就像向朋友解释问题可以帮助你解决问题一样,记录和分享你的分析可以帮助你理解为什么你会以一种特定的方式对别人的代码做出反应。这是我之前提到的自省的一部分,帮助你冷静地判断你自己的优点和缺点。

警告:在不需要成为一名优秀程序员的情况下,很容易阅读大量的代码,就像一个想要成为作家的人可以在不提高自己散文的情况下阅读伟大的文学作品一样。很多开发人员都在寻找开源或其他软件来“找到答案”,而且很可能是复制和粘贴代码来解决类似的问题。这样做实际上会让你成为一个更糟糕的程序员,因为你盲目地接受别人的智慧而不去审视它。(另外,它可能比夏季野餐还要麻烦,但因为你没有花时间去理解它,你永远不会意识到你就像是大自然的搬运工一样,只是在做体力劳动。)

6.不要把编写代码仅仅看作是任务

从事个人编程项目有很多优势。首先,它为你提供了一种学习工具以及学习技术的方法,而这些工具和技术在你当前的工作中是用不到的,但是这将使你在下一份工作中更有市场。无论你是为开源项目做贡献,还是为当地社区组织做公益工作,你都能获得技术技能和自信。(此外,你的个人项目向潜在雇主证明,你是一个从不停止学习的人。)

编写代码的另一个好处是它强迫你自己去解决问题。你不能把这些难啃的问题留给别人,所以它会让你过早地寻求帮助。

专业提示:不要只选择那些你永远不会失败的个人项目。你需要失败!但是你可能不想在工作中失败,或者给你限定期限时你也不想失败。

7.尽一切可能做到与其他开发人员面对面的工作

倾听别人的意见是很有帮助的。这可能意味着结对编程,或者参加黑客马拉松,或者加入一个编程用户组(比如Vermont Coders Connection)。当你为一个开源项目做贡献时,要关注一下你从用户和其他开发者得到的反馈意见。你在他们的批评中看到了什么共同点?

这样做你可能会很幸运地认识了一位可以完全信任的导师,无路是编码技术还是职业决策,你都可以完全信任他。所以不要浪费这些机会。

8.你是在学习技术,而不是在学如何使用工具

编程语言、工具和方法这些都只是一时的。这就是为什么需要你在这么多的语言和框架中尽可能多的获得经验。重点关注编程基础,因为基础永远不会改变;更关注体系结构而不是如何编程。如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。

我可以继续前进,但自我提升的关键原则是知道何时停止。

【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一位工作8年程序员的心得:小心这种思维正在慢慢地吞噬掉你的前程
不知不觉从事软件开发这个行业里有8多年了,这8年里,每天如同勤劳的蚂蚁般默默地搬砖。曾经年少不懂事,在学校里完成一个简单的在线考试系统,就天真以为自己可以独当一面,向世界说声,Hello World,于是乎搭上了程序员这趟列车。
一墨编程学习
2018/09/14
4350
一位工作8年程序员的心得:小心这种思维正在慢慢地吞噬掉你的前程
如何成为一名优秀的 Java 程序员
许多Java开发人员问我:"如何成为一个更好的程序员?" ,"我如何提高自己的编程技能?" 或者 "我擅长Java开发,但不擅长解决问题的技巧"等,这是大多数程序员的现状。 在这行有很多编程语言专家
开发者技术前线
2020/11/23
5870
如何成为一名优秀的 Java 程序员
成为更好程序员的8种途径
▲ 是时候开始认真考虑一下如何升级你的开发技术了。让我们来认真地学习一下吧。 给自己设定一个提高开发技术的目标很容易,但是“想成为一名伟大的程序员”却不是一个容易实现的目标。首先,说“我想变得更好”,是建立在你认识到“更好”的样子基础之上。另外,有太多的人追求进步而不知道如何去实现。 因此,让我分享八个可实际操作的指导方针,你可以把它们作为提高编程技能的流程图。这些智慧都是伴随着计算机35年的发展沉淀下来的。 1.时刻提醒自己:学习 学习某件事的第一步是承认你不知道。这听起来很正常,但经验丰富的程序员还记得
企鹅号小编
2018/01/16
6240
拥抱开源的程序员,凭什么能拿到更高的薪水?
上个月微软重金收购 GitHub 的消息宣布,在程序员群体里炸开了锅,开源技术一时成为技术搜索排行的热门讨论话题。 相比于以往,开源技术近年来愈发流行。在此趋势下,开源经验能为程序员的职业发展带来哪些筹码?国内的互联网企业如何看待开源技术?这些问题都值得深思。
一墨编程学习
2018/09/14
6960
如何成为一名优秀的程序员
本文章并非本人创作,是我在一个国外博客中偶然看到,当时在找为什么要读源码时偶然发现这个文章,觉得内容不错便翻译过来让大家看看,底部会有原文链接
Coder昊白
2023/11/23
2410
如何成为一名优秀的程序员
零基础却想做一个程序员,到底如何学习呢?
众所周知程序员是21世纪比较吃香的工作。程序员工资高还不需要和复杂的社会打交道。那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下。
一墨编程学习
2018/09/14
8060
零基础却想做一个程序员,到底如何学习呢?
8个方法让你成为更优秀的程序员
8个方法让你成为更优秀的程序员 现在是时候认真考虑提高你的编程技能了! 这是给自己设定的一个简单的职业生涯提升目标,但是“成为一个高薪程序员”不是一个简单的目标。一方面,“我要变得更优秀”意味着你知道
用户1289394
2018/02/27
5240
8个方法让你成为更优秀的程序员
程序员被聘用的13个开发技能
这些日子,开发人员掌握JavaScript总不会错。JavaScript能力是目前为止被高层执行人员和招聘人员誉为最频繁的追捧技能。JavaScript已被证明是当今市场中高度可移植和宝贵的技能。
一墨编程学习
2018/09/14
5640
程序员被聘用的13个开发技能
程序员:我的这一生!
那时候我二十郎当岁,正值青春年少,眉宇苍茫,中年人和老去仿佛是下一个世纪的事情(确实是),遥不可及。我时而在公园石凳上编写代码,时而去草沿天路调试程序,我觉得世上之事无所不可为。只有那些年近三十的老程序员,听到这个话题时,才会紧蹙双眉一言不发,仿佛他们看到了无边落木和滚滚长江。
一墨编程学习
2018/09/14
4350
程序员:我的这一生!
web前端知识体系大全,教你如何学习前端!
大约在几个月之前,让我看完了《webkit技术内幕》这本书的时候,突然有了一个想法。想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html、css、js)的认识——做web前端需要的比这三大块要多得多。
一墨编程学习
2018/09/14
6860
web前端知识体系大全,教你如何学习前端!
邱俊涛:如何成为一名优秀的程序员?
关于作者 邱俊涛,ThoughtWorks咨询师,著有《JavaScript核心概念及实践》,《轻量级Web应用开发》等技术书籍。 本文转载自:http://icodeit.org/2017/07/tips-for-newbies/ 0写在前面 作为一个从业快10年的程序员,我想给新入行的程序员一些建议。这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员。 简单归纳一下,总共有7条: 保持健康 编程之外的爱好 持续学习 正确应对犯错 不要囿于角色 展示你的创意 刻意练习手
用户1097444
2022/06/29
4660
邱俊涛:如何成为一名优秀的程序员?
程序员幽默:66条让你笑爆肚皮的程序员段子
1、程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。
一墨编程学习
2018/10/23
1.8K0
成为一名优秀的软件开发人员必须具备的技能
如果你已经在思考这个问题,证明你已经比团队中的其他人领先一步了,你知道要想在专业领域中获得长期发展,光有编程效率是不行的。 这里有七种技能,如果你能学会正确地使用它们,它们一定可以帮助你成为一名优秀的软件开发人员。
C语言中文社区
2022/05/31
7610
成为一名优秀的软件开发人员必须具备的技能
真的要做一辈子的程序员吗?来自10年程序员的心声
经常听一些同学说:不知道下一份工作该去哪类公司做些什么,我的职场人际一团糟老板不重视我,我现在成长的非常慢所以又想跳槽了,我看不到公司的发展前景好迷茫,其实这一切的困惑都来源于没有做好职业规划或者你根本就没有职业规划过。
一墨编程学习
2018/09/14
2.2K0
真的要做一辈子的程序员吗?来自10年程序员的心声
大龄程序员该何去何从?
很多程序员在工作 5-10 年以后,都会开始思考 5 年、10 年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛弃。
一墨编程学习
2018/09/14
7480
优秀程序员的10条黄金法则!
这是一条非常值得遵循的伟大原则。我很习惯于回过头去检查自己写下的代码,重构那些被多次使用的部分。虽然在将一个长方法分解为若干个短方法时,会遇到一些困难。Ctrl + R + M在Visual Studio中非常有用,可以帮助你重构代码为单独的方法。这使得代码更加可重用和可测试。
一墨编程学习
2018/09/14
3580
优秀程序员的10条黄金法则!
每个优秀程序员必须具备的技术技能
我特别支持软件开发者在他们掌握技术技能的同时去学习“软技能”——事实上,我写了一本关于这方面的书——但是不可否认的是:技术技能很重要。 我的意思是,如果你不能编写代码和开发软件,那么你学习众多软技能有
李海彬
2018/03/23
7690
每个优秀程序员必须具备的技术技能
如何成为一名成功的程序员
编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域。你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识。只是对编程感兴趣还不足以功成名就——众所周知,我们工作起来像疯子。 编程是一个没有极限的职业,所以要成为一个成功的程序员,你必须超越现有已存在的极限。在程序员职业生涯的开始阶段,他们将面临许多挑战,面对困境,他们之中有一些人将会放弃,而只有少数人会坚持到底,并成为这个领域的领头羊。 1.愿意学习新技术 随着技术的不断进步,我们学到和实施的技术会很快地过时。所以,作为一个程序员,你就需要更新你的技能,保
企鹅号小编
2018/02/28
7880
如何成为一名成功的程序员
闭包使用的3种情景
定义:通俗讲,闭包是函数里面再定义一个函数,里层函数能访问到外层函数的布局变量,也就是说闭包是一个能访问外层函数布局变量的函数。常用情景有以下3种。
一墨编程学习
2018/09/14
1.1K0
闭包使用的3种情景
【大牛经验】如何成为一名优秀的全栈工程师
如何成为一名优秀的全栈工程师 什么是全栈工程师 全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang)。他把全栈工程师定义为对性能影响有着深入理解的技术通才。自那以后全栈这个词便流行起来,我看到过的就有全栈工程师,全栈设计师,全栈运维,全栈市场营销人员等等。而在“拉钩”,“100Offer”等针对互联网人才的招聘网站上,全栈工程师更是一跃成为热门招聘职位,其薪资水平也比一般的开发工程师职位要高出一截。那么,什么是全栈工程师
Java帮帮
2018/03/19
1K0
相关推荐
一位工作8年程序员的心得:小心这种思维正在慢慢地吞噬掉你的前程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档