顶级程序员的心得 Coders at Work (III)

简介:
这是第三部分( 第一第二部分),非常有意思的问答,值得仔细琢磨。 
这里只是一些和程序员发展,面试,优秀程序员的特点等相关的部分。
有些想法和 MSF 中的原则也很相似 (见 <移山之道>)。
 

Coder

What they say about good programmer, interview, and design

My interpretation

Dan Ingalls

image

Guru of Smalltalk; inventor of BitBlt operation, working on Lively Kernal now.

image

Tips on a good technical leader:

1) clear vision;

2) trust people;   get everything figure out, but leave it open to team member to do it.

3) avoid micromanagement.  if you’re worried and you’re insecure, and so you’re feeling like you hve to nail everything down.

Alan Kay is a good example for such great leader.

技术带头人:

1) 清楚的远景。没有清楚的远景,只有强大技术能力的团队,就像盲人骑瞎马,还使劲用鞭子抽打,让马快跑。 看起来一度非常拉风,但后来免不了人仰马翻。

2)信任团队,把大方向弄清楚之后,把其他事情交给团队成员去搞清楚。 如果带头人详细规定了所有细节,那么团队成员干得还有什么劲呢?

3)避免“微观管理”。当你担心或者没有安全感的时候,你当然会希望把所有细节都搞清楚,但是这样反而会出乱子。

 

L Peter Deutsch 
veteran of Xerox PARC,  author of Ghostscript; 
now he is into music composition.
skills of good programmer: 
intuition – no luck, but experience that had simply gotten internalized so far down that i didn’t have conscious access to the process. 

programmer – people who feel comfortable swimming around in the world of symbols. 

programmer vs. coder: 
"Coder" is strongly associated with the smallest and most narrowly focused part of that whole software building endeavour.   "coder" represents such a small corner of the whole processs. 

a good title should be: software developer.


computer science = enginnering + applied mathematics. 

I would've thought that the internt was inherently uncontrollable, and i no longer think that. China shows that you can do it pretty effectively. 

优秀程序员: 
直觉。 但是Peter 说的不是运气,而是长期实践之后成为你思维一部分的东西 - 你不知道推理这些东西出来,正如同你不知道如何推理出直觉。 

Peter 认为优秀的程序员必须能在抽象思维 (world of symbols) 中得心应手的人。 

程序员 vs. 码农: 
Peter 认为Coder 把程序员的工作定义得太狭隘了。 就像IT 民工,翻沙,砌墙。  砌墙并不是一个坏工作,但这只是“建筑”这一过程中的一个小部分。 

"软件开发者" 应该是一个好名称, 虽然并不全面。 

所谓 "计算机科学" 不过是工程加上应用数学。 

我原以为互联网是根本上无法控制的。。。
 
Ken Thompson 
creator of Unix. 

image
Talented programmers: 

it's just enthusiasm. you ask them what's the most interesting program they worked on,  get them to describe it and its algorthms and what's going on.  if the ycan't withstand my questioning on their program, then they are not good. 
enthusiasm is not something you ask directly, but in the conversation you'll come with the enthusiasm-ometer. 

优秀程序员的特点: 

就是“热情”, 我们有时也说 "passion for technology".  
但是在面试的时候你不能问 - 你对计算机技术有热情么?  因为所有回答都是 yes。 
你要在场景中, 对话中感觉对方的“热情”。  如果一个念了5-7年计算机专业的人,不能 “两眼放光”地给你讲他自己最得意,最激动人心的项目或算法,不能回答你的深入提问,除了老师的作业和实验室老板叫做的项目之外,没有别的想法。 你觉得这种人有多少 “热情”? 

Ken 还表达了自己对C++ 的意见,几乎所有这本书采访的牛人都不太喜欢C++, 很有意思,不过这是另外一个话题了。 







本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2009/12/25/1882455.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
Dubbo Java 中间件
探寻源码宝藏:介绍开源项目"source-code-hunter"
最近处于金三银四的面试黄金期,许多同学在面试中反映现在要求非常高,阅读源码几乎是必问项。然而,阅读源码时常常觉得晦涩难懂,令人头疼。今天在浏览 GitHub 时,我发现了一个名为 source-code-hunter 的宝藏项目。这个项目从源码层面深入剖析和挖掘互联网行业主流技术的底层实现原理,为广大开发者提供了便利,助其提升技术深度。目前该项目已经涵盖了 Spring 全家桶、Mybatis、Netty、Dubbo 框架,以及 Redis、Tomcat 等中间件的内容,恰好适合最近正在面试或希望提升技术深度的同学参考学习。
82 1
探寻源码宝藏:介绍开源项目"source-code-hunter"
|
7月前
|
供应链 定位技术 云计算
什么是外企常说的 Line of Business
什么是外企常说的 Line of Business
66 0
|
机器学习/深度学习 数据可视化 数据挖掘
如何开始一项可能帮助你走向人生巅峰的“业余项目”(Side Project)?
你知道什么是side project 吗? 你知道如何开始一个side project 吗?一个业余项目,不仅可以给你带去知识、技能、满足感,也可能从此改变你的职业生涯。俗话说,万事开头难,本文作者列了5条经验,帮助你快速地、有目标的进入一个side project。
1785 0
|
安全 数据库 C++
读书笔记 effective c++ Item 29 为异常安全的代码而努力
异常安全在某种意义上来说就像怀孕。。。但是稍微想一想。在没有求婚之前我们不能真正的讨论生殖问题。 假设我们有一个表示GUI菜单的类,这个GUI菜单有背景图片。这个类将被使用在多线程环境中,所以需要mutex进行并发控制。
889 0
|
Web App开发 JavaScript 前端开发
教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别
为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙   请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 注意:整个教程是基于linux系统的(为了方便讲解,我选择用vmware虚拟机装了CentO...
1199 0
微软职位内部推荐-B&I Site Lead
微软近期Open的职位: Job Title: B&I Site Lead Division: Phones Quality, SWIQ Location: Beijing, China Microsoft (China), Phones unit is seeking an individual...
728 0