自我教育的效率


20

您认为在软件开发中接受自学是件好事吗?请举一个自己成功学习的例子。

Answers:


32

自我教育不仅是好的,而且对于想要成为高于平均水平的开发人员来说至关重要

对您的职业发展唯一负责的人是。当然,正规的教育,培训课程等可以帮助您,但总而言之,这是您的职业。

我很幸运能够从良好的教育中受益,而且我有好的雇主以各种不同的方式支持我的学习。但是,我从编程中学到的绝大多数知识都是通过阅读大量的知识和练习更多的东西而掌握的。


12

通常,您了解的越多,自我学习就越能成为自学事物的唯一有效方法。

当您刚刚开始时,课程就很棒,但是之后,随着课程以最慢的参与者的步伐前进,您在教室里待几天的报酬就会递减。一旦获得了合理的经验水平,您几乎永远不会拥有,因此您总是会浪费时间。

另一方面,自学可以使自己适应节奏。如果您很快得到一些东西,您可以浏览,如果您不了解它,可以回去再遍一遍。如果您认为某个主题无关紧要,则可以忽略它。

我自学了什么?就我从头学到的东西而言,它们是:HTML,ASP,VB.NET,JavaScript,LotusScript,一些Python,一些Java。

但是实际上,几乎所有有用的东西都是在工作中自学的。您可能会学习一门课程的基础知识,但是您真正学习它的地方是在使用它,所以我要说我所知道的95%(如果不是更多的话)是自学的。


研究生课程确实需要课程,但研究性较强的课程只需要很少的课程。相同的原则。
David Thornley 2010年

7

我已经成功地自己学习了.NET,C#,ASP.NET和ASP.NET MVC。

并不是有人会教我。

自我教育是程序员学习的核心。大学,同事们,当您需要它们时,它们都会为您提供提示和提示,但是您仍然必须自己学习更多的内容。通过这种方式,您可以学习书籍,博客,文章,文档,关于个人时间的实验。


5

自我学习涉及多个方面,第一个当然是独立学习,您可以在其中寻求知识并开始将其投入实际使用。这可能意味着要购买一些书籍,研究开放源代码,进行实验直到凌晨或通常是以上所有时间。

但是,在某个时候,您将需要一名或几名导师来指导您完成警告,艰难的话题,最佳实践和扎实的工程原理。一个高效的自学者将比迟早寻求这些指导者,并在尽可能多的经验丰富的人面前获得他/她的代码。

我没有上课就学习了BASIC,Pascal,C,PHP,基本的x86汇编程序,但这并不意味着我没有老师可以在需要时请教。因此,考虑到我从免费/开源社区中找到的导师那里学到了很多知识,..我很难说我自己自己学到了什么。

这种学习方法是唯一对我有用的方法,远远超出了编程的研究范围。


2
+1很高兴认识到别人也是如此学习!我倾向于学习一些东西,陷入困境,寻求帮助,然后重复。
Michael K 2010年

4

我认为我们一直都在学习这项工作。

当我从事Java / JSP项目时,我已经学会了Struts,Spring和许多其他开源Java框架,甚至自己使用了Tomcat。该公司不打算为此支付;)

现在,这些是我每天在工作中使用的技术。


2

关于这个问题的几个随机漫步。

正如其他所有人所说,随着职业的发展,您将必须进行大量的自学。但是,我没有真正看到的一件事是,现实是,如果没有相关领域的正规教育,尤其是在经济衰退时期,您将很难找到第一份工作。很多简历都经过“筛选台”,如果那里没有经过相关教育的内容,则很可能会被通过。如果您有很多相关经验,您可能会尖叫,但这取决于某人阅读您的履历的程度(不幸的是,在第一轮中,履历的可能性很小)。尚不清楚这是否适用于您,但我确定它是否适用于某人。

从(某种程度上)无关的角度来看,自学固然很棒,但是有时间去做(甚至更多)(我会说这更罕见)。我们都以某种方式适合它,但是如果您有机会每天花费一些时间来学习一些东西,那就抓住它并全力以赴。


1

德尔福 我在高中时就学习过Pascal,一旦看到IDE,就喜欢它,下载一些教程并开始学习。今天,继续学习过程。当您自学时,有好的部分和坏的部分:1)自学是最好的学习方法,因为您真的了解那里发生的事情(好部分)2)您可能会因误解某些东西/变坏而犯大错误。养成习惯,然后如果您以这种方式继续下去,很难纠正这个问题。

最好的问候,
Radu


1

您需要弄清楚不需要手握的点。您必须处于可以拾起书籍,查看帮助文件,查找教程等的位置,并学习工作所需的原理。

顺便说一句,您需要任何一项工作,而不仅仅是编程。自我学习的方式可能有所不同,但您必须这样做。


1

我在课堂上学习了大多数C / C ++知识,但是我所有的其他编程语言,我的所有理论,我的所有项目管理以及许多其他使我成为黑客的知识都是自学成才的。

正如其他人所说,我们行业的自我教育不仅是好事,而且是必要的。这不像做水管工或烤面包:技术总是在不断发展,我们必须与时俱进或变得无关紧要。

值得一问:这意味着什么?最好的黑客不仅是代码猴子,他们会吐出一些代码,我们还会花一些时间来学习大数据。算法,复杂性,语言设计等将一直伴随着我们,并为我们提供良好的服务,无论我们发现自己使用哪种语言,或者我们发现自己使用何种语言。我已经看到这种类型的黑客毫不费力地从技术行业的一部分跃升为完全不同的一部分。

太多的人认为“大局观”的概念超出了学术界之外的所有人的视野,我强烈不同意。当您花时间学习它们时,您会发现一些好的程序员已经直观地进行了练习,而其余的在您熟悉它们之后才有意义。


1

除非您有一个慷慨的捐助者愿意一次又一次地支持正式培训,否则自我教育是必要的。我不得不在教室外面自己学习很多东西,以列举一些更大的东西:

  • ASP和ASP.Net是我在工作中必须学习的东西,因为我想工作的地方是要使用这些东西来重写新站点,因此我不得不自己动手而不是在课堂上学习。

  • IIS和MS-SQL Server是我需要了解的另外两件事,因此我会说我在这里自学成才。虽然我确实有同事可以帮助我解决问题,但我的事业刚起步时却又回到了我的脑海。

  • 几年前,AJAX就是这样。现在,我在研究框架并尝试将其带入Microsoft ASP.Net AJAX推出之前的工作中就学到了这项工作。

同时,仅进行自我教育可能会很危险,因为并非每个人都希望以此方式做所有事情。对于某些人来说,他们可能想要更多的结构,而不是在通过学习某些东西来驱动自己的道路上那么独立。


0

@Kramii是正确的;程序员在整个职业生涯中必须进行自我教育

问:我自己成功学到了什么?

答:一切

教学是神话;老师只能提供信息,学生必须听取并决定是否学习以及学习什么。老师只能告诉你道路。换句话说,所有教育从根本上是自我教育

现在,如果您的意思是“您在课堂外学到了什么有用的东西”,我的回答是

答:几乎所有

因为当我在学校的时候,大学在授课方面通常落后市场12-15年。例如,白天大学在使用PL / 1向我“教学”过程编程,而在晚上,我在Assembly中编写了一种面向对象的编程语言。

从那时起,书籍和Google是我的老师。


差距变得越来越小。许多人争夺CS教职,因此他们努力教授相关课程。虽然,麻省理工学院(MIT)在Scheme上经历了一段时间。无论如何,公司也可能脱离联系。尽管学校不再真正教Cobol,但一些公司仍在使用它。
工作

@工作:有些学校的差距已经缩小。仍然有很多程序员从所谓的“ java”学校中毕业。这些学校根本不教授先进/最新的技术。从我所见,他们甚至还没有很好地教授Java编程。
Steven A. Lowe 2010年

嗯……这导致了长达数十年的关于理论和实践课的正确混合的争论。有些人会抱怨定理不够多;其他人(可能是大多数人)会抱怨说他们学校没有关于iPhone开发的课程。
工作

@Job顶尖大学几乎没有教授任何特定的行业软件,他们坚持理论和通用知识,并假设他们的学生足够聪明,可以独立选择工具和最佳实践。
2010年

0

显然,所有答案都同意自我教育就是一切。我认为那不是完全正确的。一个好的老师可以教给你很多东西,尤其是可以很快地教你。显然,在某些时候,您必须亲自处理问题,然后开始研究,阅读,尝试。甚至一本书都是由某人(老师)写的,并试图教给您一些东西。同一个人可能会站在房间里,回答所有问题,而不是使您浪费时间进行搜索。另一方面,将头撞在墙上搜索和敲打,将使所学到的教训非常有价值,而且不太可能被忘记。

我认为特别是对于开始一门新科目的老师非常非常非常有帮助。那些热衷于自我教育的人应该在没有维基百科,没有堆栈溢出,没有书和博客的情况下进行自我教育;-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.