我认为的software developer所应具备的: from jamesxu

来源: 戏雨飞鹰 2009-05-09 08:05:40 [] [博客] [旧帖] [给我悄悄话] 本文已被阅读: 次 (1291 bytes)
发表一下自己的观点:

首先,软件工程是理的,所以理科的基础绝对是非常重要的。这也是为什么我一直强调数学/逻辑基础一定要扎实。(具体的比如抽象思维,理解/分析能力)

如果符合以上条件,你就符合了具备一个SDE所需要的能力。

但是这是不够的,如果要成为一个出色的SDE,而不是一个programing labor的话,你需要的是创造力。
有些人认为写code久了,就是一个熟练活,这我是非常反对的。一个好的程序员,如果发现他需要重复的做同一件事情,他就会用他的创造力来减少重复劳动。这也是为什么好的程序可以有大量的code或者pattern被reuse。很多时候debug也是需要程序员发挥想象力的。一个很复杂的bug出现,出色的程序员往往会提出一些假设,一步一步的排除自己的假设,isolate problem,最终确定问题并把他解决。另一方面,一个business requirment 出现,如果设计出有效的系统来解决business/technical chanllenging,这些都需要creativity。

具备了以上的条件,我觉得你就具备了一个出色的SDE所需要的能力。

但是这还是不够的,如果你把SDE作为一个career来发展,有一个最关键的因素:passion(激情)

在software develope当中,很多问题都不是一下能解决的。往往要耗费大量的时间进行分析,验证。有时候会让你觉得很枯燥很frustrated。一个充满激情的程序员就不太会觉得枯燥,而且他会很enjoy当问题解决以后的那种成就感。没有passion的,很可能就会放弃了。

所以,我认为,扎实的理科基础+创造力+对coding的激情 是做SDE应该具备

所有跟帖: 

说得很好。 理科基础这里是用算法来强调, 创造力和激情这些却不容易考察。 -乱弹- 给 乱弹 发送悄悄话 乱弹 的博客首页 (102 bytes) () 05/09/2009 postreply 09:09:42

俺倒觉得,需求分析,也就是做什么最重要,然后是 -feicen- 给 feicen 发送悄悄话 (109 bytes) () 05/09/2009 postreply 16:51:55

Passion for find the best solution possible in a reasonable time -k19mliu- 给 k19mliu 发送悄悄话 k19mliu 的博客首页 (0 bytes) () 05/10/2009 postreply 00:30:53

能不能解答这个问题,当计算机更升换代后以前辛辛苦苦写的代码 -bsmile- 给 bsmile 发送悄悄话 (115 bytes) () 05/13/2009 postreply 19:03:15

计算机更升换代,人也得换代更升。 -戏雨飞鹰- 给 戏雨飞鹰 发送悄悄话 戏雨飞鹰 的博客首页 (252 bytes) () 05/14/2009 postreply 04:17:00

哈哈,去年的粮食今年都变大粪了,农民就不种地了? -liveincanada2- 给 liveincanada2 发送悄悄话 (576 bytes) () 10/15/2009 postreply 11:17:38

I happen to read this, hehe, thanks! -Jamesxu- 给 Jamesxu 发送悄悄话 (0 bytes) () 08/14/2009 postreply 07:53:16

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”