??xml version="1.0" encoding="utf-8" standalone="yes"?>
作者:成晓?/p>
(声明Q欢q{载,请保证文章的完整?
“又是一q毕业时”,看到一Ҏ学子d人生的象牙塔Q走上各自的工作岗位Q想惌׃曄意气风发、踌w满志,不觉感叹万千……本文是自己工作6q的l历沉淀或者经验提|希望Ҏ有的软g工程师们有所帮助Q早日实现自q人生目标。本文主要是关于软g开发h员如何提高自q软g专业技术方面的具体Q前面几Ҏ在确定大的方向,是废话吧?/p>
谨以此文献给那个自己Z奉献3q青春与Ȁ情的开发团队。还有团队成员:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD。 ?
1、 ?分nW一条经验:?strong>学历代表q去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研I结果。相信工作过几年、十几年的朋友对q个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚抱憄生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈Q?/p>
2、 ?strong>一定要定自己的发展方向,qؓ此目的制定可行的计划。不要说什么,“我刚毕业,q不知道来可能做什么?”,“跟着感觉赎ͼ先做做看”。因为,q样的观点会通过你的潜意识去暗示你的行ؓ无所事事、碌无为。一直做技术,来成ؓ专家Uh物?向管理方向走Q成业经理hQ先熟悉行业和领域,来自立门户Q还是先在行业里面Pq几q{行做点别的?q很重要Q它决定你q几q、十q内“做什么事情才是在做正的事情Q”?/p>
3、 ?软g开发团队中Q技术不是万能的Q但没有技术是万万不能?/strong>Q在技术型团队中,技术与人品同等重要Q当焉怹比较重要哈,其在MM比较多的团队中。在软g目团队中,技术水qx受h重视和尊重的重要砝码。无Z是做理、系l分析、设计、编码,q是产品理、测试、文、实施、维护,多少你都要有技术基。算我孤陋寡闻,我还真没有亲眼看到过一个外行带领一个Y件开发团队成功地完成qY件开发项目,哪怕就一个,也没有看到。倒是曄看到q一个“高学历的牛人?非技术型)带一堆h做完q一个项目,目交付的第二天Q项目组成员扔下一句“再也受不了啦!”四分五裂、各奔东ѝ那个项目的“成功度”大家可惌知了?/p>
4、 ?详细制定自己软g开发专业知识学习计划,q注意及时修正和调整(软g开发技术变化实在太?/strong>)。请牢记Q“如果一个Y件开发h员在1?q内都没有更新过自己的知识,那么Q其实他已经不再属于q个行业了。”不要告诉自己没有时间。来自时间管理领域的著名的“三八原则”告诫我们:另外的那8时如何使用决定你的h生成败!本h自毕业以来,q_每天实际学习旉过1.5时?/p>
本h毕业6q来主要的学习计划、资料:
旉Q?000q?/p>
目标Q学习工作需要的C、C++、Delphi
l典书籍QC++~程思想、Delphi4开发大?/p>
旉Q?001q?/p>
目标Q学习Windows操作pȝ原理、WindowsE序设计(SDK)知识、系l学习信息安全、密码学知识
l典书籍Q打开Windowsq扇H、Windows操作pȝ原理、Windows核心~程、windows|络~程技术、加密与解密、应用密码学、密码编码和密码分析Q原理与Ҏ
旉Q?002q?/p>
目标Q学习Y件工E、Y件系l分析、设计、测试,l一软g开发方法及Rose
l典书籍QUML和模式应用、统一软g开发、Rose从入门到_N、Y件工E?实践者的研究Ҏ、系l分析与设计?/p>
旉Q?003q?/p>
目标Q学习Java语言及技术、设计模式?/p>
l典书籍Q设计模式、JAVA 2~程指南、J2EE数据库开发指南、Master EJB、EJB应用指南Q第2版)
旉Q?004q?005q?/p>
目标Q工作原因技术毫无进?/p>
l典书籍Q用极有限的旉了解心理学、社会学、经、教育等领域的知?/p>
旉Q?006q?/p>
目标Q重学Java相关技术、Y件开发方法论
l典书籍Q重构、敏捯Y件开?原则、模式与实践)、代码大全、Spring In Action、J2EE without EJB、Spring框架高~程
5、 ?font color="#0000ff">书籍是hc进步的阶梯Q对软g开发h员尤其如?/font>。书c是学习知识的最有效途径Q不要过多地指望在工作中能遇到“世外高人”,q不厌其烦地教你。对于花׃书,我个人经验是Q千万别买国内那帮h出的书!我买的那些家伙出的书Q?00%全部后悔了,无一本例外。更气愤的是Q这些书在二手市场的地摊上都很难卖掉。“拥有书cƈ不表C拥有知识;拥有知识q不表示拥有技能;拥有技能ƈ不表C拥有文化;拥有文化q不表示拥有智慧。”只有将书本变成的自己智慧,才算是真正拥有了它?/p>
6、 ?不要仅局限于ҎҎ术的表面使用上,哪怕你只是偶尔用一、二?/strong>。“对M事物不究里”是M行业的工E师所不应该具备的素质。开发Windows应用E序Q看看WindowsE序的设计、加载、执行原理,分析一下PE文g格式Q试试用SDK开发从头开发一个Windows应用E序Q用VCQ+、Delphi、Java?Net开发应用程序,花时间去研究一下MFC、VCL、J2EE?Net它们框架设计或者源码;除了会用J2EE、JBoss、Spring、Hibernate{等优秀的开源品或者框Ӟ抽空看看大师们是如何抽象、分析、设计和实现那些cM问题的通用解决Ҏ的。试着q样做做Q你以后的工作将会少遇到一些让你不明就里、一头雾水的问题Q因为,很多东西你“知其然且知其所以然”!
7、 ?在一U语a上编E,但别为其束缚了思想。“代码大全”中_“深入一门语a~程Q不要Q于表面”。深入一门语a开发还q远不QQ何编E语a的存在都有其自n的理由,所以也没有哪门语言是“包ȝ病”的“灵丹妙药”。编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“他׃矟뀁可以攻玉”?/p>
8、 ?Lȝ与反思的习惯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个技能?/p>
9、 ?理论与实践ƈ重,内外双修。工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理论体系和实用方法论?/p>
10?font style="BACKGROUND-COLOR: #d3d3d3" color="#0000ff">心态有多开放,视野有多开?/strong>。不要抱着自己的技术和成果Q等到它们都已经q时变成垃圾了,才拿出来丢h现眼。请及时发布自己的研I成果:开发的产品、有创意的设计或代码Q公布出来让大家交流或者用,你的成果才有q化和升华的Z。想惌?000q间开发的那些Windowspȝ工具Q??q之后的今天Q还是那个样子,今天行的好多Windowspȝ工具都比自己的晚Q但q化得很好,且有那么多用户在使用。ƈ且,不要保守自己的技术和思想Q尽可能CZ与分nQ或者传授给开发团队的成员。“与Z换苹果之后,每个是只有一个苹果;但交换思想之后Q每个h都拥有两U思想”,道理大家都懂Q但有多h真正能做到呢Q?/p>
11?font style="BACKGROUND-COLOR: #d3d3d3" color="#0000ff">量参加开源项目的开发、或者与朋友共同研制一些自q产品Q千万不要因为没有钱赚而不?/strong>。网l早已不再只是“虚拟世界”,|上有很多的开源项目、合作开发项目、外包项目,q都是涉猎工作以外的知识的绝好机会,q且能够l识更广的h~。不要因为工作是做ERPQ就不会学习和了解嵌入式、实时、通信、网l等斚w的技术,反过来也是一栗如果当他别人拿着合同找你合作Q你却这也不会,那也不熟Ӟ你将后悔莫及?/p>
12?font style="BACKGROUND-COLOR: #d3d3d3" color="#0000ff">书到用时Ҏ,不要自q知识面仅仅局限于技术方?/strong>。诺贝尔l济学奖得主西蒙教授的研I结果表明: “对于一个有一定基的h来说Q他只要真正肯下功夫Q在6个月内就可以掌握M一门学问。”教育心理学界ؓ感谢西蒙教授的研I成果,故命名ؓ西蒙学习法。可见,掌握一门陌生的学问q远没有x的那么高难、深奥。多方吸取、广泛涉猎。极力夯实自q影响圈、尽量扩大自qx圈。胦务、经、税务、管理等{知识,有空花时间看看,未雨l缪?/p>
13、本文的ȝ与反思: AQ?font color="#000000">不要d技术上的高手,除非你的目标如此。虽然本文是关于提高软g开发知识的Q做技术的高手是我一向都不赞同的。你可以提高自己的专业知识,但能胜Q工作x?/p>
BQ提高Y件知识和技术只是问题的表面Q本质是要提高自p识问题、分析问题、解决问题的思想高度。Y件专业知识的很多Ҏ和原理,可以很容易地延、应用到生活的其它方面?/p>
CQ在能胜d作的基础上,立即L猎其它领域的专业知识Q丰富自q知识体系、提高自ql合素质Q尤其是那些目标不在技术方面的朋友?/p>