首先声明,我可不是要做什么导师,这样崇高的身份与我无缘。我害怕自己才疏学浅,而误人子弟。导师是要李开复、唐骏之流才能做的。因为之前在一家公司和西南大学有一些业务来往,所以应邀到西南大学做过一次讲座,并为软件工程专业的学生开设了一学期《设计模式》课程,认识了一些热情洋溢的未来程序员。如今,他们也踏上了工作岗位。于是,碰到了一些问题。承他们看得起,居然想到给我发邮件,让我帮他解惑。回复了邮件后,发现这些问题也许对很多菜鸟而言,大约会是常见的困惑。站在一只老鸟的角度来看,我的回答或许能够在一定程度上解决他们的困惑。至少,总结我的教训与经验,在学习方法上能给予他们启发,或者说可以少走许多弯路。想当初,我才涉入这个行业时,不也希望有老鸟愿意给我指导意见么?既然如此,那就分享一下。可人老了,总喜欢教训人,所以害怕邮件中的口吻与态度,让人产生不满。所以先来这一段啰嗦的声明。
这位同学的问题如下:
我最近遇到了一些学习上的方法,想向您请教一下。
进公司实习后我发现,还是有太多太多的技术需要学习,我一直记得你曾经告诉我们的,为了要找工作,我们必须得对一个方向够熟练,够精通,我一直都是朝JAVA这个方向发展的。最近我在拼命的学习一些以前没接触的技术,比如EJB,extjs,JSF等,虽然这些没SSH火爆,可学习一下我想以后总会有用的,可是渐渐的我发现一个问题,就是一门技术只要我过一两个月不用,然后人家在问起时,头脑里就是一头雾水,这种遗忘性非常严重,比如Hibernate的validatiion,search 虽然我没将其用于实际的项目中,但是在八月份的时候,我已经好好的学习了,而且还自己动手写了一些demo的,可是现在让我想的话,我完全就忘了,我看到张老师讲课时说的很多技术问题非常熟悉,我想请你指导我一下,要通过哪些方法来避免我这种“遗忘性”,我知道的除了经常写这方面的代码和在博客上写写外,其它没什么方法了,但是如果经常这样做,势必又会耽误学习其它新技术的时间,谢谢张老师在闲暇之余花时间来看我的邮件。
我的回复如下:
你问的这个问题很典型,我相信很多人都遇见过。事实上,我也没有你想象的那么厉害,很多技术我以前掌握的也会忘记。这与人类大脑的遗忘曲线有关,符合科学规律,所以不必为此烦恼。
怎么解决这个问题呢?我想有以下几条:
1、一门技术必须多用才能掌握,最好的办法是在项目中运用。如果你在真实的项目中使用了某一项技术,那么印象就会非常深刻。即使忘记,也能很快捡起来。
2、如果要学新的技术,仅仅是为了拓宽自己的知识结构,那肯定没有时间对这些技术做大量的练习了。这时候,就要对技术进行分类。看你掌握这门技术的目的。如果技术仅仅是一种工具,我认为只需要了解它能做什么,就OK了。因为即使你把它的整个使用方法搞懂,久了不用也会忘记。如果你知道这个技术能做什么,当做项目时需要用到,再去查阅相关的文档和资料,完全足以应付。如果这门技术非常重要,甚至有许多可借鉴之处,那么在搞清楚它能做什么的同时,还应该理解它的原理、思想以及实现的方法。
3、养成随时记录心得和教训的习惯。不管是项目中,还是学习过程中,凡是认为有价值之处,都有必要记录下来。不一定要发到博客上,只要保存起来就好。不过,在保存的时候,要做好合理的分类,以便于今后查阅。不要觉得这个耽误时间,它是非常有用的。我以前就没有充分认识到,导致之前做的项目碰到的很多问题,当时解决了就完了。到现在都无法回忆起来了。现在的我就告诫自己,一定要做到这一点。所谓“磨刀不误砍柴工”,耽误的这点时间是完全值得的。如果你只是不停地学,却不知道积累,那就和猴子掰包谷没有什么区别了。此外,这样的做法还有利于磨练你的文档编写能力、分类和总结的能力。重新整理这些内容,也有助于你再一次理清自己的思路。真的是非常有价值的做法。我记得以前在课堂上也给你们说过。事实上,Martin Fowler的《重构》一书,之所以能写成,就在于他遵循了这一做法。最近,我刚刚完成《重构》一书的点评,其中大量的点评内容也是我采取这种方式日积月累获得的。
4、最后一点,是学会选择。软件技术实在太多。要弄清楚你自己的目标。最重要的是要确定自己的职业发展,专业的说法叫“职业生涯规划”。是技术,管理,还是二者兼顾。然后,再有目的性的去学习知识。即使是技术领域,也有很多发展方向:网络、数据库、底层算法、框架、架构、UI设计,性能优化,系统集成,太多太多。不要漫无目的地学,这样也好,那样也好,所以都去学,结果学了又没用上。所以,要先确定目标,然后做出选择,再制定计划,包括短期计划和长期计划。
希望这对你能有帮助。保持联系!
分享到:
相关推荐
菜鸟到老鸟-教你玩转Mac操作
这份资料很是宝贵 是我从导师那掏来的哦 不管你是初入网络 还是想要有番作为 这都是你不可缺少的 它会告诉你 什么是网络 还有最客观的原理 (第一个下载的人和我联系下 我把后面的 《详解 2,3》 邮箱发给你 我上传...
数据结构与算法设计分析——动态规划从菜鸟到老鸟数据结构与算法设计分析——动态规划从菜鸟到老鸟数据结构与算法设计分析——动态规划从菜鸟到老鸟数据结构与算法设计分析——动态规划从菜鸟到老鸟数据结构与算法...
本文将对商业地产招商人员从新兵到老鸟必须掌握的技能进行详细的分析和总结。 一、地理位置的问题 商业地产招商人员需要掌握的地理位置问题包括项目的具体地理位置、项目环境的特色、项目周围的主要交通设施、项目...
**jQuery:从菜鸟到老鸟** jQuery 是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。这个资源旨在帮助初学者快速掌握jQuery,并逐步提升为熟练开发者。 **一、...
一个老鸟的Java学习心得 -- 1·2·3
下面将根据给定的文件信息,详细解析《菜鸟编程10大好习惯:菜鸟变老鸟》中的关键知识点,帮助读者理解并实践这些习惯,从而加速个人成长。 ### 1. **重视计划与细节** 首先,养成重视计划的习惯是编程的基础。这...
这个"JavaScript核心教程,从菜鸟到老鸟"旨在帮助初学者全面理解并熟练掌握JavaScript语言,从而迈入前端开发的大门。 JavaScript是一种轻量级的解释型编程语言,具有动态类型、基于原型的对象和函数式编程风格。它...
罗拉的奋斗(EXCEL菜鸟变老鸟的进阶过程)
这不仅展示了C语言的数据输入输出、逻辑判断能力,还体现了对日历系统的理解和应用。 以上四个示例覆盖了C语言的基础控制结构、数学运算、逻辑判断等关键知识点,对于初学者来说是非常好的实践案例。
运气好偶日一影楼网站(菜鸟级,老鸟飘过)1
不走弯路,帮助你快速掌握Facebook运营重点。Facebook广告投放累计超过200万美元的经验数据分析以及总结,快速理解专业广告投放的重点,学完以后加以实操的练习很快就可以...2、Facebook菜鸟到老鸟全系列运营玩法(老)
Ex_Style 风格设置,不知道是吴总觉得用易语言的人太笨不会使用窗口风格还是他太懒不加自定义窗口风格,好像火山PC编程也是这个鸟样在界面设计器没有自定义窗口风格,只能靠写API来修改,初级菜鸟教程,老鸟请关闭本...
别样诠释 一个Visual C++老鸟10年学习与开发心得
#6软件编程出生的我们毕业后该何去何从?来听听老鸟的建议
老鸟也常常因为不注意这点而犯错误。 菜鸟之伤(3):while循环条件外面误加了分号 在while循环条件外面误加了分号,编译不影响,但是结果循环体没有真正得到多次执行。这是一个典型的菜鸟错误,往往因为编译能...
作为一个在玉泉呆了n年的老鸟,每每为开学时菜鸟们前仆后继地扑向黑店、黑摊而感到痛心疾首、扼腕惋惜、生不如死、掩面而泣、痛心疾首……呃~查找总结原因,在于新生入学时不能及时得到有效丰富的校园信息,所以...
这个名为"MyQQ"的项目,就是这样一个尝试,它为菜鸟提供了宝贵的实战经验,同时也是一个展示C#语言特性的实例。 首先,我们要理解C#的基础语法。C#是.NET框架的一部分,它支持类、接口、继承、多态等面向对象的关键...
【十年程序员老鸟简历模板】是一份专为有十年工作经验的资深程序员设计的简历模板,旨在帮助这类专业人士清晰地展示其技术专长、工作经历和项目成果,以提高获得高薪职位或大厂青睐的机会。这份模板包含了多个关键...