前言:本文以《IT从业者的职业规划》一文中的职业为基础,结合笔者自身的工作学习经验,对IT从业者学习的过程进行系统规划性的分析和阐述,以期能帮助处于迷茫中的从业者们。
一直想找个时间把以前的经验总结下来,记录成系列形式的文章。我喜欢系列形式的文章。看园子里的系列文章,往往有期待感,也有满足感。一来它是一个系统的学习的过程;二来也是作者的一个系统的经验总结的过程,对人对己都有益处。系列文章是能够帮助学习者一步步的从不知道到应用高手的学习的一个过程。(在此请园子里的高手们多写系列形式的文章,多谢)
就象我写的《IT从业者的职业规划》一样,在这里,作为项目经理的我,也对IT从业者的职业学习过程做个规划,算是我个人的一个学习过程的总结,也给IT从业新人有个系统的学习和提高的过程指导,作为即将开炉的学习者系列文章的开篇。下面开始吧。该规划分的阶段不是按园子里博问的分法,各人见解不同。如有不恰当之处,请大家见谅。。。。。。
一、初学者阶段
我把刚开始学习的阶段定义为初学者阶段。该阶段学习者什么都不会,必须从摸索阶段进行系统学习,这样能少走弯路,以尽快掌握知识以达到入门,从而具有使用该知识进行工作的能力。该阶段基本上从学习、模仿开始,需要对事物的原理进行了解,以期打好基础,为以后阶段做准备。
1)在技术上。该阶段的学习者,往往技术上是什么都想学习,因为他不知道以后需要什么样的知识,往往保存了很多的代码和示例,以能进行学习整理和在工作中进行应用。
尽量以数据库为开始,从基本的数据库知识入手,学习数据库的原理和实际的运行机制,这里还是推荐微软的SQL SERVER系列,和甲骨文的Oracle系列为出发点。MySQL也可以进行开发,并且是具有免费的版本,但是初始学习阶段,尽量以使用率相对较多的数据库开始比较好。然后是编程语言。个人还是推荐以C++为切入点进行。一来C++语言是面向对象的,本身需要面向对象的思想,这点很重要。二来后面的那些高级语言,比如VC,C#,JAVA等等,也是面向对象的语言,而且他们的语法上与C语言很类似,容易从C++的面向对象思想转换到这些高级语言的思想上。接着是指导老师的问题。在该阶段,最好的学习方式,一般分为自学和项目组组织的内部培训以及外部的培训三种方式。对于自学,可以通过阅读相关书籍,或者网络上的资料来进行。这部分学习的时间,可以在项目实现之余,或者自己找时间去学习了,因为工作时间相对来说是限制了学习的时间。对于交流,除了项目团队内部的交流会议之外,项目经理可以使用XP极限编程的方式来直接的使某几个人的编程风格和水平的差距进行缩小。当然了,也可以通过博客、提问等方式与网络上的友人进行交流,这样既增长了自己的见识,也使自己的朋友圈子扩大,同时也会找到志同道合的友人,且能够在实际工作中帮助自己的友人。然后是开发工具的使用问题。需要挑选合适的开发工具以进行学习。同时需要寻找一些辅助工具来进行提高工具使用的便捷性和易用性。
2)在业务上。建议初学者以项目助理的方式进行切入。因为项目助理的工作,会涉及到项目业务方向上的方方面面,对于自身的经验积累和工作难易程度的把握比较恰当。而且,也容易对业务的学习规划有个较明确的方向。同时需要积极的参与系统业务方面知识的学习和积累,这个可以通过查阅该业务领域的标准和政策等内容来进行。最好是以需求为切入点来进行分析和实践工作。如果有机会,可以与客户一起进行工作,以了解他们对业务的需求情况和实际操作习惯等内容,为下一阶段做准备。不同领域的业务需求是不一样的,建议初学者们在根据职业规划的路在发展的同时,尽量的不要更改业务领域方向,这样以坚持的态度去学习和理解该领域的业务是非常重要的,同时也利于不断的积累。
3)在管理上。对该阶段的象往管理方向发展的学习者,建议与业务方向的学习者一样,仍然以项目助理的方式进行切入比较合适。项目助理这个角色,是对于项目管理者的一个辅助的角色,对于项目管理者管理好项目的各项内容具有很好的指导价值(就象总经理办公室的秘书一样的角色)。
在该阶段,引导非常重要的,尽量以系统的学习结合实际或者自己定义的一些小系统为基础进行学习,不要一味的以某些培训为主去进行学习,虽然培训是一个快速获取知识的方法。
1)在技术上。该阶段的学习者,往往技术上是什么都想学习,因为他不知道以后需要什么样的知识,往往保存了很多的代码和示例,以能进行学习整理和在工作中进行应用。
尽量以数据库为开始,从基本的数据库知识入手,学习数据库的原理和实际的运行机制,这里还是推荐微软的SQL SERVER系列,和甲骨文的Oracle系列为出发点。MySQL也可以进行开发,并且是具有免费的版本,但是初始学习阶段,尽量以使用率相对较多的数据库开始比较好。然后是编程语言。个人还是推荐以C++为切入点进行。一来C++语言是面向对象的,本身需要面向对象的思想,这点很重要。二来后面的那些高级语言,比如VC,C#,JAVA等等,也是面向对象的语言,而且他们的语法上与C语言很类似,容易从C++的面向对象思想转换到这些高级语言的思想上。接着是指导老师的问题。在该阶段,最好的学习方式,一般分为自学和项目组组织的内部培训以及外部的培训三种方式。对于自学,可以通过阅读相关书籍,或者网络上的资料来进行。这部分学习的时间,可以在项目实现之余,或者自己找时间去学习了,因为工作时间相对来说是限制了学习的时间。对于交流,除了项目团队内部的交流会议之外,项目经理可以使用XP极限编程的方式来直接的使某几个人的编程风格和水平的差距进行缩小。当然了,也可以通过博客、提问等方式与网络上的友人进行交流,这样既增长了自己的见识,也使自己的朋友圈子扩大,同时也会找到志同道合的友人,且能够在实际工作中帮助自己的友人。然后是开发工具的使用问题。需要挑选合适的开发工具以进行学习。同时需要寻找一些辅助工具来进行提高工具使用的便捷性和易用性。
2)在业务上。建议初学者以项目助理的方式进行切入。因为项目助理的工作,会涉及到项目业务方向上的方方面面,对于自身的经验积累和工作难易程度的把握比较恰当。而且,也容易对业务的学习规划有个较明确的方向。同时需要积极的参与系统业务方面知识的学习和积累,这个可以通过查阅该业务领域的标准和政策等内容来进行。最好是以需求为切入点来进行分析和实践工作。如果有机会,可以与客户一起进行工作,以了解他们对业务的需求情况和实际操作习惯等内容,为下一阶段做准备。不同领域的业务需求是不一样的,建议初学者们在根据职业规划的路在发展的同时,尽量的不要更改业务领域方向,这样以坚持的态度去学习和理解该领域的业务是非常重要的,同时也利于不断的积累。
3)在管理上。对该阶段的象往管理方向发展的学习者,建议与业务方向的学习者一样,仍然以项目助理的方式进行切入比较合适。项目助理这个角色,是对于项目管理者的一个辅助的角色,对于项目管理者管理好项目的各项内容具有很好的指导价值(就象总经理办公室的秘书一样的角色)。
在该阶段,引导非常重要的,尽量以系统的学习结合实际或者自己定义的一些小系统为基础进行学习,不要一味的以某些培训为主去进行学习,虽然培训是一个快速获取知识的方法。