摘录于 CSDN.NET 全球最大中文IT社区 (内容已和谐)
社区之星:业界知名程序员架构师 —— 钟 声
文章没有涉及任何教学知识,纯生存技能的解析,望对各位在将来的应聘和工作能有一个小小的帮助!
Java程序员,上班那点事儿
CSDN:你是《Java程序员,上班那点事儿》书的作者,2009年上市首月北发图书网排行榜IT图书销量第一名/互动出版网IT图书销量排行榜第一名,你写这本书以及这个选题的初衷是什么?
钟声:这本书的写作初衷就是我在书的前言提到的,看到众多即将进入职场的年轻程序员一脸的迷茫,不知道如何入手,想给大家讲讲里面的门道,让大家更容易知己知彼,快乐工作。
当初写书的时候,我定位Java程序员只是觉得,可以比较精准的找到一个点突破,而不是一个面,所以,里面的全部内容程序员都可以看。
CSDN:这本书里谈了很多问题,可现在程序员的加班熬夜问题一直饱受争议,你如何看这个问题?如何能够很好的解决这一问题?
钟声:在书中以及书外,我一直都强调加班熬夜是不可取的!我团队中的每一个人都知道我会在晚上7-8点轰走他们,让他们尽快去吃饭,不可以为了工作而耽误吃饭睡觉。
工作很重要,但身体更重要!很多程序员,似乎用加班来炫耀自己的辛苦。我作为一个领导,我不会因为他加班而给他绩效评一个“A”,相反,我会觉得他的工作“delay”了。通过延长工作时间并不能解决全部问题,头一天睡得很晚,第二天没精神得不偿失。人毕竟不是铁打的,必须需要休息。
解决这个问题我有如下三点建议:
1、从个人角度来说,抓紧白天的每一分每一秒,制定好自己的工作计划,按照计划稳步推进,不可急功近利。
2、对于团队Leader来说,要适才而用,不能安排的工作超出员工的能力范围太多。要让员工能干、会干、爱干。不可强压任务,不可让员工不得不面对巨大压力无法自拔。
3、少开会!
CSDN:一个优秀的程序员是善于遇到问题解决问题的,而不是记忆大量的本来就不存在的标准答案,对于处理遇到的难题你有什么经验可分享?
钟声:我一直强调,如果你选择了程序员这个道路,就要做好当一辈子学生的准备。因为,你几乎每天面对的都是新的问题,每天都在解答各种难题。
其实这也正是作为一个程序员的乐趣,如果有一天你面前没有什么难题了,我想那时候才真的应该苦恼了。
CSDN:创新,是一项需要综合素质的能力,亦是程序员的核心竞争力,程序员如何进行创新修炼?甚至最终的颠覆性创新。钟声: 都说创新很难,难在哪?
1、无法打破旧有熟悉的东西;
2、打破了旧有的东西之后,迎接你的是无法预知的风险。
这两点也恰恰成为很多人不愿意去创新的借口。
创新不等于思维跳跃与散乱,每个人都在说“创新”,但是很少有人去探究“创新”到底需要什么“土壤”,“创新”绝不是靠凭空偶发的一个想法,“创新”要经过长期思考、总结、积累、旁通、苦闷、再思考... 那些认为不去努力而偶发灵感得到的东西即使很新鲜,长不成大树.。
我们现在看到的各种成功,没有一个不是因为专注而取得的,所谓“精、专、深” 其实就是:
1、活儿玩儿的细,
2、专业专注专心,
3、研究深入思考深入。
想成功吗?照准一个东西死磕!
架构师的那点事儿
CSDN:不同的企业和项目经理对架构师往往定义不完全相同,你是如何定义的?
钟声:很多人认为,架构师就是系统分析师,是拿到系统需求进行分析的人,错!如果系统只是系统分析,那么架构设计谁来弄?
有人认为架构师就是架构设计的人,画画UML,写一写文档之类的人,错!画UML就是设计吗?画图的人有了,设计的人是谁?
还有人认为架构师是从属于项目经理,只管设计,而没有任何权利的人,错!如果设计的决策权交给项目经理,那么这个设计是有分量的吗?
架构师是具有技术发言权、方向决策权和团队人员开发资源调配权的开发团队的核心人物,也是这个程序的设计者,当然他就是这个软件的灵魂!!
CSDN:你此前在写了一篇《为什么你总成为不了架构师?》引起了一片小小波澜,若程序员如果想要修炼为一个架构师,究竟需要培养自己的哪些技能或素质?
钟声:这个涉及方方面面,个人认为可如下这样做:
第一步,要学会用架构师的思想去思考。
第二步,要学会清空自己的大脑。
第三步,只有学会设计的架构师才是架构师。
CSDN:如何做好架构设计?
钟声:有时候,面对产品设计架构设计时,有些人会想当然的说要【满足用户个性化需求是未来趋势】,其实,这句话是错的!设计,如果失去了自己的思想,一味的去迎合用户,是注定要失败的!设计,是为了改变!
很多人都认为程序员作为【理科】专业与任何【感性】概念不沾边,其实不然,好的架构设计必须有感性元素存在,否则就失去了生命,完全理性的东西是死的,缺少活力的设计,绝对不是好的设计。
如果我们研究系统的架构方法,像和尚研究佛法一样深入和专注,那么,你就会成功... 当然,架构师不一定需要是处男。
CSDN:如何开始一个创新的架构设计?
钟声:想进行一个开创性的设计前,请忘掉你以前的所有既得知识,清空你的大脑,用最纯真的思想去思考。
CSDN:你认为顶层“规划”和架构设计有什么区别?
钟声:架构设计是程序框架构建方式作为其关注点,更多的探讨的是该程序如何满足规划需求的结构健壮性。
而作为顶层设计的规划,更多的是从产品、系统、业务,整体宏观的角度考虑整体的模块地位与框架,并不关注其具体实现方法。两者缺一不可。
CSDN:有人说现在有很多“模式”可以使用了,无需再进行什么设计了,你怎么看?
钟声:理性症患者认为架构设计是熟练工种,是模式化训练出来的。其实错了,模式化的架构只是躯壳,虽然它看起来挺像人,但却没有生命。
CSDN:对于一个刚刚从程序员转型过来的架构师,通常有哪些问题是他们最难把握的?
钟声:我根据我的经验总结如下:
1、不要拿项目进度紧张作为忽略架构设计的借口!
2、如果一个架构师每周的会议时间超过了37%,说明效率已经非常低下。
3、要做好架构设计要懂(最好精通):网络协议、各常用操作系统(UNIX、Linux)、内存控制、线程。不要以为精通java、c就天下无敌了。
CSDN:此前新浪网架构师徐佳转行卖水果之事,对此你怎么看?
钟声:我对此新闻也没有太多感想,卖水果也不见得是坏事,但是,架构师转行卖水果,至少说明,他的架构设计做的不如他卖水果成功。
CSDN:对于有志于成为架构师的开发者,你有何建议?
钟声:建议:立志、思考、奋斗。
CSDN:你在博客中指出,但凡有人在面试里回答理想是什么这个问题时说,“有机会的话,自己当老板。”你一律不要,你是出于什么样的考虑?为何你认为是人的理想出问题了?
钟声:为什么一律不要?试想一下,你身边总有一个随时准备另立山头的人,你能踏实吗?
现在85后,尤其是90后,这种现象尤为明显,我认为是人们的理想出了问题。
我们70后小的时候的理想都是,什么科学家啊、警察啊、医生啊。都是一些普通而伟大的职业。
而现在,给年轻人树立榜样的都是,乔布斯啊、马云啊、巴菲特啊。人们理想出了问题,哪有那么多巴菲特啊,大部分的人工作都是平凡的,难道平凡就不能伟大吗?
CSDN:在一个人追寻自己理想、以及追逐成功的道路上,你认为最需要的是什么?
钟声:我认为最需要的就是坚持!
坚持自己的理想,不断的思考,不断的更新自己的方法,向着目标不断前进。