我16岁。大约一年前,我刚开始读高中时就开始编程。我正在从事编程工作,并且正在尽我最大的努力去学习。刚开始的时候,我从书中学习了C ++的基础知识,从那时开始我自己学习东西。如今,我比一年前经验丰富。我知道我必须自己学习,因为高中不会(可能)教给我关于编程的任何有价值的东西,而且我想做好准备。
这里的问题是:自己学习编程有多重要?
我16岁。大约一年前,我刚开始读高中时就开始编程。我正在从事编程工作,并且正在尽我最大的努力去学习。刚开始的时候,我从书中学习了C ++的基础知识,从那时开始我自己学习东西。如今,我比一年前经验丰富。我知道我必须自己学习,因为高中不会(可能)教给我关于编程的任何有价值的东西,而且我想做好准备。
这里的问题是:自己学习编程有多重要?
Answers:
至关重要 我认为我从没有认识过一个在某种程度上没有自学成才的优秀程序员。作为一家大公司的招聘经理,我可以说描述个人项目和学习欲望的候选人每次都会以令人印象深刻的学位胜过一个。(尽管最好同时拥有两者。)
关于大学的事情是:计算机科学课程教授理论,而不是技术。他们将教您哈希表与B树之间的区别,以及操作系统工作原理的基础。他们通常不会教您计算机语言,操作系统或其他技术。
我记得当我参加第一门数据结构课程时,时光飞逝,我们获得了一种名为“ C ++”的新语言的精简手册,他们决定开始学习。我们花了两个星期的时间来整理代码。这本身就是一个很好的教训。这就是您职业发展的方向。
您的学校很可能不会教您获得良好工作所需的知识。多年来,学校经常落后于该行业的热点。然后,您将获得一份工作。无论您去哪家公司,几乎都肯定不会花费任何精力来培训您。不好的公司太便宜了,坦率地说,好的公司只会雇用足够聪明的人去接他们。
我于1987年大学毕业。我以C程序员的身份去从事DOS,NetBIOS和“ Terminate-and-Stay-Resident”程序的工作。从那以后的几年中,我几乎没有接受过任何实际的培训。看看招聘广告...这些技能的要求不高!我今天受雇的唯一原因是因为我花了这几年的时间不断学习。要成功成为一名工程师,您必须养成学习的习惯。地狱,我将不止于此:您必须热爱学习。您必须是那种喜欢WebGL或Android或iOS的人,因为它看起来很有趣。如果您是那种人,并且保持学习的习惯,那么您将在行业中走得很远。
自我教学非常重要。您不能依靠正规的教育来教给您有关该领域的所有知识。但是,如果您想进入经过充分准备和装备精良的职业领域,接受正规教育也非常重要。
我正在上大学,过去四年来自学软件开发,因此,我现在为一家维护企业应用程序的知名公司工作。它不需要大量的人才,但是却需要大量的工作和动力。我认为文学和实践是您学习的最佳选择。选择一个特定领域也很重要,因为尽管您可以跨所有领域传播语言和逻辑,但是只有在特定领域进行了充分的实践和理解后,您才能真正成为“伟大”。
在编程中,自学是您每天要做的事情。您将必须自学很多东西,而不仅仅是不断变化的计算机语言和工具。您将必须学习其他人编写的代码,并且还必须在最少的指导和监督下进行修复。在某些组织中,很少每年进行超过1次(如果有的话)的真正培训。确保您可以(并享受)这项工作,否则,在您还年轻的时候就考虑换一份职业。
对于程序员来说,自我指导是必不可少的技能。太多没有。如果您表现良好,则将在整个职业生涯中使用此技能。
一个人要在任何给定领域变得出色,至少需要十年的实践。因此,尽早开始很重要。
您从生命的早期开始就开始做自己似乎喜欢的事情,这一事实使您遥遥领先。因此,除非您对将要工作的区域有其他想法,否则请不要停止……永远不要停止!
我认为自我学习是任何开发人员的最佳技能之一,第二是大学学位。优秀的大学学位很重要,因为它会为您的知识增加太多的质量,而您可能无法自己学习。当然,该规则也有例外,仅此而已。例外。
此外,您越早积累经验,就越能享受大学学习,也可以更好地吸收呈现给您的新概念。起初,您会发现这一切都那么简单和毫无意义,但是很快您就会感到挑战,并渴望学习更多。
大学毕业后,请不要停止学习,因为这将是您的最佳功能之一。我建议阅读“人才被高估”。您可以查看有关该书的这篇快速文章:
您需要自己学习新事物-随心所欲。
也要接受正规教育-正规教育中所教的90%不会在工作场所使用。但是,所用的10%将会是您当时认为永远不会有任何用处的一些奇怪而晦涩的事物。
没有正规的教育,您将遭受最形容为“您不知道不知道”的问题。正式的教育可以使您广泛地了解很多事情,而这是完全没有人会出去使用所有这些知识的。因为您将要使用的东西是直到您需要时才知道的,所以这一切都是关于准备,以便您知道要去哪里寻找。
自我学习/好奇心驱使您成为知识渊博,全面发展的人。更不用说对雇主更有价值了。
旁注:自从开始从事大约15岁(编程,超过25年...接近30年)编程以来,我已经度过了整个职业生涯,发现除了大学教育之外,大多数培训课程(您知道...在3个全日制工作)是毫无用处的。这些通常是肤浅的,就广受吹捧的“保持技能发展”的口头禅而言,对于需要深入了解技术细节的人并没有太大帮助。购买书籍,使用互联网,研究数学/物理/建筑/任何使我有用和有价值的东西。在某个阶段,我是世界上大约10个人中具有特定专业知识的人之一-所有这些知识都是通过自学和在职学习获得的。
停止学习的唯一时间是当您在松树箱中不到6英尺时。
有一个很好的寓言:
年度世界锦标赛在不列颠哥伦比亚举行。决赛入围者是加拿大人和挪威人。
他们的任务如下。他们每个人都是森林的某个部分。获奖者是可以从上午8点到下午4点最多砍倒树木的人。
八点钟,哨声响起,两名wood夫就位。他们砍掉了树后的一棵树,而加拿大人没有听说挪威人停下来。加拿大意识到这是他的机会,因此加倍努力。
加拿大人九点钟听说挪威人再次上班。再说一次,当十到十名加拿大人听说挪威人再次停下来时,他们几乎同时工作。加拿大人又一次去工作,想利用敌人的弱点。
在挪威语十点钟重新进入工作。直到十点到十一点,他暂时没有被打扰。随着越来越高涨的欢愉感,加拿大人继续以同样的节奏工作,已经感受到了胜利的味道。
它持续了一整天。挪威人每个小时都待十分钟,而加拿大人则继续工作。当您得知比赛即将结束时,即下午四点,加拿大人就可以肯定奖杯在他的口袋里了。
您可以想象他得知自己输了后会感到惊讶。
那是怎么发生的?-他问挪威人。-每隔一个小时,我听到你停了十分钟。像,该死,你砍的木头比我还多?是不可能的。
实际上,一切都很简单-只是挪威语。-每小时我停十分钟。当您继续砍木头时,我正在磨斧头。
因此,您应该一直学习以保持斧头锋利。
自我教学非常重要,原因有两个:
通过自己尝试并学习其工作原理,我大概了解了95%以上的编程知识。学校可以帮助教授良好的编程风格和优化代码以提高速度等,但是您永远不会仅通过阅读教科书就成为“优秀”的程序员。培养编程技能的一种好方法是找到可以使用计算机解决的日常问题,并尝试编写一些代码以完成任务。陷入困境是学习的一部分。我最初是想成为一名Web开发人员,所以我会经常创建虚拟网站(不托管它们或其他任何东西)来测试我想尝试的新事物。对我来说效果很好!
我2年前开始编程。我的学校不能很好地教授这些语言,因此我必须上网进行自我研究。我的学习速度较慢,因此我花了两年的时间编写了我的第一个程序,而我的所有同学仍在努力学习或放弃编程。
这表明程序员自学而不是依赖学校是更好的选择。学校总是会隐藏信息,因为他们认为我们还没有做好准备。
与数学和计算机科学一样,有两种观点:1.必要条件和2.足够条件