“又是一q毕业时 ”Q看CҎ学子d人生的象牙塔Q走上各自的工作岗位Q想惌׃曄意气风发、踌w满志,不觉感叹万千……本文是自己工?q的l历沉淀或者经验提|希望Ҏ有的软g工程师们有所帮助Q早日实现自q人生目标。本文主要是关于软g开发h员如何提高自q软g专业技术方面的具体Q前面几Ҏ在确定大的方向,是废话吧?
'\ i'E*o5?5g6]#g(y)n8L1、分享第一条经验:“学历代表q去、能力代表现在、学习力代表未来?#8221;其实q是一个来自国外教育领域的一个研I结果。相信工作过几年、十几年的朋友对q个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾l生Q?#8221;所以放在每一条,让刚刚毕业的朋友们早点看到哈Q?
TechWeb-技术社?N9{'t%a+M
2、一定要定自己的发展方向,qؓ此目的制定可行的计划。不要说什么,“我刚毕业Q还不知道将来可能做什么?”Q?#8220;跟着感觉赎ͼ先做做看”。因为,q样的观点会通过你的潜意识去暗示你的行ؓ无所事事、碌无为。一直做技术,来成ؓ专家Uh物?向管理方向走Q成业经理hQ先熟悉行业和领域,来自立门户Q还是先在行业里面Pq几q{行做点别的?q很重要Q它决定你q几q、十q内“做什么事情才是在做正的事情Q?#8221;?
8R(X1}1g R/D$Z*K$y5U
3、Y件开发团队中Q技术不是万能的Q但没有技术是万万不能的!在技术型团队中,技术与人品同等重要Q当焉怹比较重要哈,其在MM比较多的团队中。在软g目团队中,技术水qx受h重视和尊重的重要砝码。无Z是做理、系l分析、设计、编码,q是产品理、测试、文、实施、维护,多少你都要有技术基。算我孤陋寡闻,我还真没有亲眼看到过一个外行带领一个Y件开发团队成功地完成qY件开发项目,哪怕就一个,也没有看到。倒是曄看到q一?#8220;高学历的牛h”(非技术型)带一堆h做完q一个项目,目交付的第二天Q项目组成员扔下一?#8220;再也受不了啦Q?#8221;四分五裂、各奔东ѝ那个项目的“成功?#8221;大家可想而知了?
tech.techweb.com.cn&F,q9R;K/u.@
4、详l制定自pY件开发专业知识学习计划,q注意及时修正和调整(软g开发技术变化实在太?。请牢记Q?#8220;如果一个Y件开发h员在1?q内都没有更新过自己的知识,那么Q其实他已经不再属于q个行业了?#8221;不要告诉自己没有旉。来自时间管理领域的著名?#8220;三八原则”告诫我们Q另外的?时如何使用决定你的h生成败!本h自毕业以来,q_每天实际学习旉过2时?
+j&G1B p7U/? g
5、书c是人类q步的阶梯,对Y件开发h员尤其如此。书c是学习知识的最有效途径Q不要过多地指望在工作中能遇?#8220;世外高h”Qƈ不厌其烦地教你。对于花׃书,我个人经验是Q千万别买国内那帮h出的书!我买的那些家伙出的书Q?00%全部后悔了,无一本例外。更气愤的是Q这些书在二手市场的地摊上都很难卖掉?#8220;拥有书籍q不表示拥有知识Q拥有知识ƈ不表C拥有技能;拥有技能ƈ不表C拥有文化;拥有文化q不表示拥有智慧?#8221;只有书本变成的自己智慧Q才是真正拥有了它?
,U5p1B&q9s4uE序开发,操作pȝQ服务器Q源码下载,Linux,Unix,BSD,PHP,Apach,asp,下蝲,源码,黑客,安全,技术社?技术论?/span>6、不要仅局限于ҎҎ术的表面使用上,哪怕你只是偶尔用一、二ơ?#8220;对Q何事物不I就?#8221;是Q何行业的工程师所不应该具备的素质。开发Windows应用E序Q看看WindowsE序的设计、加载、执行原理,分析一下PE文g格式Q试试用SDK开发从头开发一个Windows应用E序Q用VCQ+?Delphi、Java?Net开发应用程序,花时间去研究一下MFC、VCL、J2EE?Net它们框架设计或者源码;除了会用J2EE?JBoss、Spring、Hibernate, http://www.bt285.cn {等优秀的开源品或者框Ӟ抽空看看大师们是如何抽象、分析、设计和实现那些cM问题的通用解决Ҏ的。试着q样做做Q你以后的工作将会少遇到一些让你不明就里、一头雾水的问题Q因为,很多东西?#8220;知其然且知其所以然”Q?
$Z.F7B.I2u1X7、在一U语a上编E,但别为其束缚了思想?#8220;代码大全”中说Q?#8220;深入一门语a~程Q不要Q于表?#8221;。深入一门语a开发还q远不QQ何编E语a的存在都有其自n的理由,所以也没有哪门语言?#8220;包治癄”?#8220;灵丹妙药”。编E语a对开发h员解军_体问题的思\和方式的影响与束~的例子俯拾皆是。我的经验是Q用面对对象工具开发某些关键模块时Qؓ什么不可以借鉴C、C51、汇~的模块化封装方式?用传l的桌面开发工?目前主要有VC++、Delphi)q行pȝ体统l构设计ӞZ么不可以参考来自JavaC的IoC、AOP设计思想Q甚臛_鉴像Spring、Hibernate、JBoss{等优秀的开源框Ӟ在进行类g实时通信、数据采集等功能的设计、实现时Qؓ什么不可以引用来自实时pȝ、嵌入式pȝ的优U的体pL架与模式Qؓ什么一切都必须以个人、团队在当然开发语a上的传统或者经验来解决问题Q?Q?#8220;他山之石、可以攻?#8221;?E序开发,操作pȝQ服务器Q源码下载,Linux,Unix,BSD,PHP,Apach,asp,下蝲,源码,黑客,安全,技术社?技术论?q8~7X.v'p&B/S
8、养成ȝ与反思的习惯Qƈ有意识地提炼日常工作成果QŞ成自q个h源码库、解xc问题的通用pȝ体系l构、甚臌化ؓ框架。众所周知Q对软g开发h员而言Q有、无l验的一个显著区别是Q无l验者完成Q何Q务时都从头开始,而有l验者往往通过重组自己的可复用模块、类库来解决问题Q其实这个结Z应该被局限在软g开发领域、可以g伸到很多斚wQ。这q不是说Q所有可复用的东襉K必须自己实现Q别人成熟的通过试的成果也可以攉、整理、集成到自己的知识库中。但是,最好还是自己实玎ͼq样没有知识产权、版权等问题Q关键是自己实现后能真正掌握q个知识点,拥有q个技能?
9M2s*m+V.W"?*[*W3v)l+O9、理Z实践qQ内外双修。工E师的内涉|Q以工程师的眼光观察、分析事物和世界。一个合格的软g工程师,是真正理解了软g产品的本质及软g产品研发的思想_N的hQ个炏V欢q探讨)。掌握Y件开发语a、应用语a工具解决工作中的具体问题、完成目标Q务是软g工程师的主要工作Q但从Y件工E师q个角度来看Q这只是外在的东西,q重要的、本质的工作。学习、掌握Y件品开发理论知识、Y件开发方法论Qƈ在实践中理解、应用Y件品的分析、设计、实现思想来解军_体的软g产品研发问题Q才是真正的软g工程师的工作。站在成熟理Z可靠Ҏ论的高度思考、分析、解决问题,q在具体实践中验证和修正q些思想与方式,最lŞ成自q理论体系和实用方法论?
6l)d+H,S7~(B+`10、心态有多开放,视野有多开阔。不要抱着自己的技术和成果Q等到它们都已经q时变成垃圾了,才拿出来丢h现眼。请及时发布自己的研I成果:开发的产品、有创意的设计或代码Q公布出来让大家交流或者用,你的成果才有q化和升华的Z。想惌?000q间开发的那些Windowspȝ工具Q??q之后的今天Q还是那个样子,今天行的好多Windowspȝ工具都比自己的晚Q但q化得很好,且有那么多用户在使用。ƈ且,不要保守自己的技术和思想Q尽可能CZ与分nQ或者传授给开发团队的成员?#8220;与h交换Ҏ之后Q每个hq是只有一个苹果;但交换思想之后Q每个h都拥有两U思想”Q道理大安懂,但有多少人真正能做到呢? :n4K*z,@0l#t$?&]"r
11、尽量参加开源项目的开发、或者与朋友共同研制一些自q产品Q千万不要因为没有钱赚而不做。网l早已不再只?#8220;虚拟世界”Q网上有很多的开源项目、合作开发项目、外包项目,q都是涉猎工作以外的知识的绝好机会,q且能够l识更广的h~。不要因为工作是做ERPQ就不去学习和了解嵌入式、实时、通信、网l等斚w的技术,反过来也是一栗如果当别h拿着合同找你合作Q你却这也不会,那也不熟Ӟ你将后悔莫及?
&_8[,U&x'N4{12、书到用时方恨少Q不要将自己的知识面仅仅局限于技术方面。诺贝尔l济学奖得主西蒙教授的研I结果表明: “对于一个有一定基的h来说Q他只要真正肯下功夫Q在6个月内就可以掌握M一门学问?#8221;教育心理学界为感谢西蒙教授的研究成果Q故命名蒙学习法。可见,掌握一门陌生的学问q远没有惌的那么高难、深奥。多方吸取、广泛涉猎。极力夯实自q影响圈、尽量扩大自qx圈。胦务、经、税务、管理等{知识,有空花时间看看,韬光L、未雨绸~?
3z&W3]3c1s3h13、本文的ȝ与反思: 8w0b/e(y:E4y3n3Q3|"|+{-k
AQ不要去做技术上的高手,除非你的目标如此。虽然本文是关于提高软g开发知识的Q做技术的高手是我一向都不赞同的。你可以提高自己的专业知识,但能胜Q工作x?
4w#v8I5?(f,q-AE序开发,操作pȝQ服务器Q源码下载,Linux,Unix,BSD,PHP,Apach,asp,下蝲,源码,黑客,安全,技术社?技术论?/span>BQ提高Y件知识和技术只是问题的表面Q本质是要提高自p识问题、分析问题、解决问题的思想高度。Y件专业知识的很多Ҏ和原理,可以很容易地延、应用到生活的其它方面?TechWeb-技术社?H:e7P"C/V,v-g
CQ在能胜d作的基础上,立即L猎其它领域的专业知识Q丰富自q知识体系、提高自ql合素质Q尤其是那些目标不在技术方面的朋友?