资讯专栏INFORMATION COLUMN

自我怀疑的开发者:你够好吗?

qc1iu / 3040人阅读

摘要:你在想也许我不想成为一个开发者如果任何这些自我怀疑的想法,你听起来都很熟悉。搜索自我怀疑的开发者,你会在不到一秒钟内得到超过的结果。我和现在的你一样担心自己不够好。假如下一次你又被卡住了,别再浪费时间自我怀疑了。

作者:Sihui Huang

译者:承香墨影

我想每个开发者在学习成长的过程中,在面临技术难题的时候,都有经历过自我怀疑的过程,但是有时候这并不是你的错,大家都经历过如此的过程。我们作为一个开发者,在成长的过程中,总有一些小的胜利和小的沮丧,学着为自己喝彩吧。

以下任何一个,是不是听起来都很熟悉?

你经常担心自己不够好。

看看你周围的开发者们,他们似乎拥有一切。他们的代码比你的更简洁,他们 Debug 的速度比你更快,他们只需要在编码之前阅读文档就可以很顺利的继续编码。他们看起来很有信心,也对编码富有热情。

但是,你很担心。你担心你对框架和所使用的语言不够了解,你担心会引入新的错误;你担心赶不上最热门的技术;你担心你没有足够的才能,来自然而言的得到这一切。你在想:“也许我不想成为一个开发者!”

如果任何这些自我怀疑的想法,你听起来都很熟悉。那么实际上,你并不孤单。Google 搜索 “self-doubt developers”(自我怀疑的开发者),你会在不到一秒钟内得到超过 200w 的结果。

我就是你

有一段时间,我也经历了强烈的自我怀疑。这是在大学时期,我正在复习和准备面试的时候发生的。这些算法问题每天都让我感觉到彻底的被打败了。我和现在的你一样担心自己不够好。

最终,我通过实践得到了回报,我收到了来自知名科技公司的多份 offer 。一路走来,我学到了两个重要的课程,改变了对我编程的看法,消除了我自我怀疑的想法。

我现在和你分享,希望它们也能帮助到你。

第一课:学习编程和锻炼肌肉一样

为了学习如何踢球,你需要去球场上踢球;为了锻炼出更强壮的肌肉,你需要去健身房举重;想要学习编程,你需要坐下来编写代码。

举重后,第二天你会感到酸痛和疲惫。而当遇到编程难题的时候,这会是非常烧脑的,你将会感到沮丧。

你不会因为疼痛而放弃锻炼,你知道这是锻炼过程的一部分。但是当你在编程的时候卡住的时候,你可能会怀疑自己,想知道自己是否足够聪明。

因为:

你认为卡住是你的错。

而其他人使它看起来毫不费力。

1、卡住是过程的一部分

也许没有人告诉过你,但在编程期间卡住是绝对正常的,它甚至发生在高级开发者身上。编程的很大一部分是要弄清楚为什么你预期发生的事情没有发生。如果你觉得,孩子第一次站起来的时候能够走路是荒谬的,为什么你会希望你的代码的第一稿能够完美运行而没有任何错误?

我记得当我被卡住了很长时间的时候,我想把我的头撞在墙上。我知道这很难过和令人沮丧(特别是在处理与开发环境有关的问题时)。但是就是挂在了这里。深入研究这个问题、借助 Google、问一些朋友、散步。你最终会解决它,并继续前进。而且随着你获得更多的经验,你会慢慢地陷入困境。

假如下一次你又被卡住了,别再浪费时间自我怀疑了。你应该提醒自己,这不是你的错。这是正常的。这只是过程的一部分。

如果你是初学者,花费数天时间来建立开发环境是非常普遍的,这些时刻可能会粉碎你的灵魂。你尝试按照文档一步一步向下执行,但随机的错误不断出现在每一个步骤中。文档看起来很简单,但事实并非如此。这不是你的错。阅读该教程的人中有 99.99% 卡住了。其余的 0.01% 是幸运的,恰好与编写文档的人具有完全相同的操作系统环境配置。

不幸的是,学习编程的第一步也是最令人沮丧和心灵破碎的部分。当你看到你无法理解的错误时,只需将确切的错误日志复制并 Google 搜索即可。(把错误日志加上引号或只搜索错误日志的前半部分可能会有帮助。)尝试不同的解决方案,直到找到可用的解决方案,然后继续下一步。

请原谅我再次强调:在这个阶段卡住不是你的错。大家都这样做。我保证,一旦你经历了这个阶段,编程将会变得更加有趣。

2、我们把"天生聪明"和"显得聪明"混为一谈

在大学的最后一个学期,我的朋友们对我在《高级数据结构和算法》课上的表现感到惊讶。当他们很辛苦的学习时,我看起来毫不费力。

他们不知道的是,在课前几个月,为了准备面试,我花了数小时练习编码挑战,涵盖了与课程完全相同的课题:动态编程,深度优先算法,广度优先算法等。它似乎毫不费力,只是因为我已经经历过这些努力的过程。

当我第一次自学这些概念的时候,我会花上好几个小时的时间来盯着一个问题,而且无法弄清楚它。当我放弃并在网上查找解决方案时,我努力去理解它们。当我终于做到的时候,我感到更加沮丧,因为我怀疑自己是否足够聪明,为什么自己想不出这样的解决方案。

有时甚至当我再次遇到同样的问题时,我可能仍然不知道如何解决它。我会这么强调,我不得不采取长时间的热水淋浴来让自己冷静下来。

所以,当我说我知道自己怀疑自己,担心自己做不到的时候,相信我。我以前也是这样。我可以向你保证,你并不孤单,许多伟大的开发者也经历过同样的事情。

下一次当你身边的人表现出众的时候,而你正在辛苦挣扎,不要以为是你没有足够的才能。很可能,他们只是比你更早地接触到这个主题或类似的主题。他们的大脑已经建立了“肌肉”来处理这种类型的问题。在经历了目前的挣扎之后,你也会显得聪明而轻松。

这和我们的常识一样。

你通过锻炼来锻炼肌肉。你投入的努力越多,训练的时间越长,你的能力就越强。学习编程有完全相同的过程。你花费的时间越多,你就会越熟练。种瓜得瓜,种豆得豆。

第二课:关注你的技术能力,而不是自己

不要想着你是一个多么优秀或者多么差劲的程序员。如果你处于队伍的最后 5%,你想变得更好。如果你有幸进入前 5%,你仍然想变得更好。无论你有多好或多坏,总有人在你面前,同时在你背后也有人。那么为什么浪费时间思考这个问题呢?

相反,专注于你的技术能力。别再问你有多好、问你的代码有多好。你应该思考,如何使它更好,更快,更可读?长期关注那些让你钦佩的工程师,阅读他们的代码,看看和你的有什么不同?他们最近又正在研究什么新玩意儿?

如果您已经是一名软件工程师,则有人会付钱给您编写代码。你应该停下来反思一下,因为这意味着很多:有人要么相信你的编码技巧,要么看到你的潜力。要做到这一点,唯一的办法就是把注意力集中在你的技术能力上,不断地改进。

记录你的小胜利!

你最后一次被卡住了,不确定自己是否能解决问题。而最终,你是如何解决的?

打开一个新的 Google 文档并将它记录下来。

下一次你怀疑自己的时候,看看这个文档,并提醒你自己:如果你能解决上次的问题,你也将解决这个问题。

使用该文档来记录你克服的挑战性问题的过程以及你从中学到的东西,总是庆祝这些小胜利,用这些小胜利来激励自己!

如果你看完这篇文字,留下评论,分享上次被卡住的时刻,提醒那些正在挣扎的人,他们并不孤单。

原文地址:

https://medium.freecodecamp.o...

今天在承香墨影公众号的后台,回复『成长』。我会送你一些我整理的学习资料,包含:Android反编译、算法、设计模式、虚拟机、Linux、Kotlin、Python、爬虫、Web项目源码。

推荐阅读:

站在Android开发的角度,聊聊Airbnb的Lottie

Kotlin 一个好用的新功能:Parcelize !干掉序列化的模板代码

找了一天找不到 Bug ? 试试 Git 的二分法吧!!!

如何更精准的在 Github 上搜索开源库?你需要这些技巧!

手写你的第一个 Dalvik 版的 HelloWorld !

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14163.html

相关文章

  • 选择一种适合你学习方式入门前端

    摘要:对于自学前端者如果没有合适的引导,学习的正确性及自我鼓励很容易陷入全过程的迷茫以及没信心。合理的方法,正确的心态,努力的学习,正确的指引,完全可以在三个月内完成前端的高姿态入门,高工资从业加油 对于前端入行现在大概有这么几种:1.大学里修前端课程,2.查资料看视频自学前端,3.参加前端培训。 对于这三种学习方式,自学前端是属于最难的一种,咱们先简单的说一下另外两种方式,然后我再着重说下...

    meteor199 评论0 收藏0
  • 寒冬中,中级Android成功跳槽面经

    摘要:在历时半个月,面试失败了次以后,我拿到了满意的,薪资同比增长不止。一定要明确目标公司的类型,目的为导向。合适的着装,对面试官保持尊敬。所在的公司真的是面过的公司中规模待遇最好的。不要因为被拒绝而怀疑自己,最好的在后面。在历时半个月,面试失败了9次以后,我拿到了满意的Offer,薪资同比增长50%不止。 来北京已经一年多了,因为在老东家没有太重的开发压力,让我有更多的时间去学习Android的...

    waruqi 评论0 收藏0
  • 切图崽自我修养-规范CSS元素命名

    摘要:目前为止,这个命名已经可以打分,离满分存在的差距在哪里如果一律采取驼峰命名,在从属关系的可读性上,稍微差了一点,来比较一下这两个命名的可读性和明显采取驼峰匈牙利命名的方式可读性更强。 前言 为什么我刚才写的样式乱了?! 如何给变量,文件命名是程序员的老大难问题。命名为什么会这么难,因为它太重要了。可以这么说,准确的命名可以提高代码的可读性,让人容易理解,方便调试,也给以后修改和维护你的...

    mozillazg 评论0 收藏0
  • IE你够了!CSS选择器

    摘要:但是,我们必须要把心头的痛体会清楚了解对选择器的支持,在时,根据需求来使用。额,首先,是不支持属性选择器的,但的都支持问什么是属性选择器属性选择器长这样。 做一个用CSS能随心所欲对DOM操作的前端工程师吧。但是,我们必须要把心头的痛体会清楚!了解IE对CSS选择器的支持,在psd2html时,根据需求来使用。 IE6 额,首先,IE6是不支持属性选择器的,但>=IE6的IE都支持...

    keithyau 评论0 收藏0
  • 一次关于bug自我否定

    摘要:案例挺简单,但是改过程有些曲折,在此分享一下在改过程中的自我怀疑自我否定直到曲径通幽的心路历程。首先来到我脑海的原因是自执行函数的执行顺序,是否有异步一说。这个问题其实是一个小问题导致的,无关乎技巧。 最近在学习JavaScript中的闭包,涉及到其中一个案例,想着改写一下。案例挺简单,但是改bug过程有些曲折,在此分享一下在改bug过程中的自我怀疑自我否定直到曲径通幽的心路历程。需求...

    levy9527 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<