感谢一直以来,在身后,默默支持和拖后腿的她。
---------朴素的分割线--------------
今年的年终终结,不得不提下去年的这个时候。去年的这个时候,已经下定决心,年后辞职去深圳。过年在家,晚上,还蹲着田边,蹭着邻居家的WiFi,在慕课网上看mongodb 的视频。
那个时候的我,还是一个很菜的Java程序员,除了Java基础比较扎实,喜欢捣鼓一些自认为可以提高工作效率的工具。很庆幸,良好的生活态度,对知识的渴求,不曾停止的阅读,得以保持良好的状态,在深圳这个大城市,混上了一口饭,并且以良性的状态,继续发展下去。
---------朴素的分割线--------------
毕业后还没有好好做过工作总结,趁这个机会,一起好好的总结一下。
大学: 当然是个学渣了,也就要个60分及格,专业课也就是计算机入个门,软硬件网络入个门,倒是勤工俭学的经历(学校机房,管理员,兼职修电脑),给自己带来了很多提高,养成了不懂就问,不会就查,没事瞎捣鼓的好习惯,当然,重点是有很多设备可以捣鼓,可惜的是当年太菜了,记得当年买电脑,还想挖矿来着,如果当时,用机房的几百台电脑挖矿,现在应该成了个小富翁了吧(yy一下)。
大一大二的时候,喜欢看书,基本上每周都去图书馆,抱上七八本数会宿舍,放在床边慢慢看,那个时候看书的范围广得一撇,天文地理,人文历史,小说、散文、诗词歌赋,样样都可,不过不一定会看完。那个是喜欢写诗,文笔较烂,只是无病呻吟罢了。
大三的时候,就很少看那些闲书了,经常那些Java的书,印象最深的就是,经常抱着一本巨厚《Java6.0编程指南》,做上面的案例,这本书是借了好几次,每次看到一大半,就没耐性了。
就现在来说,Java的启蒙应该是看传智播客毕向东的Java视频的,三十多天的视频(培训视频,一天录一天的),一天应该有4个小时以上的视频,Java讲的相当的详细,零基础培训(视频应该比较旧了,在官网是可以下的)。
大四开始的时候,在青岛去过一家公司实习做实施,当时不懂,以为开始是开发。那段时间,真的是人生中最难过的一段时间之一。我晕车,平时就极少做汽车,特别是公交,而那段工作,经常需要市内,很远的地方,最远的需要3个小时的路程(单趟),从学校到汽车站,坐汽车到胶州,做公交到工厂。/吐血 /吐血 /吐血 要开始做毕业设计了,才幡然醒悟,这哪是开发工作,这样下去,毕业设计估计都没法搞,闪人。
然后就到了新电了,IBM专业培训基地,日子不要太Happy O(∩_∩)O哈哈~
在新电的日子,真的不要太好了,刚进去的人在培训结束前,是不用干活的,当然,有的项目组缺人,会来培训班招人,面试过了就行。每天朝九晚五,不打卡,上下班随意。当初的同学,还记得软件园的下午茶吗?
日子虽好,我也没有停滞,那段时间,应该是我技术发展最好的一段时间了。毕竟马上要毕业了,还是有压力的,当时,真的是看苦练 Struts、Spring、Habernate,在网上找的视频,先一个一个的学过了,然后整合起来,然后,在工作中,基本没用上。/尴尬
在新电做的第一个项目,是一个大型的Java Web的项目,EJB的架构,不知道什么搭起来的,除了年龄比较大,项目的架构还是不错的。当然,我说的是架构,不是代码,也不是编程规范。系统逻辑复杂,代码冗余严重,记得当年用jenkins 扫了一遍,技术欠账70+万小时,毕竟有很多前辈在上面辛苦耕耘过。但是,并不影响我在这个项目上学到很多的东西。大概做了两个大的需求,都是一套,前后端带数据库,当时比较幸运,有个架构师级别的人指导,业务方面的工作都他做了,代码大多是我码的,难点就他帮我解决。在他指导我开发的那段时间,应该累计了很高代码行数,毕竟一个月当两个月来用了。这个时候,就要感谢我的同学技术宅,在技术发展的道路上,拉了我一大把,比如:idea、git、maven等新的技术,都是他推荐给我的。
然后就到了,2017年初,年后的第一天离职,不评价。
在家呆了几天,直奔深圳。
到深圳的第二天早上就开始面试了,还是我比较看好的公司,至少招聘简章上写的东西我都会。又来到了海滨城市,必须要去海边转转。
下午就去深圳湾转了一大圈,真的是好,比青岛的海滨公园漂亮多了,以前我可以经常去海边栈道散步的。
然后就是不停的面试,面试,面试。
然后就进了UT。
不得不说,我是幸运的,我面试的那天,有个要去很苛刻的没有面试我,才让我这个菜鸟,溜进了UT BI项目组。进来后发现,在面试要求上来说,我应该基本满足,不是因为技术厉害进来的。跳过
刚进来的时候,跟这一个技术貌似很厉害的人(至今我也没搞懂,到底是不是很厉害,反正SQL很溜)手下干活,做报表,帆软的。先给我讲了一堆项目架构,数据库结构,技术什么的,就开始做了。帆软对做报表的系统,还是很方便的,只需要拖拉控件,写个SQL,就好了。还好,上个工作做过一段时间报表,SQL用的还是比较熟的。然后就是报表、报表、报表到现在了。
帆软的报表,当然有好有坏了,不评论,但是是收费的。
我进BI的时候,已经在做新版的BI系统了,比较尴尬的是只用了mybatis这个框架,因为只提供接口服务,搞好mybatis 的一个id就可以对应一个接口,输入输出参数都是有hashmap,只需要提供一个Servlet接口,设计还是很机智的,不过里面的代码,嗯,还是比评价了,大段嵌套的If else,这也是我没弄懂,上一任技术到了多厉害的一点。
在UT待了一个月多吧,上一任就闪人了,据说是工资翻了2/3倍,跟着架构师做事。然后他的部分工作就交给我了,也就是报表的,出去hadoop部分的工作,基本都交给我了。然后我就开始了技术飞速提升的日子,也为后来的烦恼奠了个基。
接下来的工作就是,数据库表设计,接口设计,开发接口,跟前端联调,跟客户沟通,为业务和技术打下大坚实的基础。
接下来就是,项目经理升职,要管公司的多个项目组,没时间管我们了,就把BI项目的工作分成三份:报表、大数据、搜索推荐三个小组,我勉强算是赶鸭子上架,升了个职,我也是拒绝的。顺理成章的,就接管了新旧报表、数据库方面的工作。
SQL,做报表,其实主要还是写SQL,数据结构设计好,大数据的同事,负责技术,我们负责写接口,系统架构设计得比较好,接口,也就是mabatis 的一个个query,所有,主要还是写接口,不过由于报表很多,自然各种SQL语法都会用到,加上自己平时主动去看书看博客,做实验,SQL技术提升还是很高的,加上,后来遇到的一些问题,比如Oracle备份恢复、锁、表空间、数据文件等问题,还有就是SQL优化了(报表还是有这种要求的),现在Oracle还是玩得很溜的
Java,一直给自己定位就是个Java程序员。其实,进来BI项目,很少会有下Java代码的需求,一般是mabatis加个接口就可以解决的。技术这个东西,还是需要经常联系,偶尔遇到一些比较麻烦的临时需求,还是会用Java写一下,还有就是,自己为了技术不后退太多,也搭了个web的项目,熟悉前后端的各种技术,还有就是把一些新学到的技术加上去了,比如加了redis缓存、前端使用superui框架等。今年,写代码最多的是,报表的手机平台需要重新开发,照搬PC端的后台,用maven重新开发了一套系统,功能倒是一样,代码确实重写的,以前的代码,只能拿来参考下功能,然后删掉,看都不怎么想看。没有复杂的业务逻辑,所有代码也不是很多,可以说说的也就是,用了redis做缓存,可以查hbase。其他的,不值一提。总的来说,Java没什么提升
Linux,项目是大数据项目,用的都是Linux服务器,以前也有用过一段时间Ubuntu,主要还是用窗口界面,还好vim基本操作还会,就这样有点点学下来了,也算有些提高。
hadoop大数据,包括hive、hbase,hive因为主要使用,hql和SQL也基本一样,所以还算比较熟的。hadoop的mapreduce程序,也写过几个,大概还是会的(指定号输入输出,其实就是Java程序),报表有部分用户画像的数据量很大,数据库没办法存,所以用了hbase,不过用的比较浅,只能说是基本操作的,不过,最近正在看hadoop和hbase的书,看完,在做些需求,应该就比较熟了。
总结:过去的几年,没有白费,2017年还是一直在学习,希望2018年也能保持不断学习。
明天会更好