京北方公司实习报告
5周的实习很快就过去,办完离职手续,我就下岗了。上司的签名和印章都已经到手,这个暑假再也没人能够约束我的行动,再也没有人规定我几点钟该起床,几点钟才能下班,也没有人监视上班时间是否在上网,周九晚五再也不需要打卡,不用每天穿着长裤,一句话,我们暂时成为了自由人。回想这五周的生活,虽然有点乏味,但毕竟是人生中第一次用自己的知识获取报酬,第一次进入职场,第一次和产品打交道,有很多的看法也在悄然形成,借此机会发表一下感慨,理一理思绪,整理一下自己的收获,也不枉一个多月的辛勤劳动。
对社会的观察尽管实习的生活多少有些枯燥,有些拘谨,但它还是给了我们很多见识,很多的收获。回想起那段时光,我还是得感谢京北方公司,在那里,我们就是正式员工,所有的手续我们都得办理,所有的规定对我们一视同仁,正因为如此,那些在学校里闲散成性的习惯都暴露无疑,给我们敲了一个响亮的警钟。在实习的日子里,每天早上7点我们就得按时起床,在学校吃过早饭就奔赴地铁站,和数以万计的职业员工一起挤地铁、倒公交,为的就是能够按时到达公司,避免那恐怖的处罚条例——迟到一分钟的代价就是一顿午饭,这事就连我们这些衣来伸手饭来张口的学生都觉得不划算,更不用说那些整天想着在北京买房买车的打工仔了。每当看到从地铁上涌出来的像沙丁鱼一样的人群,我会静静的躲在柱子一旁,生怕被这股凶猛的人流席卷而去。仔细观察一下这些人的面庞,你会清楚的看到生活的压力在他们脸上留下的印记。这时候才明白,电视里的奋斗从来都是虚假的,那种花天酒地、挥金如土的生活绝对不是大多数在北京奋斗不息的人的真实写照,更多的人是在为自己的将来担忧,毕竟在北京站住脚不是一时半会儿能够实现的愿望。急匆匆的脚步、满脸的困乏和充满希望的眼神形成了鲜明的对比。这里是首都,大家不远万里来到这里就是为了寻找机会。那点压力算不了什么,再苦再累,只要还有希望在北京闯出一番事业来,总是值得的。也许这就是大多数人的心理,这种心理一直支撑着他们,继续奋斗下去,这才是真实的奋斗,它是与命运的斗争,与生活的斗争。
对公司的了解 京北方公司全名为京北方科技股份有限公司,定位为金融IT综合服务提供商,主要从事软件开发、IT运文系统集成和BPO服务。在短短的10年时间里,就由一个小公司发展成为用2500多人的集团,和中国主要银行都有着密切的合作关系。一系列的成就和公司的企业文化密切相关。公司倡导的理念是“三专”:专注——专业——专家——专注,如此循环,不断提升公司的技术水平和科技含量。公司提出的宗旨为“五赢”,分别为客户满意、员工支持、股东默契、渠道伙伴合作和社会认同。公司希望,在不久的将来,能够将公司建立成为一个拥有“资深软件专家组、行业专家和首屈一指的市场占有率”的大集团。当然,这些都只是公司的宣传。作为一个私营企业,真正能够做到这些并且做好这些是不容易的。我们所看到的企业创始人费总几乎每天都准时的在局域网上登录,直到其他员工都打卡走人。虽然我们没有见过他本人,但这点就能从侧面反映其创业的不易之处。也许以后我们也会走向创业的道路,那么我相信一颗强大的心和顽强的意志绝对是必须的。当然还必须有自己的思想,能提出公司的灵魂并不是每个人都能做到的,如果连这个都山寨,那样的公司绝对不可能走很远。
在京北方公司里,工位是流动的,按照先到先得的策略进行排序,除了部门经理的位置是没人敢抢的,其他的位置谁都不敢说永远属于自己。加之我们的到来,让本来就稍显拥挤的办公室更加充实。说是办公室,其实就是条件较好的工作间而已,从早上九点到下午五点半,每个人用一台笔记本电脑在那里默默的履行着自己的职责。相互之间没有更多的交流,除非偶尔有一些技术上的合作关系,大部分的交流还是通过局域网的聊天工具来实现。这种工作方式让人很是压抑,不过又能有什么办法呢,我们不是董事长,只是外人,没有资格品头论足,所有的想法只能回到学校发发牢骚了。不过,我们的到来,多少也给公司带来了一点新的活力。由于工位的缺乏,要想有好的座位,必须尽早赶到公司。这种活我们在学校是家常便饭,没事就提前跑到教室占几个自己认为最佳的座位,让后来的人哭笑不得。到了公司,考虑到资源的抢夺问题,我们几乎是一天比一天早,谁都不愿意成为最后一个到公司,没有座位不说还得看老板的脸色,万一不幸摊上一个没有网口的座位,这一天的工作简直和蹲监狱没有差别了。在我们的带领下,公司的员工也积极行动起来,越来越早,越来越积极,不过在工作过程中的效率问题就不知道有没有因为他们的提前到来而大打折扣,如果真有,我们可就成为公司的罪人了。尽管如此,我们仍然不厌其烦的和他们“竞争”着,“竞争”失败对他们来说可能影响到自己在公司的发展,而对于我们这些短工而言,根本无足挂齿。但也许这就是清华的精神,我们绝对不愿意成为落后者,即使没有人把我们当回事。
对学位的认识有了座位、有了网线才好开展每天的工作。负责引导我们的是技术管理部的一个博士。在公司里面,博士真的是稀缺人才。正因为如此,大家都格外珍惜,于是至今我都不清楚他的真正职位,只知道大家都尊称他为“张博士”,张博士也确实是一个技术上大牛,对于各种程序设计语言简直无所不知。作为工科前辈,我们当然得虚心求教。张博士似乎是个喜欢搞研究的人,不过当下作为公司技术骨干,他表示没有很好的环境供他研究,实际上他需要一些好的论文时还得找我们帮他从校内网上下载的,这也许是公司招聘学生暑假实习的一个考虑,不花钱就能搞到最前沿的论文不是哪儿都可以的。他似乎有点后悔自己当初选择读博士,毕竟花了五年的时间到头来干的活却似乎只是一个硕士生就足以的。
不过,我认为博士和硕士最大的区别就在于博士能够更加自主的发现问题并解决问题,而硕士更多的是从技术的层面去解决问题,也就是一个主动和一个被动的区别。我们都应该不甘心于只会像一个工具一样去解决问题,更多的时候我们又发现问题的直觉和解决问题的思想。这才是一个成功人士应该具有的素质。这种道理无论在什么行业大概都是适用的。有了这种差别,也许我们没有必要像很多学校的言论那样过于惧怕和厌恶攻读博士学位。毕竟能成为一名合格的博士,多少还是有他人不能及的能力。即使在短期内不能得到市场的青睐,但是相信总有一天,这些能力会成为改变博士一生的宝贵财富。不得不说张博士的提醒和我上面的结论似乎有点相悖。我一般不会把别人的想法当成自己的真理,尽管很多前辈走过的桥可能真的比我走过的路还多,但实际上这个社会是在不断变化的,大的历史规律虽然不会更改,这种小小的人生抉择却是在不断振荡,很难说下一个阶段怎样的自己才能符合社会的胃口。既然说不准,不如依靠公理行事,我所认定的公理用通俗的话说就是:知识越多越好,无论学什么学得像个样儿是不会错的。很多时候,我们是在等待属于自己的机遇,这种机遇只会垂涎那些做好了准备的人。这种人无疑是有能力、经得住考验的强者,不仅要智商强大而且心智强大。博士并不是像学校里广泛流传的那样无用,至少学到了更多的知识,而且绝对具有独立解决问题的能力。这样的人在这种公司里才是能够帮助公司开发新的项目,攻克新的难关的顶梁柱。现在国内的IT行业,能有自己的创造性产品的少之又少,大多在从事着吃力不讨好的活,一个真正的创业者应该以改变世界为梦想,而不是简单的创造财富。未来的社会会在进步中逐渐改变,博士们的用武之地相信也会越来越大。
对项目的心得每天我们都按照张博士的指示进行我们的工作,一天下来向他汇报自己的成果,还得递交工作日志。张博士给我们安排的任务其实和学校SRT项目相似,主要是让我们实现和考察一些算法,为他们的一项产品开发提供一些力所能及的帮助。
接手的第一个任务比较棘手,公司看了我们的简历之后,认为我精通Java和c++,张博士就希望我能够帮助他给一个c++动态链接库做一些可供Java程序调用的接口。其实对于专业程序员,这个听上去确实不算什么大难题。不过,我可不觉得自己真的是精通Java和c++的牛人。事实上,我从来没有接触过动态链接库,从来没有做过所谓的Java接口。不过既然吹牛吹大了,就得硬着头皮干下去了,反正不会亏待自己的。于是重新回顾Java的各种基础知识,安装环境,下载平台。接着就该开始搜罗各种关于Java调用c++库的方法。经过仔细的搜索和筛选,我将技术手段锁定在jni上,不过这个接口的完成可不是在网上随便找点代码稍微改改就能实现的。JNI的技术说明文档可不比c语言少多少。只能开始有针对性的去探索和学习实现目的的相关技术。然而随着学习的深入,我越来越怀疑任务的合理性。张博士虽然对各种程序设计方面的东西都比较了解,但是在这个问题上还是欠考虑的。他只是听说Java可以调用dll文件,却没有了解真正的背景。通过对JNI的学习,我向他阐述了一下这个问题的暂时毕业论文http://www.youerw.com不可解性,因为要想用Java调用,必须在程序设计之处,就在c程序里面做好充分的准备,使用特殊的格式和函数进行编写,才可能在后来直接用Java调用。如果之前没有做准备,现在想直接用是不可能的,除非重新完成c程序的编写。不过,他们不怎么愿意让我接触那些用c实现的原始代码。不过这都是我的理解,待张博士和其他技术大牛仔细询问之后,才认为我所说的问题是切实存在的,只好善罢甘休。我也松了一口气。说真的,在我们系的本科学习过程中,无论是学什么程序设计语言,都只是学了个形似而神不似,更深入的思想和技术却几乎是一窍不通,碰到这种问题真有点为难。而我这种不满足必修课所学习的c语言程序设计,对Java和c#等都有所接触,却都只是浮在表面,没有深刻的理解和认识,没有对这些技术进行更深入的探索和掌握。在学校应付一些大作业和小打小闹的程序还凑合,却实在上不了台面。这就更应证了前面所说的公理,该学的东西就该学得像个样。只是说起来容易做起来难啊。
接下来我的项目其实比较简单,容易入手,主要是对票据图像进行预处理。说来话巧,去公司之前我并不知道此行的项目。上班的前一天,我去了一趟中国工商银行办理用于领取工资的账户,在那里整整折腾了一个半小时才结束。仔细观察他们的流程,显然在票据的填写,录入,审查,校对上花费了很长时间。当时我就想,这种东西让人进行录入和校对效率肯定很难提高。没想到进了公司我们的项目还真就是为了处理这些票据,建立自动票据识别系统。只可惜,公司考虑到我们能力有限,只能介入最初级的预处理工作中。所谓的预处理,就是对于扫描后的图像多少有些不符合规定的地方或者不便于后续处理的地方加以纠正和调整,很直观也不需要很复杂的理论支持。不过这些很直观的东西,在图像处理中却不是想象中的那么直观,毕竟电脑相对于人脑来说,智商还只是个零头。一下子,所有直观的想法都成为了空想,反倒觉得没有注意了。张博士就让我多找找一些论文先充实一下自己对这方面的技术的了解和认识,并且去亲身实践一下别人的方法。我就拿一篇看似效果很好的文章下手,主要是觉得其效果好是有依据的,整个算法似乎考虑的十分周到,十分鲁棒,当然也显得十分复杂。但是程序设计就是这样,不管多么复杂的东西,把逻辑理清楚了,然后一点一点的往下写,终究是可以实现的,一旦实现了,回过头一看,不禁沾沾自喜,这么麻烦的东西其实也不过这么几百行代码的事。然而最终的效果并没有想象中的那么完美。主要是这么一个的程序之所以能够鲁棒很大程度上依赖于程序中参数的合理设置,不过说到这个参数的合理设置上来看,就又是一个主观问题,这可是电脑的一个软肋。而且由于考虑的因素太多,算法实现的效率大大折扣,根本无法满足公司的要求。这也是我第一次特别认真考虑程序花费时间的问题,以前在学校里写的那些小程序是没有人去管它的时间成本,但是对于一个大项目的预处理程序,如果需要很长的时间代价,那么最终产品必然不会受到市场的欢迎。只有在这种真正的项目开发中,我才能切身体会到时间就是金钱。于是,接下来的程序开发,我都会自觉的去优化自己的逻辑和代码,直到改无可改才会上报给张博士,因为我知道,否则交上去也只会是一个失败的而且被人遗弃的程序。程序设计过程中,其实有很多不经意的地方,我们都可能在浪费宝贵的时间,这也是一个细节决定成败的问题。这需要对于计算机原理、程序语言和数据结构等有非常正确和深入的认识。例如数据读取的速度、数据类型的存储空间、正确的数据结构的选择……每一项都是可能经过改进而达到质的飞跃。因此,还是那个公理,我们得把所学的东西学得像个样。得像个什么样?当然最好是专家的样。
另外一个让我感受颇深的地方就是对于公司的这种非常实际的要求,其实高级的算法有些时候并不怎么适用,高级很多时候不可避免的带来复杂和效率的低下这些缺点。在前期论文的启发下,到了后期,我尝试了很多自己的想法,发现很多这些想法在针对这种具体的问题时反而非常的适用。就像我们的大学学习过程,开始都学一些非常基础的东西,让我们对这个专业有了初步的认识,掌握一些基本的工具,剩下的就需要我们自己去摸索,针对实际问题去灵活应用它们。
结语总之,这次暑假实习收获颇丰,给自己带来很多启发。这些启发对于我们今后的发展规划或多或少有一些影响,对今后的学习有一定的指导意义,在技术领域,我将不断进步进步,追求卓越。