2009-10-26

Proud to Be a Programmer

 
 

Sent to you by l5g via Google Reader:

 
 

via 玩聚SR|最佳 by 译言-电脑网络 on 10/24/09

玩聚SR还知道:
10000+ hrs of practice
译言-电脑网络发表于2009-10-24 19:05:38

原文作者:Tatu Ylönen
原文链接:Proud to Be a Programmer
译者:hgye

via here

ppt作者Tatu Ylönen是芬兰大牛,ssh的发明人,毕业于赫尔辛基理工学学,创立过好几家公司,按照ppt中的说法,从来没有真正给其他人打过工,角色也在programmer,cto,ceo之间换来换去。上面的那个原始link中也有一些他的轶事,不能略人之美,自己去看吧

虽然不能说是雄文盖世,但是不管是paul graham还是Peter Norvig,Marc Adreessen还有我所看过的startup经验谈,所传达出来的信息都是一样的,而且好像北欧人跟实诚,说的都是大实话?

----------------------------------start now------------------------------------------------------

不是每页都翻译,而且也不是完全翻译。

一开始ppt自报家门,ssh的发明人,从没有为其他人打工,blabla

(page 8)

  • 两种startup途径,第一种是有个idea,找人投资,实现。第二种是从技术改良革新开始,做出来,再找到赢利模式,找投资,再商业化。
  • 而且指出两种方式联合最好,(是不是和meebo的创始人说得有点像?meebo是第一种?)不过也指出第二种往往是big deal。

(page 9)

  • 这一页这句话足矣:good implementations of old ideas 伟大的产品往往是新品装旧酒

(page 10)

  • 程序员的效率,百倍,而且还不止如此,正如paul graham说得,有些问题只有great hacker才能解决,而在问题甚至都没有的时候呢?

(page 11)

  • 产品的核心部件是由1~5个人搞定的
  • 成熟产品要求的技能是完全不同的,大团队,面对更苛刻的用户还有更严格的流程

(page 12)

成为顶尖程序员的必须条件

  • 良好的(技术)基础:算法,语言,os,硬件,网络
  • 雄心和完美主义,再加上审慎的自我评估(haha)
  • 练习和经验
  • 不同的经验(十年如一日的经验不行)
  • 搭建全新的复杂系统的能力
  • 在顶尖团队工作的经验和如何相处
  • 理解客户需求,创造完美产品
  • 看到周期,艰难时刻,失败,好时光,成功

(page 13)

充分条件:

  • 对技术感兴趣并且有能力快速学习
  • 学习新事物,构造新事物,programming
  • 面对未知未来,有系统的工作框架
  • 在压力下工作,不被压垮
  • 可以多线程工作,不仅仅指编程,甚至包含市场,销售等等 1
  • 0-20年经验(想到了什么?outlier)
  • Programmer,那些在大的组织中,也叫programmer,不过,这截然不同

(page 14)

技术能力:

  • 编程能力:三种类型语言,C,高阶语言(垃圾回收,一阶函数,闭包...),OO(java/c++/c#/...);
  • 数据机构和算法 DB(sql),网络编程(tcp/ip),安全,本地化(unicode),内核
  • OS:*nix,widonws,kernel,最好加上嵌入式和微控制器(bsp?)
  • 硬件:(内存架构,现代多处理器架构,通讯,DSP,线程,汇编,编译器)
  • 处理抽象层,硬件

(page 15)

其他

  • 工作技能:于人为善,尽心尽力,不畏艰难  
  •                           提出意见,接受决定   
  •                          不要违章,特别是公司的决定
  • 每周一天学习新技能,长久关怀(太难罗)
  • 热爱技术和学习
  • 面对压力

(page 16)

技术路线和管理路线(甚或是市场路线):

(类似于公司的H型发展路线了,所不同的是在公司内在两者上的回报是完全不同的。)

  • 不过记住,从技术-〉管理易,管理-〉技术难(或者说不可能:)

呵呵,humor附送一个:

  • 管理路线:为那些像成为经理的,并最终失去技术的感觉人准备
  • 技术路线:为那些持续作技术,包括亲手写code,准备做20~40年的人准备

(page 17)

三种程序员向往的角色之CTO

  • 只考虑startup快速发展企业中的CTO
  • 角色可以偏向技术也可偏向管理
  • 需要深厚的技术能力和经验,通常是10到20年经验,不过有多年轻的创业者干的很不多
  • 对公司的领域有全方位的,透彻的了解,技术,标准,知识产权,产品,客户,竞争对手等等
  • 人际关系,领导力,组织卓越团队的能力等等
  • 与成熟公司的cto角色很不同
  • 工作时间可能非常长,压力巨大,身心健康很重要

(page 18)

产品经理:

  • 这个角色很难找到,市场背景的不能很好的理解产品,一些最好的产品经理都是很优秀的工程师
  • 不过不鼓励工程师在很年轻的时候就转去做产品经理,不过一两门市场课程很好,产品经理这个领域人才短缺

(page 19)

项目经理:

  • 今天每个cs学生都梦想的职业,为什么?钱多人傻
  • 甚至一些HUT的教授也认为编程应该让阿三和中国人去做,芬兰人只需要做让人兴奋的设计,规范和项目管理就OK了
  • 那些比你更聪明,工作更努力的阿三和中国人,若干年后也比你更有经验。他们巴不得把那些设计,规范,还有项目管理的重担交掉呢,更别提还有市场啊,销售啊,制造啊,管理啊,所有权啊等等(啊,是的,也许那些以前的项目管理者转换了角色,变成了本地客户的采购者-如果那时这些客户还有钱的话)
  • 那些顶尖的项目管理者应该有很多年的实际工作经验 软件项目里,称职的项目经理非常重要

(刚好前几天有人问为什么他不太乐意,更愿意自己亲手做,我想page 19,项目经理这一页也许是这个问题答案的一个很好的脚注: )

(page 20)

洗净浮华

  • 看透喧闹是重要的
  • 大公司和很好资金支持的startup画大饼的能力是惊人的
  • 不需要认识所有的缩写。(OMG,你认得几个)
  • 大多数技术对于适当基础的人不难掌握
  • 独立思考最重要,不要随大流

(page 21)

喊口号:

  • 技术专家需要经验,自由,构想,灵感,激励和财政支持
  • 营销专家和最高管理者努力把这些变成生意
  • 环境应该鼓励成功和承当风险,并回报成功
  • 比任何时候,成功都取决于在合理时间内在技术上实现绝妙构想的专家(快速原型的能力)
  • 每一年我们都需要几十个芬兰人成为顶尖程序员(是的,他说的是几十个,self-esteemed,呵呵)
  • 拍马屁

(page 22)

其他人:

  • 仍然需要研发工程师
  • 锻炼多种技能,管理,市场,销售,项目管理等等

(page 23)

未来:

  • TB级别的机器成为寻常事,甚至PB机器

(page 24)

  • 个人观点: AI的回归

(这丫的太乐观了,仅仅是速度的提高应该不能改变现状,范式的转变)

(不知道算不算创业方向指导,随便列一下吧)

  • 可用的自然语言借口
  • 知识表示和自然语言
  • 智能代理
  • 思维机器(??)

(OMG,完了,最好自己看原文吧)      

添加评论

译言联合3G门户推出无线官网,手机看译言,登录wap.yeeyan.com

玩聚SR 是一个追踪各种社会化媒体,实时发现IT人都在分享和推荐什么的工具。点击阅读科技频道热文。
手机请登录移动版

 
 

Things you can do from here:

 
 

No comments:

Post a Comment