跳转到主要内容
半截烟头 提交于 11 August 2014

初学者学习程序设计的最佳方法

Joaquin Lippincott, 总裁兼投资人

翻译:半截烟头

翻译任务认领地址:http://drupalchina.cn/node/3207

原文地址:http://www.metaltoad.com/blog/best-way-learn-programming-beginners

学者学习程序设计的最佳方法是什么?在过去的12个月里我花了很多时间在思考这个问题,在这期间我们的公司也在稳步成长,从19个人发展到现在的39个人。我曾认真思考过究竟是什么在那些已经入门的人和不得其门而入甚而排斥的人,以及那还在努力奋斗的人之间造成了这些不同。自从我发表了一篇名为“如何成为一个网页开发者”的博客以来,就有许多人时常向我问起这个很基础的问题。在此我愿意分享一下我的思考和观察。

一个检测能否成功的测试?

关于是否真的能够通过一个测试就能检测出你有没有程序设计的天赋的观点,已经有太多的争论了。这个争论的结果是人们真的花了至少45年来试图验证这个(这儿有一个IBM公司开始自1969年的程序设计天赋测试)。但是到目前为止的结论如何呢?没有人能够创建这样一个测试!一个值得关注的地方就是,在一个专业程序员的职业生涯中,相对于他所完成的那些较少的工作量而言,他更多的是纠结和考虑于如何成功。

时间之鞍

许多人都知道“10000小时精通”,这个广泛推广的马尔科姆·格拉德威尔离群。让我们把“精通”替换为“专业能力”,一个星期40小时,10000小时就是至少要4.8年。你也可以解释这意味着要给你4.8年时间做程序设计技术方面的工作或培训,你才能达到一个令人尊敬的能力水平。这确实让人感觉貌似是正确的,但还是值得去检验一下你到底精通到了什么程度。它也适用于程序设计吗?java?PHP?Drupal?或者在Drupal里创建一个专业定制的视图?很显然,在一个快速变化着的网页设计世界和一个永恒技巧如演奏钢琴(尽管在钢琴专业里一个流派有一个规范)之间,有着很明显的差别。

如果你依然遵从在程序设计界时间就是成功的答案这个含义,很容易就会明白投入更多时间,你就会吸收的更快。拿40小时来举例,改为一星期工作80小时,这样你仅需要2.4年就可以精通了。但据我所看到的,有大量关于这方面的事实,那些取得快速提升的人,不仅仅是投入更多的时间,而是管理更多的时间去做正确的事。

更好的工具(和代码)

布雷·维克多曾在“学习型程序设计”发表多个重要的主题,呼吁重视本行业如何教学编程,并假设了一些我们的工具可以如何显著改善以帮助人们更容易学习编程的一些奇妙想法。一个关于当前我们的工具集的可取并能够(也应该)被应用的核心观点就是:程序设计和代码应该能够被人们所理解。

这个理念体系是带领人们进入我们这个行业的基本原则,并显著影响着人们编写代码和注释。更多行的代码和描述性变量名不再是敌人 -- 惛钝的代码让人类自己都难于解析。

抓住22

网页开发和程序设计领域就一般而言确实太大而且还不断成长。需求每天都在更快速地增长,因为更多成立的公司认识到了移动计算的增殖和现存老旧基础设施所提供的机会,同时,新创公司也创造着新的市场--所有与程序设计人才的需求永无止境。这些都不仅仅是工作机会,而是高报酬,高福利!所有想要开始进入这个领域的人们所需要的就是……经验。

这个与你有机会成为一个程序员之前的成功轨迹相矛盾的需求,并结合现代程序设计教育的严重真空,这不仅仅是那些想加入这个行业的个人,也是行业本身,所面对的一个最大的挑战。

职业白领学校

然而肯定有一个地方可以在线学习程序设计,工具的当前状态意味着人际学习显著提高效率。这确实是真的,因为在专业领域所需要的特殊技能超越语言的流畅性,而进入到了版本控制,自我质量保证训练和沟通领域。任何一个花费大量时间编程的程序员都能告诉你,他可能需要花上几天或是几周的时间所做的努力,在得到正确的同行的咨询后,也许只需要几分钟就够了。

加入职业白领学校。我所看到的越来越广受欢迎和认可的模式是:2到4个月的人际,全日制课程,并组织课堂的学生一起学习编程。这个模式跟职业烹饪学校很相似,但有趣的是程序设计学校的成本和时间似乎显著减少了。有统计显示开发人员的现行平均工资几乎是厨师的两倍,这是一个简单的数学问题(但如果你喜欢做饭,那就继续走你的厨师路线吧)。

在这里,俄勒冈州波特兰市,已经有两所这样的学校:Portland Code SchoolEpicodus。每一个都有它自己的课程和费用,为潜在的学员在行业和需求上给予永不停止的推动和提高,尽管在我们这个小城市已经够用,但还是会增加一到两个甚至更多技术技能方面的细微差别。

我非常高兴这样的学习选择,而且我也愿意听到其他人在加入这样的学校或是另辟溪径雇用他人时的经验。

关于作者

Joaquin 是一个现代科技的老将,在他的职业生涯中,他成功地建立了多项数字化战略,一个有着广泛分类的变革的技术和平台,帮助客户们确定了一个清晰的成功路线。

了解更多关于Joaquin 或者 读Joaquin的博客

水平有限,翻译中如有错误,肯请大家批评指正,谢谢。

Drupal 版本