程序员必备的两项基本素质

YapingXin 2011-09-13 03:28:25
程序员必备的两样技能:探索能力 和 工程思想


探索能力包括学习能力、面对未知领域时快速找到突破口的能力、知道应该哪个方向去寻求答案的能力,要在错综复杂的系统错误中不惧复杂、细心地debug、trace、investigate。。。

工程思想包括做工程的时候与他人分工协作,以及作为一个工程师,要明白按时交付的重要,要知道把事情分成轻重缓急,要知道做工程和做研究的区别,要辩证地看待技术与科学之间的关系,要明白理论研究和工程实现之间的联系与区别,要知道一项技术从实验室里走入千家万户不是一蹴而就的,要经历产品化的过程。。。


知道为什么程序员需要这两项基本素质,你就知道了为什么作为一个程序员除了要学到过硬的coding技能之外,还要学习那么多周边的知识,为什么要学那么多理工科的基础课,你就知道了为什么社会上的速成班永远不能培养出一个真正的程序员,为什么速成班里教出来的码农还需要经历漫长的自我完善过程才能够成为一名真正的程序员。
...全文
233 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tidal_Choidi 2011-09-16
  • 打赏
  • 举报
回复
我只知道现在整个XX的科研环境都是在山寨,远的不说,7.23就是一个很典型的例子。真正的创新、核心科技有多少?

按常理,一个大学毕业的本科生,在理论的灌输与学习积累方面足以支撑起专心搞科研的基础,我说的是基础。

但是,目前这个浮躁、急功近利的环境,一定程度上讲专心致志已经成为溜须拍马、人浮于事、弄虚作假的牺牲

品。

liujie1575720297 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xinyaping 的回复:]
引用 1 楼 abbey 的回复:

必备的气质:隐忍,执着


+ 1
[/Quote]
+ 1
kkbac 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhangjiang264 的回复:]

引用 11 楼 gongsun 的回复:
我觉得是: 拍马屁 + 吹牛逼

只会这两样的路过。
[/Quote]
+1
kakaniuren 2011-09-15
  • 打赏
  • 举报
回复
要个毛素质,都是扯淡!
bbb332 2011-09-15
  • 打赏
  • 举报
回复
学习,实践,学习
紫乐盗 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 glunoy 的回复:]
要知道做工程和做研究的区别,
这就是老板赶进度的理由。
毫无疑问,很多时候我们专注于更灵活的设计,这种设计能考虑到未来的扩展。
当然,简单的设计也能快速完成当前的需求,---至于未来,只有推倒框架重做一途。

于是老板就会问你,做这个功能(模块)需要多久?当然他考虑的是这个零散的部分,而非整个系统的有机结合。
这时候你就面临两难。如果你提出的框架理论,老板就会说,这是在做产品,不是做研……
[/Quote]
說得好,拍手鼓掌。
glunoy 2011-09-15
  • 打赏
  • 举报
回复
要知道做工程和做研究的区别,
这就是老板赶进度的理由。
毫无疑问,很多时候我们专注于更灵活的设计,这种设计能考虑到未来的扩展。
当然,简单的设计也能快速完成当前的需求,---至于未来,只有推倒框架重做一途。

于是老板就会问你,做这个功能(模块)需要多久?当然他考虑的是这个零散的部分,而非整个系统的有机结合。
这时候你就面临两难。如果你提出的框架理论,老板就会说,这是在做产品,不是做研究。。。而且通常,技术总监也是30+的老头子,整天求稳定混日子的。他当然不会愿意接受整个框架做大的变更。。这时候。。。两面夹刀之下。。恩。顺理成章。是做东西,不是搞研究。

程序员追求完善和灵活的设计。而老板追求快速出产品(团队成本),不考虑后续扩展造成的灾难。这时候,这句话往往被太多人使用。

对于一个负责任的程序员来说。这句话是个噩梦。

程序员需要的基本技能太多。而决定一个程序能力的最关键东西。我认为是把实际需求能分成基本问题的能力。你把一个需求分析得越灵活,基本问题越具体,那么代码写起来就流畅无比,效率也会比较高。

我始终认为,一个基本问题,任何人,包括三岁小孩,突击15分钟语法就能够解决。(基本问题是指最最基础的技术代码,比如把一张图片显示到DC的指定位置上),而一个需求,往往包含很多个基本问题。

实际上,好的编程习惯并不在于具体代码,而在于分析的过程。构建基本接口,运行测试,我们就会说,这功能基本完成了。虽然实际上这时候没有任何具体表现。

然后填充完函数之后,系统真正动作了,这时候的debug。。是函数级别的debug。再难也不会多难了。如果说很难,只能说明,你功能还没划分好。
kkbac 2011-09-15
  • 打赏
  • 举报
回复


必须具备的基本技能: yy + sy;
我TM真的是猪 2011-09-15
  • 打赏
  • 举报
回复
怎么说的这些都是我所缺少的呢。
zhangjiang264 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gongsun 的回复:]
我觉得是: 拍马屁 + 吹牛逼
[/Quote]
只会这两样的路过。
gongsun 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gongsun 的回复:]
我觉得是: 拍马屁 + 吹牛逼
[/Quote]


如果不会, 你永远都没有前途,30来岁,代码工一个。。。
gongsun 2011-09-14
  • 打赏
  • 举报
回复
我觉得是: 拍马屁 + 吹牛逼

快乐的小二兔 2011-09-14
  • 打赏
  • 举报
回复

楼主我作为一个鸟人很明显只有探索精神。找错精神
uncle_bacon 2011-09-14
  • 打赏
  • 举报
回复
经常加班做程序员真累。

伴老思源 2011-09-14
  • 打赏
  • 举报
回复
颈椎病和腰椎病~
whb147 2011-09-13
  • 打赏
  • 举报
回复
能用熟baidu也行
没花鹿 2011-09-13
  • 打赏
  • 举报
回复
程序员辉煌的日子不再了,当老板又没有那8面玲珑的本事,当高级白领最实惠。。。
wiki14 2011-09-13
  • 打赏
  • 举报
回复
+1

其实挺佩服你们这些动不动就整理论的人,弄的跟科学家似得。
你会发现,把"程序员"三个字换成什么都好使。

这就是所谓的公共方法。
老毕 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jxyxhz 的回复:]

做程序员真累。

如果做了其他工作,保证你不想搞这个了。
[/Quote]

其实哪一行不是这样呢?
小_虎 2011-09-13
  • 打赏
  • 举报
回复
做程序员真累。

如果做了其他工作,保证你不想搞这个了。
加载更多回复(3)

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧