每一位小白程序员都应学会的 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]

相关文章
|
7月前
|
程序员
​【程序猿必备:指针与数组的高级技能秘籍】(中)
​【程序猿必备:指针与数组的高级技能秘籍】
|
设计模式 自然语言处理 Java
【程序员】小白变大神,职业养成之路原来这么简单
程序员是一个非常有挑战性和创造性的职业,但也是一个需要不断学习和进步的职业。如果你想在这个行业里有所作为,你需要掌握一些必备的技能和方法,从初级到中级,再到高级,最后达到资深的水平。那么,程序员的成长路线是什么呢?
|
7月前
|
存储 小程序 程序员
​【程序猿必备:指针与数组的高级技能秘籍】(下)
​【程序猿必备:指针与数组的高级技能秘籍】
|
7月前
|
程序员
​【程序猿必备:指针与数组的高级技能秘籍】(上)
​【程序猿必备:指针与数组的高级技能秘籍】
|
7月前
|
机器学习/深度学习 物联网 定位技术
保研夏令营面试、考研复试自我介绍、个人展示模板与撰写注意事项
保研夏令营面试、考研复试自我介绍、个人展示模板与撰写注意事项
327 1
|
Cloud Native 程序员 Go
从项目中突显技能:在面试中讲述你的编程故事
从项目中突显技能:在面试中讲述你的编程故事
79 0
|
网络协议 Java
编程技能强化代码知识点整理
编程技能强化代码知识点整理
|
存储 程序员 C++
开心档-软件开发入门之C++ 数组
本文主要讲解C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
开心档-软件开发入门之C++ 数组
|
缓存 小程序 测试技术
建议收藏!初级软件测试面试题及题库答案,你肯定用得上
软件测试的面试过程中,面试官往往都会根据你面试的职位,提问一些相关的软件测试知识,而很多人为了能够提高的自己在面试当中的通过率,都会在面试前做好充足的准备。
524 0

热门文章

最新文章

相关实验场景

更多