专访王豫翔:编程道路上的“三少三多”
转自:http://www.csdn.net/article/2013-02-17/2814150
王豫翔认为,想要突破自己的技术局限,还需多看多听他人的想法。
王豫翔,上海锐学计算机科技有限公司CTO,微软最有价值专家(Microsoft MVP)。曾在各种类型企业做编程技术工作,从代码工人到架构设计,从CS到BS,从静态语言到动态语言,从企业应用到移动互联网,作为20年的老兵,始终战斗在代码生产第一线,乐在其中。
“三少三多”原则
CSDN:请先介绍下自己学习和工作经历。
王豫翔:国内低调大学毕业,无留学经历、无海外关系、无著名导师、无背景家庭。在IT行业摸爬滚打近二十年,经历过很多公司,外资民企国企、大、小、微型企业、打工、失业、创业,可以说是经历丰富,惜无所成。目前是在上海锐学计算机科技有限公司担任CTO一职。
CSDN:你何时接触到计算机的?又是什么原因促使你走上编程的道路?你最先接触的编程语言是什么?
王豫翔:最早接触到可编程的计算机,具体年月已经很难考证回忆,但记得是一个卡西欧品牌的在远洋轮上进行工作的一体化计算机,键盘打印机屏幕都一体化,装在一个手提箱里,屏幕是只有几行的窄屏。语言是Basic。最早使用的正式的编程语言应该是dBaseII,也算是屌丝语言了,主要是用于数据库方面的录入统计。
CSDN:你曾在不同类型企业做过编程技术工作,也熟练掌握多种编程语言。请问你是如何在不同的编程语言中遨游的?有没有什么好的学习方法和我们大家分享下?
王豫翔:作为应用型的开发人员,在语言上没有过多的挑剔和水土不服。一般而言,大多数基于class模型编程语言C++、Java、C#总体都比较接近,多熟悉IDE和语言的特征就很容易能上手。而javaScript、HTML这类语言就需要换种思路和想法去学习。
不过,现在网上Demo多、高手多,要熟练使用这些编程语言的最佳办法就是:设法去做完整的可商用的项目。比如,你用C#写了一个企业管理项目,想学Java?那就用Java重构一次。想学HTML5+javaScript?就用HTML5重构一次即可。
学习方法我推崇的是“三少”和“三多”:少讨论概念,少争论特征、少议论模型;多写代码、多做测试、多做应用!
你何时获得Microsoft MVP的奖项?为此做过哪些工作和贡献?请给我们推荐一些质量较高的技术社区或论坛?
王豫翔:获奖是在2009年。我最多的贡献还是分享,我比较喜欢总结,完成了一个项目或一段时间的技术学习后,很乐意写一些自己的心得。写下心得最大的收获不是在别人的评价中得到陶醉,而是在写的过程中对技术体系和自己思路的再次整理。CSDN 已经是国内最优质的技术社区了。
你曾经投身到创业大潮中,请谈谈你的创业心得。
王豫翔:创业并不是非常成功,但我相对想创业的同学说点心里话。技术人员创业往往会设想只要自己的产品做的非常好,不愁没有客户。但这只是理想状态,你我皆凡人是不可能做出一个完美的产品。并且现在软件行业很多商业模式不清晰、不成熟,完全依赖产品的创业思路是非常危险的。技术人员必须了解到市场重要性,合作伙伴中必须有具有丰富市场经验的人员参与。
不要选择过于复杂的商业模式,简化商业模式,让你和客户的关系简单,服务质量可控,降低对销售的要求。
CTO成长之路
CSDN:想必成为CTO的道路并不平坦,在管理、心态、技术方面你是如何转变的?在这条道路上,你碰到过哪些捉襟见肘的难题?又是如何应对的?
王豫翔:想成为CTO并不难,只要你一直关注技术,一直锻炼自己就可以。高难度挑战是在成为CTO之后,你会发现原来并不是所有的程序员都真正的喜欢技术。从你自身的经历你会认为选择做程序员的人是喜欢编程、喜欢接受挑战、喜欢解决问题、对新编程技术充满了渴望和有无穷无尽的自学欲望和能力。实际上,你就会发现自己错了,要调整心态;你会发现你管理的是一群你从来不认识也不理解的“怪物”。
他们选择程序员的工作也许是因为大学的专业是软件工程,也许是碰巧第一份工作就是程序员,也许是因为他们不会做销售也考不上公务员。所以你要用平和的、8小时的、替老板打工的心态来管理你的程序员。其实在你成为项目经理的时候就会经历这个过程。而身为CTO,就应该用同样的心态来管理你的项目经理们。
CSDN:近年IT业快速变化,CTO的职位是否肩负了更多的职责?分别体现在哪些方面?
王豫翔:CTO要跟得上时代,要有能力能看到未来几年的发展。CEO和董事会都希望你能像先知那样预言未来的IT发展,你要清醒的认知到对于非天才来说,这几乎是一个不可能完成的任务。但是考虑到你的职责是你必须为服务的企业提供有价值的策略,那你必须严肃认真的确认公司所处的行业和你所在的部门的价值。
对于主要是提供信息化技术的企业,你要考虑目前采用技术的生命周期,采用新技术对公司目前人员的学习曲线度(前面说了,不是所有的程序员都喜欢学习)、新技术人员招聘成本、新技术的市场前景。而且最重要的是,你要问问自己,选择这个新技术,是你个人喜欢这个技术体系、个人好奇这个技术,还是这个技术能在未来市场中为公司带来相当大的竞争力?
对于其他应用技术来提高生产力的企业CTO来讲,恭喜你生在一个正确的时代!如果提前15年,你会发现你处于一个只花钱不赚钱的尴尬的角色,但现在你的策略会明确很多:提高数据采集面、加快从客户到管理层的响应速度、减少中间管理监督成本、降低基层人员的技能要求、提升管理人员的数据分析能力,这样大致可以完成你的工作,当然很重要的是和你的CFO多多沟通成本这个重要因素。
CSDN:你现在是如何分配自己的时间?是否还坚持在一线,这能给你带来什么乐趣?
王豫翔:不同规模的公司,相同的职位,但具体做的事情差别很大。我目前如果是算8小时工作的话,那时间主要安排在做计划、检查计划、监督计划、观察和发现优秀的技术人员、参加各种研讨会、和技术合作公司多多往来、和董事会喝茶讨论对未来技术的看法。总之,在程序员和项目经理眼中,CTO就是给他们压任务、画大饼,自己又无所事事拍董事会马屁并常常口中说些不知所以的新概念的人。去年是云,今年是移动互联网,下半年估计就是说大数据计算了。
具体举例,假设公司以前主要使用Windows Mobile技术为企业提供移动服务,作为CTO就需要考虑在适当的什么时候引入Android的技术。而当windows Phone出现后,公司的技术平台是否要转移,或者公司是否同时推出两个平台的产品和服务,原有的android技术团队如何处理,这些就是CTO要定调的事情。
8小时之内似乎不做什么编程的事情,但8小时之外,我会大量的阅读文档,保证自己每天有2小时以上编写代码,并且对所有准备从口中说出的技术,都至少做2-5个Demo,确保基本概念不会理解错误。
CSDN:你认为一名CTO或技术管理者,应具备什么样的能力?如何能快速开发、调配人员、解决技术争议?
王豫翔:公司的技术一般不会单一化,CTO也不代表公司技术最高的人。想要突破自己的技术局限,需要多看多听他人的想法,这是CTO最起码的职业素养。我想规模比较大的公司CTO一般不直接管理到人员和开发的具体事情。在规模较小的公司,CTO应该在日常积累和培养技术人员对市场上各种成熟的框架的训练,这些框架在开发周期中会提升小公司的生产力。
CSDN:贵公司使用的技术或架构是由什么而决策出的?你是否掌握大部分决策权?
王豫翔:公司采用的技术架构由公司的技术储备力量和项目的特性决定,但前者往往更重要,虽然这也许不是最好的选择。CTO对技术架构的决策权拥有很大的权重,如果没有什么特别原因都是CTO决定。
CSDN:技术人天天面对代码、项目,肯定枯燥,你在业余时间喜欢做些什么来放松自己?
王豫翔:旅游、摄影、做菜。考虑到摄影毁三代,所以我的摄影就是拿个单反在路上随手拍。做菜是我很喜欢的业余事务,在我眼里,做菜和写代码差不多,去菜场前大致有个方案,但是还要依据当天能够买到的原材料来即时地设计和修改方案。将杂乱无章的原材料通过有序的操作,转变为可口的饭菜,和写出优秀的代码一样具有成就感。
移动互联网为B2B带来新机遇
CSDN:从资料看,你关注移动互联网领域。你认为移动互联网现在处于一个什么阶段?谈谈你看法。
王豫翔:一直在企业应用解决方案公司工作,无幸加入互联网公司,曾在MVP OpenDay中发表过自己对互联网的看法,自认为对互联网有点认识,结果在一次去某纳斯达克上市的互联网公司面试时,一句话都没有说,就被鄙视没有互联网公司工作经验,你懂啥互联网?
所以我只能说,我现在关注移动互联网的企业应用领域。
对大部分企业而言,移动互联网的和企业业务的整合才刚刚开始,传统的企业信息化服务是为在办公室的管理人员服务,而移动互联网利用设备的普及和小型便携特性开始讲信息化服务对象转移到生产第一线的人员,如何利用手机等设备降低第一线人员的技能要求,减轻他们的工作复杂度,更直接方便的管理这些人员是移动互联网B2B的机遇。
CSDN:贵公司与微软在合作推广Windows Phone 8的B2B方案,你们是否会与微软进行更深层次的合作?你们的方案相比其他公司的优势和亮点是什么?
王豫翔:我们当然期待和微软公司有进一步的合作,并且希望能够尽早在微软的Windows 8新生态链中占有一席之地。和其他的公司相比,我们的B2B方案已经有了比较成熟的大型企业应用基础,是真正落地的企业级移动技术应用方案;而且,在我们的计划中,接下来还会把更多Windows Phone 8所特有的针对企业的优势和技术特点应用到更新的方案中,充分体现Windows Phone 8为企业用户服务的特色——而这些,也是我们对微软Windows 8系列产品打赢市场翻身仗的信心所在。
CSDN见证你的成长
CSDN:你在学习或工作中,是怎么接触到CSDN?CSDN对于你的工作或学习有什么影响,起到过什么帮助?有没有故事可以分享?
王豫翔:CSDN可以说是每个中国程序员都必去的技术社区,我很早就接触CSDN,从习惯浏览到伸手党,然后到帮助别人解决问题。CSDN为国内程序员的交流沟通提供了相当好的平台,如果你长久在CSDN混迹的话,可以清晰的看到自己的成长轨迹,这是相当开心的事情。
王豫翔 CSDN ID:shyleoking CSDN博客地址:http://blog.csdn.net/shyleoking