您的位置:首页 > 运维架构 > 网站架构

没有完美的架构,只有刚好的架构,没有满足一切的架构,只有满足目标的架构

2014-05-14 16:05 309 查看
【原文:http://www.csdn.net/article/2014-05-14/2819758/1

摘要:现在很多创业者扎堆于可穿戴设备、移动互联网等方向,却有人弃热门的移动和互联网应用战场转战传统应用,社区之星46期带你走进微软全球最有价值专家(MVP)朱燚的圆梦之旅。

朱燚( 博客)是成都英特利欧科技有限公司软件技术总监,先后在CSDN、Mtime工作。在高性能移动与网络软件开发领域有丰富经验,于2008年曾获得“微软全球最有价值专家”(MVP)。曾是北京CSDN暨《程序员》杂志社任高级开发工程师与系统架构师,负责社区架构设计及开发。后赴美
California Orange,参与医疗软件项目开发,任中方程序经理,负责架构设计、开发以及人员管理。

程序员要学会分享和交流

CSDN:请和大家介绍下你及目前所从事的工作。

朱燚:大家好,我是朱燚,我一直是一个程序员,现在在成都 英特利欧科技有限公司工作,我的领域是行政事业管理,以及行政事业性支付。

CSDN:您现在最关注哪方面的技术?您自己是如何学习并掌握新技术的?

朱燚:我们的服务端技术主要是Java,前端有Web平台和移动平台,服务器主要是云平台的技术,所以和这些方面相关的技术我会关注,比如Flex、Html5、虚拟化技术以及云架构。

学习技术当然需要狂热的兴趣作为动力,并且要有追根求底的精神,有的时候甚至有些”歇斯底里”,这个应该是所有程序员的”通病”,比如沉浸在一个问题里,吃饭、走路都在思考,然后忽然灵光一闪有开悟的感觉,不过还是要说分享和交流很重要,朋友的一句话有时候比冥思苦想一周还管用,很多创造性的点子都是在交流中突然闪现的,所以一定要在有交流的环境里工作,不要把自己关起来。

CSDN:在你的职业发展过程中,有没有走过弯路?有什么经验和教训跟大家分享下。

朱燚:我大学不是学习的计算机专业,编程基本是我自学的,所以毕业就面临一个窘迫的问题,我想要工作的公司嫌我没有文凭,想要我的公司我不愿意去。

还好我之前在学校里经常自己做一些项目,认识了一些朋友,于是就介绍了一个工作给我,工资才3位数,不过那时并不太计较这个,只是觉得是锻炼的机会,不夸张的说,那会每天做梦都是在写程序的。

后来CSDN给我了一个机会,我就去了,那时CSDN是一个非常有活力的团队,我又非常有幸能和一些和技术同样狂热的人一起工作,所以提高极快。

因为我一直计划着自己创业,所以回到了成都,然后就是一边寻找团队,一边寻找方向,最后和小伙伴创建了成都英特利欧科技有限公司,这中间有得到了许多朋友帮助。

如果有什么遗憾的话,应该说在CSDN的美好记忆如果更长一点就好了。

CSDN:现在,你作为一名技术总监,每天还编程吗?时间是如何安排的呢?

朱燚:一周至少8个小时在编程上,阅读代码,以及技术资料工作还不算在内。

然后就是开会,打电话和回邮件,这些工作会占掉我每天一半的时间。

然后是编写各种文档,或者阅读一些代码,这些也会是一天工作中很重要的部分。

有一段时间,工作需要我常常出差,所以我尽量把阅读文档和回复邮件的工作放在旅途上,感谢手机的进步,让我无论处理文档,编写邮件都可以在手机上完成,确实节约了大量的时间。

CSDN:你平时都有哪些兴趣爱好?这些爱好对你的工作有什么特别的影响吗?

朱燚:爱运动、爱读书,我曾经组织过自己的球队,每周都会有比赛,其实管理球队和管理团队有相关的地方,都需要热情和经营。比如怎么使用有限的经费、怎么打败对手、怎么在失败时保持队伍的团结等。

书籍方面除了技术书籍,主要是历史和哲学方面的。

哲学家的工作其实很像程序员,抽象组成模型,继而推理生成自己的哲学体系,所以看哲学家的理论就有点像读一篇关于宇宙和人生的代码。

历史让人不会盲从和轻信。

弃移动和互联网应用战场转战传统应用

CSDN:目前,你的主攻方向是城市供水管理,属于细分行业ERP,覆盖从远传计量、内部管理,到最终用户缴费的行业流程,能否简单介绍下该项目的发展过程是什么样的?

朱燚:90年代,这个行业迎来了第一次数字化,数据库管理工具的引入,无线通讯和远程控制技术使得城市管理者能够更好的了解管网数据,用户数据。

00年后,数字化进入第二个阶段,就是规模化与整合,随着数据的积累,对数据管理的规模增加,同时与其他行业软件间的交互增减。

这个十年,新的挑战是怎样让使用大数据,云服务增强系统能力,怎样整合和合理利用移动平台,怎样连接企业应用和用户端App。

另外往往大城市都有完备的平台,这个平台的成本是很高的,以前在计划经济时代,许多都是国家投资完成的,现在市场运作情况下。怎样节约成本,增加效率,同时创造让中小城镇也能享受到自己可以负担并足够简单易用的管理平台,同时给使用互联网和移动设备的用户提供快捷的自助服务,我们也正是致力于这个方向。

我之所以试水ERP行业,主要是下面的原因:

硬件设备:这个应用的底层涉及工业物联网技术,传感和远传,我们都是到物联网有很多方向,个人和工业都有领域应用,但是从我个人而言,觉得工业方面比较靠谱,一是标准相对成熟,而是市场成熟,在不需要融资的情况下,可以相对快速的开发出产品,并能风险较小的取得收入。
行业云:水务行业的行业云还在圈地阶段,电力行业由于自上而下的组织结构,所以已经完成统一,然而水务行业各地各自为,所以行业云的发展有机遇有挑战。
整体后进优势:考察水务行业的流程,大多还停留在90年代的自动化水平,随着新设备,新概念,新政策的出现,各地的水务部门都在寻求与新市场接轨,我们刚好可以插入这个空隙。

CSDN:这个项目涉及到了哪些技术?

朱燚:云服务、数据分析和移动端。

CSDN:现在很多创业者扎堆于可穿戴设备、移动互联网等方向,你为何选择这个创业方向呢?

朱燚:应该说这个创业方向选择了我,每个人并不一定都适合所有的创业方向,比如每个和我去过KTV的人都显然认为不适合成为一名歌星:-)

每个人都应该有适合自己的方向,我的资源、能力和平台以及许多机缘把我带向了这个方向。

首先是我个人的融资能力,我并不具备显赫的教育背景和超级公司的工作背景,所以显然我的个人得分对于投资者来说不会太高。

其次我对硬件不熟悉,这点对于需要跨越软硬竞争的领域是个劣势。

接着,我的性格和资金情况都倾向稳中求胜,而传统行业盈利模式清晰,是符合这个要求的。

最后,也是最重要的就是:切入点,我能看到这个行业其它竞争对手的不足,而这恰好是我能够切入的方向,并且希望能够创造出突破性的盈利模式。

CSDN:移动互联创业者们大多靠游戏这样的应用来实现赢利,那传统应用开发与移动和互联网应用相比,盈利点在哪里?他们各自的优劣势有哪些?

朱燚:互联网和移动端的应用特点是直接面对的用户面广,缺点是比较烧钱,前期可能需要融资投入,后期在盈利模式和开发上比较伤脑筋。传统应用,盈利模式直观,具备行业门槛,缺点是往往竞争激烈,拼的是销售资源。具体的是:

对游戏而言很适合小的技术型团队创业,找到好的游戏设计和创意就可以尝试,而传统业是有行业门槛的,你必须了解行业,深入行业,而且有行业资源才能够进入行业。

所以,决定进入游戏或者网络领域,你必须对自己的设计和功能有信心,能够抓住用户才行。而决定进入行业领域,你需要对自己的行业资源以及对行业的了解有充分的信心才可以。

游戏和互联网抓住客户是第一步,然后是怎么赚到钱,从最初级的广告、到销售装备、到VIP会员加盟,其实这个才是核心的盈利模式,各个网站各有绝招。先烧钱再拿钱,风险是有可能把自己烧到尸骨无存。

传统行业,一个项目一份回报、简单粗暴,但是一入侯门深似海,政策、关系、以及一些灵魂深处黑暗的东西,都是互联网从业者不愿与涉及的。

CSDN:在开发这类传统应用方面,你认为有哪些需要注意的地方?

朱燚:几个关键词,排名不分先后:人性化,贴近实际工作,数据安全。

以前总觉得给管理人员的界面,粗糙点就粗糙点,实际上不是这样。平时我们上一个网站,看着难看大可不看,用着不方便大可不用,换个别的网站就是了,管理工作平台却不一样,是这些操作员每天8小时面对和操作的东西,一点点的效率提升,一点点的界面优化,都会极大的提高工作效率,打个比方,不好的设计就像椅子上一个刺出来的钉子,每天让你在上面坐八个小时,进行工作,你是不是就要抓狂了?给你换个舒服的沙发怎么样?

流程上千万杜绝凭空捏造,我们要的是观察和总结,有句话是没有凭空出现的政策,流程也一样,改进失败的例子,很多都设计的完美极了,但是就是推广不开,实现共产主义还得先经过社会主义不是,在很多条件没有达到之前。比如用户的素养、领导的推广能力、网络条件等等不达标的情况下,梦想容易变成空想。

数据都是比较敏感,费用的信息更加敏感,政府拥有的费用信息尤其敏感。

CSDN:在实际的项目中是如何真正做到迭代的? 

朱燚:在传统的面向项目的开发中,确实很难,因为自己的节奏往往被客户的时间所左右,不过我们的思路不太一样,是以产品为主轴线,按照网络的思维开发应用,这样就和一般的网站开发具备了类似的开发节奏。 

每个版本迭代完成,我们都有一个自省会,总结问题,对内核结构提出修改建议,然后讨论并修改,这个基本上是我们的传统。 

内核上的单元测试覆盖率达到90%以上,也是我们能够成功迭代的基础,不过这也付出了开发时间的代价,现在看起来,这个代价还是值得的。


没有完美的架构,只有刚好的架构,没有满足一切的架构,只有满足目标的架构

CSDN:能否简单介绍下你的架构师之路,以及心中对架构师的理解。

朱燚:关键在于找到平衡点,准确的知道要什么,架构师更像一个表演抛接小球戏法的杂技演员,性能、扩展性、功能、团队、进度等,每个球都要抛起来接住,不能掉到地上。

不同的软件类型,开发方式,对架构师都有不同的要求,基本不可能有架构师可以在所有领域都游刃有余,但是抓住重点,找到平衡点确实是每个成功架构师最重要的技能。

CSDN:软件架构师必须具备哪些技能或素质?哪项技能(素质)是您认为最重要的?

朱燚:我认为主要是这几个方面:

知识全面
 领域经验
决断力
说服力

都很重要,说服力常常被忽略,虽然知识全面、具备深厚领域经验、具有决断力,往往不能说明这个人的发言很有说服力。一个没有发言权,或者发言权不被重视的人怎么可能是好的架构师呢?我见过一些极其优秀的架构师由于没有得到支持而被淘汰,其实在某种程度上,好的架构取决于有多少人用这个架构,所以能够说服别人使用自己的架构也必须被考虑在最重要的素质中,或者至少我们的架构师应该有个坚定而能言善辩的盟友:-)

CSDN:一个成功的架构应该具备什么特点?

朱燚:功能性能都满足要求,开发上简单易用,学习周期短,适当支持扩展。

CSDN:你在2006年,参与CSDN论坛的设计开发,良好的架构设计可以使得单台数据库服务器,达到每天1000万次点击。你认为如何才能做好架构设计呢?

朱燚:我当时的同事非常优秀,他们设计的分布式结构,静态化方法充分满足了15点里提到的一切特点。

从这个例子里,我必须说想要做最好的架构,必须深入这个领域,了解每一个细节,然后是务必清楚的知道目标,我们的目标是设计一个单台数据库性能最好的论坛,那么一切就围绕这个来做,甚至牺牲一些功能,也要完成目标,所以从这个意义上说,没有完美的架构,只有刚好的架构,没有满足一切的架构,只有满足目标的架构。

CSDN:又如何最大限度避免一个架构设计的失败?


朱燚:不要过度设计。

只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化一的架构,希望设计出具有无比扩 展性,能适应一切需求的增加架构,Web开发领域是个非常动态的过程,我们很难预测下个星期的变化,而又需要对变化做出最快最有效的响应。

不要忽略开发平台

我曾近做过一个失败的架构,我在一种自己成功运用在.net平台的反射框架搬到了flex,结果由于flex的开发调试平台不如.net直观,又加之其弱类型的特性,使得该框架调试及其困难,最后不得不放弃。

CSDN:以你这么多年的架构经验,请谈一下当前架构师所面临的挑战有哪些?

朱燚:最大的挑战是没有架构师这个职位,架构师在很多公司不被认可,实际上架构师有的时候是首席设计,有的时候是首席程序员,但是无论如何,他一定是设计的最初参与者之一,最终决策者之一。

CSDN:对于有志于成为架构师的开发者,你有什么心得可分享? 

朱燚:你必须有一颗架构师的心:不谋全局不足谋一隅,尽管你可能只是开发一个小小的模块,也应该尽量去规划整个系统,在心里安排整个团队的开发计划。

CSDN:你认为架构团队与开发团队之间的关系是怎样的?

朱燚:必须是开发设计团队的一部分,全程参与开发,否则架构就容易变成空中之城,反而给开发带来巨大的麻烦。

CSDN:你从一名程序员,再到架构师,直至一名技术总监,角色的转变给你最大的感触是什么?以及你认为如何才能管理好一支开发团队?有什么特别的方法或技巧吗?

朱燚:写程序的时间减少了,开会的时间增加了

坐办公室的时间减少了,出差的时间增加了

用电脑的时间减少了,用电话的时间增多了

最大的感触是:交流也是一种解决问题的力量,有时这种力量非常强大。

我经手的团队规模都不大,有时还分散在全国各地,技术管理者最重要的工作是保持方向,并努力促进大家的沟通。不同的团队成员,大家的性格和做事方式也非常不一样,有的人积极一些,有的人被动一些,有的人爱动脑,有的人爱动手,了解每个人的行事风格,有侧重的安排任务可以让团队运行的更流畅。 

CSDN:在一个人追寻理想、追逐成功的道路上,你认为最需要的是什么?

朱燚:眼光,勇气,毅力,皮实的身体。

只有具备了上面的几点,才能发现,开拓以及百折不挠的坚守,做到知行合一。

CSDN:你在博客中撰文指出:博客专家和论坛专家是来自两个星球的生物,能够谈下你是什么时候接触CSDN的?它对你学习和工作都带来哪些影响?同时,对CSDN有什么建议? 

朱燚:接触很早了,大学的时候查询资料、问题,都有用到,后来又到CSDN工作了一段时间。

不夸张的说没有CSDN,我今天就不会走上技术的道路。与传统开发领域相比,CSDN在移动开发领域的地位似乎不是那么强势,这方面应该可以加强。 

若想获悉朱燚更多动态,请关注:

CSDN博客: 请点击进入

社区之星访谈上期回顾: 

专访孔德芳:如何才能提高Java Web性能?

专访汪海洋:一名程序员的程序缘 

更多精彩内容,请点击社区之星查看。

CSDN社区之星专访栏目,欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:qianshg#csdn.net(#换成@)。

本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: