每一位小白程序员都应学会的 3 项技能

简介:

在最近的一次访谈中,Joel Spolsky(StackOverflow的联合创始人)表示,一个新从事编程工作的小白需要学会3项技能:经济学、写作和C语言。乍一看,这三项技能除了C语言以外也许与程序员关系不是太大,但是经过深入挖掘后你就会发现这其中的奥妙。

Spolsky建议程序员学习经济学的原因是“programmers often don’t know that and consequently don’t understand how they add value to a business.”(程序员往往都不知道如何在软件产品中注入商业价值)。花一分钟时间想一想,我们是否经常都会听到设计师与开发员抱怨如噩梦般的客户 和他们不合理的需求?其实这样的客户肯定会存在,一个很容易被忽略的事实是开发者的主要作用就是为客户创造商业价值。只有理解到这一点才能够与客户建立良 好的合作关系。

此外,对经济学有一定了解能够帮助自由职业者更好地推销自己。当客户出现不合理的要求时,经济学能够帮助他们(普通的web开发者)体现出自己的价值,用一个成功的站点为客户带来商机。

Spolksy也建议程序员学习写作技能并练习沟通能力,因为“essentially, the most successful people are the ones who can explain their ideas the best.”(实际上,最成功的人就是能够最完美地表达出自己想法的人)。他说得没错!沟通是最重要也是常被忽视的一项技能。无论你是否是顶尖程序员,如 果你不能将你的想法正确地传达给团队中的其他成员,那这些想法都会变得毫无意义。

这并不仅仅适用于编程,日常生活中也是如此。作为一名编辑我不得不审阅大量的文章,只有清晰、有深度的文章才能更快地通过审核。

Spolsky的最后一项建议是学习C语言。当我听到这项建议后第一反应是“什么鬼?!”我明明能够使用拥有更优雅语法的JavaScript或者Ruby语言,为啥还要学习C语言?我可不想让我的程序爆炸。

如今的大多数程序员会学习一些高等级的语言—例如Python、Ruby或者Java,但是确对在这些语言中的代码的执行没有一个好的把控,导致编 程工作变得缓慢或者无法突破瓶颈。其实这就像建议一个想学习jQuery或者JavaScript框架的人停下脚步去学习这门技术的由来。花时间去学习所 在领域的基础知识,能够让你在正确的道路上走得更远(例如在调试程序时程序未按预期工作)。

您怎么看呢?换做是你,你会向新从事编程工作的小白提出哪三项建议?

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
|
6月前
|
程序员
​【程序猿必备:指针与数组的高级技能秘籍】(中)
​【程序猿必备:指针与数组的高级技能秘籍】
|
6月前
|
程序员
​【程序猿必备:指针与数组的高级技能秘籍】(上)
​【程序猿必备:指针与数组的高级技能秘籍】
|
6月前
|
存储 小程序 程序员
​【程序猿必备:指针与数组的高级技能秘籍】(下)
​【程序猿必备:指针与数组的高级技能秘籍】
|
算法
算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)
算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)
67 0
|
存储 程序员 C++
开心档-软件开发入门之C++ 数组
本文主要讲解C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
开心档-软件开发入门之C++ 数组
|
缓存 小程序 测试技术
建议收藏!初级软件测试面试题及题库答案,你肯定用得上
软件测试的面试过程中,面试官往往都会根据你面试的职位,提问一些相关的软件测试知识,而很多人为了能够提高的自己在面试当中的通过率,都会在面试前做好充足的准备。
509 0
|
机器学习/深度学习 前端开发 小程序
想当程序员,如何判断自己是否适合当前端程序员?
真正学习的时候,大多数所谓的兴趣就是扯淡; 只有那种遇到难题就兴奋,敲代码时候,越挫越勇的人,才叫感兴趣; 真正的感兴趣是让你学的久,学的不累;
172 0
|
Java C++
自学编程的人,都是怎么找到自己的第一份工作的?
转载自:程序之心 每年毕业这么多大学生,很多被培训机构弄去培训了,但是更多的还是选择在大学期间,自力更生去自学,自学的人很多都觉得没有方向太难了,自学怎么坚持下去,自学完了怎么去找到自己的第一份工作。

相关实验场景

更多
下一篇
无影云桌面