【编者按】本文作者为常年混迹于 SitePoint JavaScript 论坛的 Web 开发者 James Hibbard,主要介绍针对开发新手提出了一些学习建议。文章系国内 ITOM 管理平台 OneAPM 编译呈现。
在近期的一次采访中, StackOverflow联合创始人Joel Spolsky建议,新手程序员应该掌握3项技能:经济学,写作和C语言。初看起来,这3项技能似乎有点奇怪,但是深入探讨后,笔者才发现其中的奥妙。
Spolsky建议程序员学习经济学,因为 “通常,程序员都不理解经济学,因此也不明白如何为业务增值”。好好想一想,我们是否经常听到设计师与开发人员抱怨可怕的客户和他们不合理的要求?虽然这样的客户肯定存在,但是很容易被忽略的事实则是,作为网络开发人员,我们的主要职责就是为客户的业务带来价值。理解到这一点,才能够建立良好的合作关系。
此外,对经济学有一定了解能帮助很多自由职业者更好地推销自己。至少让他们对自己所花的时间与为客户带去的价值之间的联系有更深入的认识。并且,当客户提出不合理要求时,他们(比如说网络开发人员)能够清楚地表达成功网站可以为业务带来的价值。
Spolksy还建议程序员学习写作技能(还包括沟通能力),因为“基本上,成功的人都能充分解释他们的想法。”他说的没错!沟通是至关重要的,却也是常常被忽视的一项技能。即使你是非常优秀的程序员,如果你不能将自己的想法传达给团队中的其他成员,那这些想法也会变得毫无意义。
不仅在编程中是如此,日常生活中也是如此。作为一名编辑,笔者不得不处理大量的文章投稿。只有那些表达清晰,考虑周详的文章才能最快通过。
Spolsky的最后一项建议是学习C语言。当笔者看到这项建议时,第一反应是“有没有搞错?!”当我能够使用语法更简洁,并提供内存管理的JavaScript或Ruby编程时,为什么还要学习C语言?毕竟,我并没有在追求速度快得耀眼的程序……
Spolsky 的理由是:“如今的大多数程序员会学习一些更高级的语言—例如Python,Ruby或者Java,但却没有真正掌握语言中导致代码能够执行的基础,因此也无法理解为什么运行速度慢或者出现问题。”仔细想想,的确如此。这就像建议一个想学习jQuery或者JavaScript框架的人后退一步,先学习其基础技术。花时间去学习语言的基础,会对你未来的工作有所帮助(例如在调试未按预期工作的程序时)。
OneAPM Browser Insight 是一个基于真实用户的 Web 前端性能监控平台,能帮助大家定位网站性能瓶颈,实现网站加速效果可视化;支持浏览器、微信、App 浏览 HTML 和 HTML5 页面。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:
https://www.sitepoint.com/three-skills-every-new-programmer-should-learn/