我是一名从三流高职毕业的学生,今年6月份算是刚毕业。从1月份开始实习,现在已经跟公司签订了3年的劳动合同。工作这半年,对我的提升很大。项目对时间、代码完成量、最终结果的要求都比较严格。前两天公司业务大变动,分给我一个模块,披星戴月的工作,总算是没辜负领导,更重要的是没辜负自己,也让自己看得起自己。最近刚刚有些闲暇,却忽然对以后的方向有些担忧。
我说说我的大体情况。高考失利是在2008年,刚好北京奥运,而我对那一年全国的沸腾基本上没有太多的印象和记忆。从小我就不是个好人,也没干过什么惊天地泣鬼神的好事,优点鲜有,鲜为人知,缺点无数,路人皆知。现在想想08年,大概那一年是IT行业发展的顶峰时期,我想08年就业的前辈们现在大都混的风生水起了。顶着高薪、白领、技术男的帽子开始学IT,是在一所培训机构(其实连三流高职都不如)。学.NET。学校自然不会教些旁左的理论基础。学校的学生也是鱼龙混杂,很不幸,我属于鱼那一类,而且还是一条懒鱼。逃课、通宵打游戏、看电影,不学无术,从高中谈的女朋友也散了,整日苦于思考人生,碌碌无为。
我的印象中,学校也从来没教过HTTP协议、TCP/IP协议之类基础但很必要的东西,一开始就学C#,然后是WinForm,MessageBox.Show后,开始学ADO.NET。然后开始重点学习ASP.NET。这时才接触到CSS、HTML、JavaScript。直到大三了,看着身边的同学一个一个走去实习了,心里开始发毛,也怕给父母再丢人,于是天天挑灯夜战,买书、写代码。今年1月份的寒假的前夕,被同学拖着拽着去听了一次校园招聘的宣讲,那时我也没简历,手头只有一个半项目,来宣讲的公司(就是我现在的公司)自己带这报名表,我填完就交上去了。
其实当时我没想工作,因为感觉自己能力不够,而且没什么竞争力(除了激情和热血,再加上迟来的努力),打算是按照自己的计划去系统的学习完ASP.NET后再去找工作。没想到公司对我很感兴趣,经理说我的经历跟他很相似(从高中不学无术说起……)。一来二去的笔试和面试,竟然呈现遇佛杀佛状,破天荒的被公司录用并颇受重视,一直工作到现在。
起初的工作还是比较痛苦的,我想新人经历的那些阶段我都经历了,冷遇、训斥、闯祸、弥补、加班、有时急的都想掉眼泪。我的经理和直接上司都对我很好,不想让他们失望,终于有了些小成果,很心酸。上线的时候很激动也很忐忑,总怕出什么岔子,好在一切正常。当时做的是是一个在线签约的项目,需要用VSTO操作Word文档,但是用户并发问题很严重,服务器的压力很大,总有用户打电话说正在维护,系统繁忙之类的。
因为签约的时间多集中在一个时间段,所以过了那个高峰期,并发少了,问题也就被隐藏了。从那之后公司又分给我一个让我饱受打击的项目—电商。因为从来没有独立开发大型项目的经验,而且给的时间相当紧张,三个人的队伍(都是跟我一起进来的实习生),不到三周的时间,要求把公司的电商项目完整的做出来并且上线。于是又开始了很疯狂的加班。虽然很遗憾的说,这个项目失败了,但是从这个失败的项目中真的学到了很多东西。宣布这个项目暂时搁浅的时候,每个人心里都很不是滋味。核心的东西做了一半,代码进度也很快,就这么暂时“无限期搁浅”了。从中也吸取了很多教训。我们经理也说,当初是太高估我们了。(我能听得出来,其实是说,太高估我了。项目分模块的时候,把核心的东西都划给了我。从架构到核心的购物都是我来做,银行的接口和数据库设计是我们项目经理和技术经理做的)。
那之后是假期,应该是清明节还是五一吧,忘了。实习的时候我每个月1500,存了些钱,给爸妈买了两台安卓手机,本来有些小委屈,后来看到他们高兴的样子,不提也就罢了。
假期回来公司要改制,业务变动很大,从原有的业务平台到ERP的迁移都需要做很大的调整,有些模块基本上就得重新写。这次经理又给了我一个很核心的任务,是开展一切业务往来的源头(公司和分公司的业务往来)。因为牵扯到实习合同即将到期,我想这大概是对我实习期是否合格的考证,一心想把这个模块做好。虽然只是个模块,但是跟业务挂钩,牵涉到代码中的逻辑验证和业务流程都有很严格的要求。要求大概10天做完。比较戏剧性的是,我到第九天傍晚才做完了。因为没有养成一个良好的编程习惯,给了项目直接写,结果很多地方到后来发现不得不重新推到重来。项目交付的最后那三天,基本上就是一天睡两三个小时。经理说做不完就说,大家帮你做,这没关系,你们是新人,但是不能耽误了公司的业务往来。我说没事,放心吧我能干完。累的时候就想想爸妈。基本上是早上7点到晚上10点,睡两个小时,让闹钟闹起来继续写,写到6点,再睡一个小时。(当这个项目上线并使用的时候,我才真正明白需求分析是个多么重要的东西,业务逻辑是个多么重要的东西)。项目交付试运营的时间正好是周六,我心里忐忑,灰溜溜的一大早的就在公司坐着,经理给老总演示的时候,让我去跟着做会议记录,演示过程中除了有个堆栈在客户端溢出的情况,其他一切顺畅的超乎我的想象。那个周末,我睡了整整19个小时!
做完这个项目之后部门负责人和经理都给了我充分的肯定,虽然比他预期的效果要差(电商项目的原因),但还是不错的。我是同一批人中第一个签约的人。现在是试用期,三个月,月薪2800,过了试用期是3200,明年的一月份后满一年工龄,月薪4300。老爸老妈也很高兴。
不得不提的是,那个在线签约的服务器压力问题,公司的人都没有解决,让我给解决了,以前是直接后台代码类似宏编程去操作Word文档,当多个用户操作的时候,服务器上Word进程就会很对,对CPU资源的消耗很严重。我记得这个项目上线的第二天经理睡眼惺忪的跟我说,你的项目把咱服务器给整挂了。我上去一看,三十多个WINWORD.EXE进程,CPU一直都是100%。后来接触到OpenXML,但是系统的学习没能来得及,于是拐了个弯,把Word模板后台转换成XML,把协议模板当作XML来处理,性能提升千百倍!
最近不断的做ASP.NET,不断的写各种后台。现在闲下来,越来越觉得ASP.NET的发展空间其实不大,做来做去就是数据绑定。单个页面来说,就是一个数据各种绑,后台ADO.NET,微软封装一大堆类库给你用,但是永远接触不到很深的东西,顶多有个MVVM。多个页面来说,就考虑架构,因为项目经验比较少,目前只接触到三层架构和工厂模式。而且最近想自学MVC,发现很难理解,大概因为从一开始就接触code-behind,不懂http协议,不懂一个网页数据往来的原理,我想三流高职的弊端在这里就暴漏无遗了吧。速成班的效果。
因为不敢堕落,也不敢让父母失望,虽然跟公司已经签了三年的合同,还是想问问老师今后的发展方向。因为我觉得ASP.NET一开始是帮助我入门和提升,但是越往下走会越成为我的障碍。我心中有几个想法,请老师给些建议。
1、 大数据处理。我大学的导师是比较赞同我走这条路的。现在公司也碰到过运算瓶颈、性能瓶颈等问题。但是我对这块不是很了解。我们应该是在大二的时候讲的数据库编程。那时我很忙,要逃课,还要看电影,没时间学。所以对这一块基本上是白痴,但无妨我去学习,即便在以后的编程过程中,总会大量的接触到数据库编程(这次项目其实就是边做边学),而且现在公司的待遇很好,包吃包住,七险一金。不忙的时候是个学习的好时机。我不怕苦,就像我们老师跟我叹息,你现在的加班,就是你上学时候逃课的债。我认。
2、 专攻前端技术。个人对JavaScript、Html5和CSS3比较感兴趣。我是个比较感性的人,高中的时候学的编导,但是美学美工,所以,虽然很感兴趣,但是我感觉这个需要专业性很强的知识,而且这三个里边,我还是偏好JavaScript,从接触到现在,它总能给我很新奇的感觉。从恶搞同学for输出alert,到接触到强大的jquery、extjs,日本大地震的时候,腾讯网曾经用jquery用很简练的代码做出很直观的震前震后的效果对比图。震撼大地震的同时,也佩服企鹅帝国真的不缺人才。我不是个浮躁的人,前两天看企鹅的社会招聘、百度的社会招聘、阿里的社会招聘,无一例外缺前端工程师,这又恰恰是我的兴趣所在。我想,能进入那样大型公司的人肯定都有很高的水平。虽然我现在不行,但是我还有三年时间。我对这条路权重比较大。
3、 执着的做ASP.NET。包括WebForm和MVC。很多前辈都跟我说过,技术学的不在多,而在精。我牢记这话,所以如果决定走哪一条路,我会一直走下去,包括上边两条。这条路已经入门了,但是并不是兴趣所在,退一步讲,比较理性的讲,我想大多数人肯定支持我走这条路。但是这样下去,除了微软封装的那一堆强大的类库,我还是什么也不会。离开VS就是个傻瓜。我本身是不太认可这样的“高手”。而且我曾经一度做WP7开发,准备投身Silverlight和WP,微软最近又说WP7不支持升级WP8,虽然技术总不会白学,但是受到的牵制很大。老师也说过,也要看市场的需求嘛。于是就有了第四条路。
4、 Windoiws 8 &Windows phone 8开发。其实这也是跟着微软赌一把,WIN8+WP8都支持HTML5+JS开发的应用,这就又回到了第二条路。而且这样一定程度上不会太依赖于微软这样“赔得起”的公司(我可赔不起青春)。
想听听老师的意见。
------解决方案--------------------