it-swarm.cn

我是一个不好的程序员,还是每个人都有这种感觉?

我倾向于很快地理解事物,但是用Python进行了2年编程之后,我仍然偶然发现令我惊讶的事物(例如今天的Flask)。我看着代码,不知道发生了什么,然后感到非常谦虚。每当发生这种情况时,直到发生之前,我都感觉像是一位绝对的专家。然后,在大约2周的时间里,我感觉自己像个初学者。

这是否经常发生,或者它表明在我什至被认为是“好”程序员之前,我还有很多东西要学习?

77
orokusaki

我称之为“新鲜人感觉”。当其他人似乎都在一起,走得更快,知道校园里的所有建筑物,没有挣扎时,等等。在编程时,我迷失了方向,不自在,不确定我是否会按时完成任务-这是恐惧。

当我承认恐惧是什么,然后忽略它,潜入并开始学习时,这种感觉就消失了-一次一次地解决每个问题。

事情是,现在,我用它来衡量我何时真正学习。如果我不时有这种感觉,我知道我没有前进-我停滞不前。

工作中的程序员之一就是这样的座右铭:“舒适就是敌人”。

如果您想变得更好,那么您所谈论的那种感觉可以成为您最好的朋友。

67
codeyoung

在您的整个职业生涯中,您将永远,永远,永远,永远,永远处于这样一个位置,即您只需查看一下即可立即了解每种编程技术。那里太多了。数十年来,它积累了数百万个人的研究和知识。如果您发现自己当时处于这种状态,请找治疗师讨论自己的妄想。

您最需要的特征是学习的能力和意愿。如果您拥有,那将是无处不在的。

73
GrandmasterB

不,这不是不良程序员的迹象。您应该一直在学习,并且通常应该假定对于给定的主题还有别的东西要学习。

糟糕的程序员是认为自己已经知道最好的方法来完成所有事情的人,并且不愿意学习一些东西。

32
Kirk Broadhurst

作为一名程序员,我一直要学习的东西就是一个常数。听起来陈词滥调,但这是事实。

这并不是说我一直都不feel,即使是现在,就像我已经学会了生活中的大部分知识一样。问题是,我觉得去年-现在回想一下,那时我显然还有很多东西要学习。前一年和前一年相同。

您一直在学习-将自己暴露于非常好的代码中,而开发人员则是一种提醒自己的好方法。

10
Fishtoaster

有一个学习模型,您可以经历四个阶段:

  1. 不知不觉中无能:您不知道自己不知道。
  2. 自觉无能:您知道您不知道。
  3. 自觉胜任:您知道您知道。
  4. 不知不觉中胜任:您不知道您知道什么。

显然,级别1是一个问题,但这是每个人都开始但很快就离开的地方。随着学习的发展,直到达到第4级的水平。使用现有平台上的另一个模块或库之类的东西,您不可避免地会滑回1或2(希望是2)。这是正常

(顺便说一句,第4阶段可能是一个问题,太容易导致无法跟上最新技术。)

9
Richard

漫步图书馆。如果它没有让您感到非常非常小,那么您就不会得到它。如果您想用书呆子说话,那全都是关于派生的知识,而不是知识的实际数量。尽管您也不应过度学习,但对自己所学的知识要比对所知道的要好。学到了一些东西is一项成就,就是您永远无法认为它是完整的。

顺便说一句,两年经验不多。尽管我很幸运能获得这些机会,但在大学毕业之前(不算上课),我的经验比这还多。

7
Randall Schulz

我已经断断续续地编写代码已有20多年了,有时候我认为自己对技能和专长无懈可击,但是我发现总会有更好的人。您需要牢记的是,有许多人也比您更糟糕,更糟糕。软件工程不是一个静态领域,一直在开发新的方法,技术甚至语言,因此不可能跟上所有这些。

通常让我坐着的事情,对我刚打开的一些新代码感到mb目结舌的是编码风格。通常,这是程序员对问题空间的适应程度的函数,根据我的经验,对更多抽象代码的适应程度越高。如果您确实打开了一段代码,但并没有进入理解的范围,那么请不要坐立不安,坐下来,仔细阅读,做笔记(是,在纸上),然后手动遍历代码(如果有时间的话) 。理解就会来临,您需要了解它才能使您成为一名优秀的程序员! :)

4
Lazarus

这种用法发生在我身上。然后它停止了。不是因为我停止了进步并且没有看困难的代码,而是因为我最终变得非常优秀。这对于我来说是C++中使用的。 Boost(源代码)并没有吓到我。

1
user2528

我不知道您是否是一个不好的程序员,但我认为自己是一个好的程序员:D,即使我也不是一无所知。对我来说,好的和坏的程序员的区别是完成工作的能力和方法。如果我有一个BASICA pgrammer,谁可以及时构建我需要的应用程序并运行良好,并且能够维护他的代码库以根据请求进行合理的更改,那么我什至将他/她视为一个优秀的程序员。他/她只知道BASICA,一无所知。

但是,对程序员来说,谦虚也是一件好事-这个职业一直需要不断学习。

1
tia