我个人的工作经历
一、开篇
我写博客的时间很短,但是受到了博客园不少好朋友的鼓励和支持,让我信心颇受鼓舞,也让我在接下来的职业生涯中,有了更好的动力和方向。我写博的主要目的呢?其实就是有2个方面,一、总结自身学习的知识,加深自己的印象,可以以后在记忆不深刻或者记忆模糊的时候,查看一下自己写过的内容,温习和回顾;二、将自身工作中的经验和收获分享给大伙,同时大伙提出的不同的意见和建议都是对自身的能力的提升,如果说不知道这方面知识的朋友,如果说能够通过自己写的博文学习到相应的知识和技能,那么就是最大的收获了。
当然,我个人的工作时间其实也不算短了,但是其实自己在工作的过程中学习了不少,用的知识也很多,但是有一种这样的感觉,什么知识都略知一二,但是如果说需要往深入的挖掘或者是更高层次的应用就无法掌握。所以想通过写博的形式梳理一下自身学习到的知识和经验,一方面可以给朋友们一些启发和引导,另一方面是对自身的总结。
二、简介
我毕业在甘肃的兰州大学,从高中毕业,背井离乡,来到了一个人生地不熟的地方,我一开始并不知道计算机专业是干什么的?也不了解自身以后想做什么?歪打正着,可惜当时的一个不知道的决定就决定了我后来的人生方向,我其实很喜欢学习物理专业,当时我们高考的那一年刚好赶上最难的一年试题,我自身能力也起到了决定作用,所以就最终调剂到计算机科学与技术专业。
我并不喜欢我的专业,所以我从第一年开始就开始逃课,挂科,可以说是信息工程学院众所周知的坏学生,还差点退学,由于自己对专业的不喜欢,导致对大学中的课程极度的不感兴趣,但是仍对物理情有独钟,所以大一的时候,虽然没上过物理课,但是期末考试的时候,仍然轻松通过大学物理课程,当然我这里不是炫耀,只是当时太年轻,根本不懂以后自己想要做什么,或者说是自己以后未来的方向是什么,就这样我从大一一直持续到大三,所有的跟计算机专业相关的专业课只要是计算机语言相关的,全部挂科,主要是这些课程(C语言,C++,数据结构,离散数学),每年我都会为如何补过这些课程而发愁,我之前之所以这样是因为喜欢上了网络游戏,当然,我的家庭并不是一个特别赋予的家庭,我们家子妹好几个,我没有那样的条件,所以我不是很有钱,就把吃饭的钱省下来去打游戏,不过这些都是我在大二之前做的一些很荒唐的事情,自己在度过了大三上学期的生活后,突然发现其实自己对自己的专业虽然不敢兴趣,但是父母供我读书,我不能毕业怎么能行呢?因此从大三的下学期开始,我没有挂过课,并且把相关的没有考过的考试都补考通过。我其实挂科的主要原因不是因为期末成绩考的不好,是因为平时不去上课,所以老师按规定进行扣分,现在想想其实不是老师和我过不去,是自己太不懂珍惜大学的生活。
现在回头想想,大学生活可以说是人的一生中最重要的一个生活阶段,在这个阶段不但你能学到以后去社会上工作的一些基本技能的理论知识,而且还能在大学中认识到自己以后生活中的知心朋友,不过我大学的生活我整天都说我白过了,不过现在回头想想还是挺怀念的,如果让我能有机会重来,我会好好珍惜和把握我的大学生活的,当然我的大学生活并不顺畅,还有一些自己做过的很丢人的一些事情,但是我现在说出来不但是对自己敲响一个警钟,更是希望看到我写这些内容的未工作的大学生一个警告吧。
我不知道是不是也有不少的朋友和我一样这样的情况呢?我想大伙都是好学生呵呵。我现在可是为了弥补之前的这段时间落下来的可是费了不少劲,还是没有赶上。
三、工作经历
我是2007年毕业的,但是我实际的工作经验已有4年之多,我总共呆过5家单位,大家一看一定以为我是流浪汉,其实很多时候的情况不是我想流浪,也是逼不得已,加上自己的能力不足造成了这样的情况,我下面就不是具体的公司名称了,以A,B,C,D,E来代替了,我想大家能从我的工作经历看出点自己的轨迹。
我虽然2007年毕业,但是我实际上从06年就开始在A公司实习了,不过那时候还不是正式的开始工作,我主要就是过去熟悉熟悉公司的环境,然后为以后毕业以后快速的工作和学习奠定基础。A公司呢,是属于国企控股企业,人数也在500人左右,在兰州算是一个比较大的企业了,产品线也算是比较长。在兰州非常有影响力。当时我进入A公司也是有以下的几个原因:
由于上面的几个原因,我没有选择去内地工作,或者其他的软件行业较发达的地区,一方面自己知道自己在学校里面学习的水平,另一方面是因为自己对去外地找工作没有信心,个人的竞争力感觉不可以,希望自己能在这个公司做到熟悉了基本的技能后,在向上发展。等毕业后正式进入A企业后,主要是从事与电信行业相关的内容,主要采用的技术是C++Builder,Oracle数据库,通过服务器/客户端的形式来构建的企业应用,由于我初入社会很多的东西不懂,再加上A企业有一定的过期性质,所以在工作一年之后,公司进行业务整合后,我所在的部分宣布解散,所以自己也等于是被公司变相的裁员,只不过给我们的部分人员给予了缓期执行而已,为什么这么说呢?就是说给我们推荐到另外一个公司,也是属于电信控股的公司,只不过与A企业的方向不同,这个就是所谓的B公司,当然B公司的主要开发语言和工具是集中在Java和Delphi,数据库当然还是Oracle,只不过我在B公司只是呆了3个月而已,其实总体来说A,B公司等于是一个公司,但是由于属于不同的单位,所以我这里就分别讲述了。通过A,B公司的工作后,我主要掌握了以下的技能,Oracle相关的使用,包括学校里面学习的数据知识和DBA相关的内容,因为我在单位A主要负责统计分析的模块。所以对数据量级别和性能上有要求,一般都是千万级别的数据。这也对我以后工作中对数据库方面的技能奠定了坚实的基础。
在B公司工作了3个月之后,他们找了一些相关的借口,把从A公司进入的部分人员进行了裁员,并且补贴了一个月的工资,作为补偿,当时我也没有多想,我当然也是被裁的幸运儿,为什么说我是幸运儿呢,因为如果没有这样的一个事件,其实我现在估计还是在这个公司,还是老样子,永远是井底之蛙。在B公司我学习了Delphi语言,也学习了Java的Struts+Hibernate+Spring框架,这对我后来学习.NET中的相关框架都有了很大的帮助。 就在被B公司宣布裁员后的一个星期,我通过相关的同事介绍,进入到C公司。C公司是做医疗行业的信息服务,C公司无论是技术还是解决方案方面其实都是很不错的,当然我是对比A,B公司来说的,不过技术上的先进不代表你有很好的客户,当然我这里简单的认为是营销学起到的作用呵呵,进入C公司以来,我其实在以前的A,B公司我并没有深入的学习过.NET语言和平台,我只是平时看过,喜欢这种能够迅速开发出企业应用的工具,所以对其特别的感兴趣,加之C公司又是主推这个方面的,所以我就深入的学习了.NET语言,在C公司的前几个月我就完成了公司的要求,并且快速的熟悉了C公司的框架的简单使用,当时感觉C公司的框架可以说不但开发的效率高,而且易用性很强,开发出企业级的应用速度各方面,相比A,B公司简直不是一个数量级上的。在之后的半年我和一个项目Leader负责另外一个项目,也是医疗相关的,我之前在C公司也只是做过C/S形式的应用,并没有B/S方面的经验,而这个系统就是完全的B/S应用,当然开发的过程中可以说是困难重重,不过收获也很大。从这个项目开始,我开始熟悉博客园,学习最新的技术,掌握前沿的知识和技能,从这个时刻开始,我开始迅速的学习和丰富自己的知识面,抱着敏行好学的态度,在这个期间并且C公司的总工程师也就是魏琼东 给予了我太大的帮助,并且对公司的框架有了一定的了解。在这个项目完成之后,我开始投入医疗行业的开发,也就是在09年的5月份,我们进行了现场的实施开发,实施开发其实是个不错的开发模式,至少是在客户需求的反应效率上是第一的,不过也有很大的缺点就是,客户需求的及时变化,都会对项目的进度造成一定的影响,我们也在二个月之后完成了系统上线的准备工作,并且成功的完成升级工作,当然我们这里升级的只是把原有系统中的基本业务完成平台的迁移,之前的平台是VB的医疗信息系统,现在全部是.NET平台来完成的。阴错阳差,C公司的业务量太大,但是开发人员较少的情况最终还是发生了变革,公司决定从我们这个团队中抽取我们的TeamLeader去外地的开发中心当负责人,我有幸成为了替代者,当然这可以对我来说是个人生的转折和挑战,话说我真的很担心自己无法胜任这样的工作,因为自己之前没有做好心理上的准备和自己的能力上的信心不足,不过当然还是在魏琼东的帮助下,基本上完成了既定的工作,真的没有魏琼东老兄的帮助,我估计当时我真的是一筹莫展,我也是在C公司了,从8月份开始负责项目剩余的实施任务,当然其中很多的开发任务都是由我来完
成,为什么这么说呢?第一次当Leader,我必须承认我是个失败者,为什么这么说呢?有以下几点我没有做到。 其实还有很多条,我这里没有一一列举出来。
自从接收负责人之后,客户的所有需求都由我来完成功能上的确认,有一些功能我能完成的我就自己完成了,大部分的功能基本上都是能按时完成的,但是有时候时间上的要求和工作量上面的要求的确太大,没有办法去完成这些内容,所以最终我还是没有能按时的完成工作,不过客户对我们的工作还是非常的认可,因为我们每天几乎都是加班赶工,所以客户对我们可以说非常的好,也是在这半年多的时间内,我完成了一些转变,无论是对自身技能提高,还是对工作方向上的认识等等各方面。可以说进入C公司是我个人人生的一个非常重要的阶段和里程碑。终于长期的出差,让我无法承受,来自家庭的压力和各方面的压力,我决定跳槽了,由于女朋友的关系,我选择了北京,也就是10年的3月份来来到了北京,充满了坎坷和荆棘。不过我来到北京之后,才发现自己之前在那边的认识面,无论是深度还是广度都不够,太肤浅了,我经过了半个月的漫长等等,基本上这半个月,每天都有2个公司-3个公司的面试机会,其中不乏很好的企业,比如大唐,还有几家外包公司,我这里就不一一列举了,当然经过半个月后,我的努力终于等来了回报,在接下来的一周,我连续收到了6个Offer,其中有大唐电信,还有其他的几个不错的企业,我这里就不一样列举了,最终我还是没有去国企,我选择了一家做电子商务,CMS,B2C,B2C等信息系统的一家公司,当然这家公司的发展前景和业务方向都是非常不错,也就是D公司了,在D公司,与我一起进入公司的几个新同事组成了一个开发团队,主要是负责B2C这样的电子商城网,我通过一个月的时间,对这个系统进行了重构和整合,包括命名等,还有系统的熟悉等,然后和其他的新同事一起开始开发工作,经过4个月的时间的筹备,系统的原型基本完成,其实经过这几个月的时间,我对B2C系统有了深刻的理解和认识,对需求管理和技术实现等方面都有了很大的提高,并且在此期间,我开始主要学习将以前自己的知识总结出来,通过书写一些通用的ORM框架来提供自己的编程技能。也就是在D公司,我们的TeamLeader也是对我很好,我负责了B2C系统的主要功能开发,无论是系统框架的功能,还是部署等各方面我都全程的参与,通过这段时间的开发工作,让我个人的能力与技能提高很快,有了新的瓶颈,就是我对技能的广度和深度。通过D公司的学习,我对B/S系统上的架构和解决方案,有了一定的认识和了解,因为之前的A,B,C公司都是C/S结构的形式。通过这个D公司,让我对ASP.NET开发Web企业级应用有了不错的认识和技能的掌握。同时这里的同事都非常的热心和睦,虽然我离职了,但是我仍然感激他们。很好的朋友,很好公司。我离职的时候,公司也是极度的挽留我,给我开出了不错的条件,不过我此时下定决心了。 由于家庭的原因我从D公司离职了,当然一部分是家庭上的原因,还有就是个人对人生的职业规划,我一直在考虑自己是不是以后不从事这个行业?换到其他的行业中去呢?然后去实现自己的梦想,我一直有个梦想,不过看来实现起来还是比较的困难,需要我自己不断的努力。 通过上面的几次工作经历,让我不但对技能知识的掌握有了很大的提高,并且对自己的人生方向有了更深刻的认识,我这这几次的工作中主要的收获如下:
其实自己最大的感触不单单是自己对技术领域方面的提高,更多的认识体现在自己对工作的理解,比如说我们必须知道我做软件开发行业的目的是什么?自己为什么要做这个行业,自己对自己做这个行业有没有什么要求,比如说是能力上的提高,或者是个人的发展方向和目标等等。这些可能都是我们需要考虑的目标吧。
四、总结
通过几年的工作,我很后悔当初在学校中的时间中,没有好好的学习基本的知识,虽然说现在的理解力和阅读力相比以前有很大的提高,如果说让我回头看大学中学习的书,看懂什么的,都是相对来说不太难的事情了,不过有时候我们没有那么多时间去温习,所以除了上班的时间,晚上就是不停的看书,去给自己充电,因为只有这样才能在更好的体现自己的价值,提高自己在工作中的地位和工作等级。希望大家能够不要走我走过的弯路,无论是大学还是工作中都不要像我一样,刚工作的时候,要对自己有信心,并且去自己想要工作的行业领域发达的地区,这样不但对自己有帮助,对以后的发展都是有极大的好处。不过我说的一些都是,硬性条件,当然最主要的还是靠自己,软件不好,硬件再好,也白搭,呵呵大家明白我的意思。希望大家在工作中能够顺顺利利,能够达到自己的目标。