星期六, 十月 24, 2009

[Geekland]Proud to Be a Programmer(翻译)

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
  • 面对未知未来,有系统的工作框架
  • 在压力下工作,不被压垮
  • 可以多线程工作,不仅仅指编程,甚至包含市场,销售等等
  • 10-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,完了,最好自己看原文吧)

     

     

  •