I hate puzzles am I still a programmer ?
FROM:http://www.shuikaopu.com/topics/135最近刚看到persistence.js这个ORM框架,就发现了作者发牢骚的一个blog,刚巧还有人给翻译出来了。
这篇文章的核心是:大部分程序员应该称自己为程序员还是设计师? 你更喜欢设计还是更喜欢算法?
碰巧我也是个不喜欢拼图的人,目前做得也正是API设计而不是算法求解的活,和这个作者挺有共鸣的。
我讨厌智力题:我还是个程序员吗?
大概是一两个月前,朋友送了我和老婆一份礼物:一个有1000个小拼块的拼图版,拼的是艾歇尔名作:
昨天我们决定试一试身手。
仔细看了看这个图片,60-70%的色块都是灰的。这些拼块都非常的小,只有少数几块能辨认出上面画的是什么东西:艾歇尔的眼睛和背景上窗户的某些部分。等把这几块拼完后,我们就傻眼了。
为什么人们会喜欢这种东西?如果你实在没有任何事情可做,那就不说了 —— 但我们还有很多有意义的事情要做。
我们决定放弃。我们再次确认了已知的一个事实:我们讨厌做智力游戏。
这天晚些时候我在Reddit或是Hacker News或是其它的一个什么地方发现了这个”漫画“。画的是关于编程的乐趣。简而言之:写公式化的代码 —— 无聊;尝试新的算法 —— 有趣。
寻找新的算法是程序员版的智力游戏。当有问题时,能找出解决这个问题的最优算法是一件非常有趣的事情 —— 不是吗?当我的博士学习快要结束时,我四处看了看可以去哪里工作,我发现很多有趣的公司都想要:解决算法问题能力很强的聪明的小伙和女孩。至少,他们招聘过程体现出来这些。
Facebook:
你喜欢智力题吗?我们也是。
Google:
四个人需要在晚上通过一个损坏的桥。不幸的是,他们只有一个手电筒,而过这个桥不拿手电筒是很危险的。这座桥每次只能承受两个人同时经过。每个人通过桥时所需的时间也不一样。四个人分别用去:1分钟,2分钟,7分钟,10分钟。四个人都通过这个桥最短需要多少时间?
几周前,旧金山的一个名声很响的新锐公司联系到我 —— 问我是否有兴趣加入他们的团队。是吗!太好了!你能否在半个小时内把这个算法难题解决掉?我失败了。是否要我结果出来了。故事结束。
我讨厌智力题。
不喜欢智力题我就不是一个好程序员了吗?如果我不喜欢或很讨厌这种类型的智力题我就不是程序员了吗?有很多迹象表明我可不是一个真正的书呆子 —— 比如,我不喜欢科幻小说。也许只是我不是这些公司要找的那种类型的程序员。这很公平。
我编程已经有18年了。非常少的机会我需要解决复杂的算法问题。我喜欢编程并不是喜欢解决难题 —— 我是喜欢设计。如何的方式能设计出一个大家都能理解的应用程序?什么样的工具能让开发者们获得更高的生产效率?
我第一个大工作量的编程项目——大概十年前——是YaBB。我需要一个论坛软件,但你根本找不到一个好的免费的可用。在YaBB里有很复杂的算法吗?几乎没有。然而,它对人们却是非常的有用,而且当时也是非常的成功。
后来我开发了persistence.js 和 mobl。两种产品都可以使开发人员获得更多的工作效率。同样,这里的挑战根本不是来自算法。挑战性来自API(persistence.js接口)和编程语言(以mobl为例)。两者都很简单,强大,灵活,有用。这些都不是简单的活儿,但都跟算法没有什么关系。它们是设计。
也许我更应该把自己当作一个软件设计师,而不是一个程序员。
编程对你意味这什么?是一种本质的算法?还是根本不是?我不喜欢智力题是脑袋有问题吗?
http://www.aqee.net/2011/03/17/i-hate-puzzles-am-i-still-a-programmer/
页:
[1]