来自:http://blog.csdn.net/david_lv/article/details/6030466
这是今天和校招新同事交流时的总结,希望校招新同事能够回顾,也能够写出自己的总结。
一、什么是代码高手?你怎么证明自己是代码高手?
知道许多代码技巧、JS炫彩技巧的人大有人在。你知道多少个.net函数,这一点都没有意义。你知道多少个新鲜IT名词,多少技术介绍,这也没有意义。做,真正做一个原型,做一个项目,解决你手头棘手的问题,这才有意义。
1、快速准确的理解别人说的-〉
2、快速的开发,还准确的反映了别人的需求-〉
3、稳定,最少出BUG-〉
4、高性能,10万条记录你能顶住,1000万条记录你能顶住吗?这就是技术功底的考验
5、这还不够,你的代码是否能让别人快速的理解了
6、你的代码是否能比较容易的接受不同客户的需求差异
这都是处处要你的分析功底、架构功底、编码功底。
二、怎么炼成高手?
1、阅读优秀的开源源代码。先找代码量不大的。要彻底的阅读,剖析清楚有多少个类,这些类的关系。为什么要设计这样的类架构,为什么要这样设计接口。这些思考相当有深度。
2、根据你的需求,把开源源代码进行修改。因为开源源代码是浑然一体,你加的功能是否很好和现有代码融合。这相当考验功底。
3、读书,谁发明的这个东西就读谁的书。如想学SQLSERVER,就一定要读SQLSERVER开发经理或技术小组写的书。别人写的书都会有歧义。要读透,反复阅读它的设计原理。不要只学会使用。比如说SQLSERVER,写SQL和SP就是懂SQLSERVER?我们一定要明白到SQLSERVER的数据页面是如何组织的,为什么要这样组织,它是怎样被载入内存中,它又是怎样回写到物理设备上。我们要到这个深度。否则,你只能是知道个皮毛,平时看是高手,一到真正难关立马歇菜。
如果你学的技术还不能帮助你解决你目前手头的问题,说明你还学的不到位。
4、找到你的师傅。一个人的成长,很难是自己一个人苦苦学习摸索修炼。这样提升很慢。你如果想快速发展,你必须找到你在这家公司中的引路人。他可能是你的入职指引人,也可能是别人。你一定要好好观察,看中了就一定要积极联系上他紧紧的跟随着他,平时多请教多观察他的思考方式做事方式。
5、给自己树立一个信念:我要在X年中成为公司所有人公认的技术高手。我要在X年终成为中国软件业一流的程序员。必须设立目标,而且时时刻刻为这个目标奋斗,坚持每天阅读、思考、开发、修改代码达到13-16个小时以上。有一个故事讲的就是每件事要想做专业必须要经过1万个小时的反复练习才能成功。对,我说的就是这个意思。不疯魔不成活。
三、推荐书目:
1、《.net企业应用架构模式》,从数据层、业务层、表现层概况性的讲解,难度和深浅度适中,但是很有全貌感。值得推荐阅读。让大家看到企业级软件开发,不是一个vb.net+SQL就包打天下。让大家从架构的角度去理解产品理解代码结构。
2、研发文化:<观止>是我阅读过的IT研发文化很好的书。它真实的反映了软件研发的复杂、焦虑、压力、创造。另外,还有两本书也很好,值得推荐,它们是:《追随智慧》,讲的是微软亚洲研究院成立的故事。《borland传奇》,讲的是borland公司在IT业界几经变化、商业战争、技术变革的沉浮录。
你阅读这三本书后会掩卷长叹,原来一个成功的产品的诞生是多么的曲折与艰难,中间会经历多少商业竞争机缘巧合,也会浮现多少独当一面的代码英雄。
我常常说,一个人有没有可能成为软件高手,他是有一种说不清的气质的,你知道那就是程序员精神,他是与众不同的,你能明显感觉的到。
3、我平时个人阅读的杂志是《程序员》,里面有很多前沿技术趋势介绍。还有《创业家》和《IT经理世界》,有很好的IT应用。
不过作为我个人,在技术上我是一直关注数据架构层和中间架构层,我对前端架构和设计没有经验。在业务上,我一直关注产业链、产业集群、供应链、生产序列分解、轻公司、互联网生活服务/互联网营销/互联网客户关系社区。
最后一句话:
美到极致是疯狂。希望大家在平时工作中开发每一个产品时,都能暗下决心:It's My Baby!
对,它就是你创造的孩子,你要用心去雕琢它呵护它。