成为自学成才的程序员是一件坏事吗? 取决于教学质量…

我是一个自学成才的程序员。

我在那里说了。 我可以从这里听到你的叹息。 是的,我可以看到您向后摇头。 您之前看过太多次了。 您确切地知道自学的程序员是什么样的。

自学成才的程序员缺乏对体系结构和设计模式的认识。 自学成才的程序员可以使它正常工作并停止运行,从而留下难以维护的混乱局面。 更糟糕的是-因为它“有效”-自学成才的程序员不知道自己不知道。 他们只是假设所有软件都是这样。

而且你是对的。

反正太频繁了。 许多自学成才的程序员就是这样。 但不总是。 而且他们不必如此。

我不是从程序员开始的。 反正不是为了钱。 一直是一种爱好,是一种背景兴趣。 而且因为我只是在逗自己,所以如果我不想的话,我不必担心所有无聊的事情。

但是后来我开始在日常工作中进行编码。

我是精算师。 (对于那些不知道这意味着要对不确定的事物(例如预期寿命)进行财务建模并获得大量统计数据)。

因为我们作为一个职业最终承认我们生活在21世纪,所以精算建模是通过计算机完成的。 糟糕的是-大多数时候-但这是另一天的文章。

但是,尽管我尽了最大的努力,但随着时间的流逝,我发现自己对那些要么承担大量编程工作,或者可以通过系统化进行大规模改进的项目感到迷恋。

现在,我管理着一个小团队,为一家英国大型保险公司开发和维护内部经验分析应用程序。 我同时管理软件开发人员和精算师类型。 精算类型通常是自学成才的程序员(除其他外)。

所以我明白了。

自学成才的程序员通常会有一些盲点,而这些盲点本来可以由围绕软件工程教育的优秀人才所填补。

但是,现在我知道有些具有学位的程序员存在盲点,而这些盲点本可以由围绕软件工程教育的优秀人才所填补。

我到现在已经足够长的时间被两个人都烧死了。

优秀的自学程序员与劣质的程序员有什么区别? 区分好程序员和坏程序员的相同之处。

Artem Sapegin的Unsplash上​​的“带有代码行的笔记本电脑屏幕的特写”

一个好的程序员:

  1. 知道他们并不了解一切。
  2. 知道在哪里寻找-在当今的Google和stackoverflow中要容易得多。
  3. 知道除了最琐碎的问题之外,还有不止一种解决方案,值得一听其他观点。
  4. 知道有纪律的发展很重要
  5. 知道如何以及为什么使用交易工具(版本控制,IDE,构建工具)
  6. 关心质量
  7. 最重要的是-永不停止学习

最后一点是自学成才的程序员可以脱颖而出的地方。 边走边学正是自学成才的程序员的工作方式。

在Google的这个时代,它只需要两件事:

  • 正确的方法-没有自我,成长心态和
  • 对编码工作有一定的天赋。

有了这些,自学成才的程序员就可以在互联网上获得世界上最好的教育。 特别是如果您将其与在线或工作中经验丰富的同行的代码审查结合在一起。

那么,为什么每个人都这样做而不是花钱买大学呢? 因为这并不容易。 它需要成熟,动力和一定的心态。 这需要工作。 从来没有给过你一个机会。 它并不能为您提供就业市场的自动空缺。

那为什么呢?

唯一有意义的原因。 这样做,以便您可以做到并做得很好。 对于最好的程序员来说,这才是最重要的。

艾维·理查兹(Avi Richards)在《 Unsplash》上发表的文章“一个年轻人在日落时坐在城市壁架上的笔记本电脑上工作”

最后,这与自学或大学认可无关。 这是关于每天学习。 因为如果您知道您不知道,并且您知道该去哪里查找,那么您将学习。 最终,无论您如何发展,您都将成为一名优秀的程序员。

这才是最重要的。