摘要:社区之星第13期采访的嘉宾是上海锐学计算机科技有限公司CTO王豫翔,他作为20年的老兵,始终战斗在代码生产第一线并乐在其中。他在编程道路上遵循自己的“三少”“三多”原则:少讨论概念,少争论特征、少议论模型;多写代码、多做测试、多做应用。
王豫翔认为,想要突破自己的技术局限,还需多看多听他人的想法。
王豫翔,上海锐学计算机科技有限公司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
分享到:
相关推荐
春季养肝,记住“三少三多” 随着季节的更迭,春天悄然而至。在这个万物复苏、生机盎然的季节里,中医理论强调肝脏与春季之间存在着密切的关系。肝脏属木,与春季的生长特性相契合,是调畅气机、促进消化、分泌胆汁...
网络安全工作中所面临的“三多三少”是网络安全管理的痛点所在。这里的“三多”指的是网站多、系统多、隐患多;而“三少”则是指防护资金少、防御手段少、防御人员少。这种现象不仅表现在高校中,也广泛存在于各种...
《雷三多就业创业服务系统》是一款以软件工程为基础,结合Java Web技术和Mysql数据库的综合性应用系统。这款系统的设计与实现,旨在为用户提供全面的就业创业服务,满足不同人群在求职、创业过程中的多样化需求。 ...
火灾调查“三多”现象成因及对策-安全管理-行业安全-消防安全.docx
【许三多语录精选】中的内容主要摘自电视剧《士兵突击》中主角许三多的经典台词,这些语录蕴含了深刻的哲理和生活智慧,展现了许三多坚韧不拔、乐观向上的性格特点。以下是其中一些关键知识点的详细解释: 1. **...
### 火灾调查“三多”现象成因及对策 #### 一、新形势下火灾调查工作面临的困难与问题 ##### (一)起火原因日趋复杂,调查难度增大 1. **火灾机理复杂化**:随着科技的进步和社会的发展,新材料、新工艺、新技术...
这篇文档虽然标题为“感谢许三多作文.doc”,但其实内容并不涉及具体的技术知识点,而是一篇关于亲子交流和孩子成长感悟的文章。然而,我们可以从中提取出一些与教育、沟通和媒体影响相关的社会现象和心理认知知识点...
【文档标题】:“2021-2022年收藏的精品资料三多旅游.doc” 【文档描述】:“精品教育教学资料” 这篇文档虽然标题提到的是“三多旅游”,但其实内容是关于2010年7-8月的一次精品旅行线路,名为“印象中国昆大丽...
三多棋牌游戏平台.pdf
根据提供的文件信息,可以看出这是一份关于学生信息管理系统的数据结构设计文档,主要涉及了不同模块的数据表结构定义。下面将对这些知识点进行详细的解读。 ### 学生基本信息(student_information) ...
《许三多精神》这本书以其独特的人物形象和深刻的人生哲理,给读者留下了深刻的印象。许三多的精神内涵主要包括以下几个方面: 首先,责任感是许三多精神的核心。他坚信“有意义就是好好活,好好活就是干许多许多有...
在答题时,应分析教师如何在教学中引导学生,如何进行教学研究,如何参与课程开发,以及如何融入社区教育。 4. **教学观**: - **人生过客**:教学是动态的过程,关注课程创生、师生互动、共同发展以及以人为本。...
标题 "Exaprom PDF 2.0 LabVIEW 工具三多labview" 提供了几个关键信息点,首先,这是与PDF相关的LabVIEW工具,其次,它特别强调支持中文,意味着它能够处理中文字符而不会出现乱码或显示问题。LabVIEW(Laboratory ...
丽江古城区纳西族三多神祭祀习俗研究
- **许三多的故事:** 《士兵突击》中的许三多通过坚持不懈的努力完成了看似不可能完成的任务,最终获得了成功。这表明即使是最普通的工作,只要付出足够的努力和坚持,也能取得显著的成就。 ### 二、优秀人才的...
- **实验三多线程实验**:学习多线程编程技术。 - **实验四多进程实验**:了解多进程编程方法。 - **实验五网络编程实验—服务器/客户机**:实现基本的网络通信功能。 - **实验六Makefile实验**:编写Makefile文件,...
为了实现这一目标,发电企业必须采取一系列行之有效的预防策略,而“三多”策略正是这些策略的集中体现。 首先是“反骄破满,忧患意识多一点”。这句策略源自孟子的“生于忧患,死于安乐”,在安全预防的语境下,...
综上所述,针对“火线100天四川专版2016年中考数学一轮复习专题三多结论判断题”,考生需要重点复习二次函数的性质,掌握一元二次方程的解法和几何图形的性质,以应对这类具有挑战性的题目。同时,加强练习,提高...
马云:我成功的唯一理由是“三多”.docx
实验三多态性实验报告 本实验报告的主要目的是了解和掌握类的多态性实现,包括重载运算符、虚函数和纯虚函数的使用方法,以及动态联编的概念。实验中,我们将设计并实现一个员工薪金计算系统,使用C++语言,通过...