故事应该是从2008年夏天开始的,对于那一年映像最深的除了汶川地震,北京奥运以外,还有JAVA。前端
java算是我第一次接触的跨平台的东西吧,决定要去学java的缘由很简单,由于那时候我还不满16岁的大脑貌似对正在被教授的嵌入式C语言不太感兴趣,也许是那个时候教学太死板,我始终以为:java
既然要教我嵌入式,怎么说也得先弄个机器人什么的给我长长眼吧?
若是当年阿凯老师的银色手提箱里取出的是一个micro robot,而不是一块电路板(开发版),也许我会一点不犹豫的坚持在嵌入式这条路上走下去。后来懂得多了,才发觉,当年那块电路板上搭载的竟然是arm处理器。python
要知道,那时候开放手机联盟大概也才刚刚成立,android估计才进入测试阶段,嵌入式设备上大多运行的还只是KED桌面的Linux和WinCE。
然而,在完成了一个阿凯老师布置的任务以后,我就再也没有接触过所谓的嵌入式开发了。jquery
那个任务大概是这样的:首先是读取Linux的串口,串口的终端是一块GPS天线,我所作即是实时读取这个串口文件。而后用C语言的字符串处理截取出来我须要的信息:高度,速度,纬度,经度。最后,使用另一个GPRS模块,把这些信息发布出去。
个人任务完成的还算圆满,交叉编译以后烧到ARM板上还运行的不错,不过,在整个系统中,我所作的只是移动终端的开发,当我看到指挥中心的客户端时,个人心情…是震惊的。android
这他妈的简直是黑客帝国嘛,一个个终端被分散出去,地图上不停的闪着小点点。简直是电影里才出现的呢!16岁的我瞬间被震撼到了。阿凯老师只说了一句,这是用java作的。事实上,后来到了部队也作出来了相似的GIS地图,只是苦于当时只是个义务兵,没钱买开发芯片和各类模块,领导也不重视,那个地图也仅仅是个可以分层的地图而已…
总之,那个时候就鬼使神差的迷上了java,阿凯老师擅长的不是java,我又跟亮老师学习了,刚接触不久就被OOP这种思想给征服了,受够了面向过程当中的各类数据结构,面向对象里原生态提供的数据结构,原生态类库,让我第一次以为编程原来还能够这样。c++
和全部09年前学习java的人同样,最终目标都定在JAVA EE上,我也不例外,大概学了一年的JAVA以后,个人眼界也逐渐开阔,也能用struts hibernate这类的框架作出来一些web应用了。
不过,毕竟仍是太年轻,不知道怎么想的,忽然对web开发有了一用莫名的轻视,感受无非就是数据库的CRUD罢了,那个时候,彷佛也尚未前端的概念,个人一些做品的页面也是丑的一塌糊涂。渐渐的对web开发没了兴趣,因而作回了老专业——嵌入式。web
那个时候对嵌入式和手机开发,没有明显的界限,或者,那个时候手机开发就能够称得上是嵌入式了,因而我开始了个人Android之旅。
勉强算的上是国内比较早的Android应用层开发者了吧。大概是半年时间吧,一个软件公司找到了我,那是个当时西北地区为数很少的作android开发的公司,苦于招不到人,竟然找到了我这个17岁的孩子。去公司面谈了一次,项目经理还给我出了一道算法题,具体记不清了,大概就是一个数列的获取和排列。大概也就五六分钟时间,我就给了代码,本觉得会对个人算法指指点点,谁知道那货关于算法和程序功能都没有说半个字,甚至都没验证,反而是对个人编码规范大大的赞扬了一番。那就下个礼拜上班吧。面试
但是这个时候,老妈忽然通知我回家当兵。据算命的说,若是我不当兵,可能会有牢狱之灾。老妈多是看我一回家就作在电脑面前,不玩游戏也不看电影更不和女孩子聊天,天天都在电脑上敲一些她看不懂的英文字母。老妈虽然不懂,可是新闻仍是常常看的,结合算命先生的话,再看看个人状态,不禁得怀疑,我是在搞网络犯罪。每天旁敲侧击的教育我,君子爱财,取之有道之类的。算法
因而,2010年冬天,我终究仍是跌跌撞撞的闯进了部队,走的时候,不知道哪根筋不对,竟然带了一本《LINUX 环境下C语言程序设计》。数据库
就这样,一我的,一本书,到了部队。
在此以前,我已经具有了一些成为全栈工程师的资格:
java语言基础
web开发的必备知识
HTML/CSS
移动开发
一些MVC MTV之类的开发模式。
到了部队就是在新兵连里训练,各类不适应,由于以前每天在家写代码,以致于身体底子特别差,刚开始的时候跑上1000米都喘的不行,因而训练的过程就是各类挨骂的过程,再加上遇到了个比较严厉的班长,基本上天天可以不挨骂那即是我最舒服的日子了,过了一段时间之后,身体的每个块骨头都被骨膜炎蹂躏一遍以后,感受整我的都脱胎换骨了同样,也就慢慢适应了,这期间,每一个周末会有一天休息,我就拿起那本《LINUX环境下C语言程序设计》看,没有电脑,就在日记本上写代码,在大脑里编译,不知道这算不算是对本身的一种锻炼。这样的日子过了四个月,我才下连,个人连队在一个山沟里,下连没多久就开始执勤,主要是看犯人。
每次站在哨位上看到监狱里的犯人,我都会问本身,我来这干吗来了?
事实上,这个问题我至今也没搞清楚。好在没过几天,值班室通知我接电话,电话那头是司令部的哪一个首长,以前也没见过,问我程序能搞不,我说没问题。因而我就被调到了司令部做训股,全称是做战训练股,那会儿也不懂那是个干啥的单位,总感受听名字仍是挺牛逼的。
到了机关,天天都会在办公室里上班,不过比较尴尬的是,办公室配给个人仅仅是一台赛扬的处理器的台式机,那叫一个慢呀,并且根本没有外网。我在部队内网找了大概整整一天,编程的工具竟然只有c++ builder,好在以前这个东西用的还算不错,因而,就开始了我在部队的第一个程序,基本上就是一个简单的管理系统,我甚至都没找到数据库,用的ini文件来存储数据。不过,总算开始敲代码了,这期间慢慢的也熟悉了新的环境,天天的工做也是比较繁琐的,除了写程序以外,还要负责司令部领导的生活起居,办公室的卫生,几个库房的卫生,天天还要雷打不动的站四个小时岗。
按照领导们的说法,我对电脑比较精通,因而又交给了我一个新的任务,那就是,视频剪辑。也就是把部队每月的执勤,训练的视频资料剪辑出来,方便作一些分析呀之类的东西。因而,我就开始学习会声会影。
以前对于视频剪辑,图片处理之类的软件也没怎么接触过,感受就是点点鼠标什么的,接触以后才发现,这里面也有大学问。因此也慢慢认识到,隔行如隔山,咱们不能用本身的浅薄轻易的否认了别人的价值。
关于视频剪辑,后来我在大概第三年的时候专门参加过一次培训,培训内容直接上升到了电影的制做,授课的都是一些北京电影学院的教授和几个比较有名的导演。也算是长了见识,回来以后就买了个MacBookPro,在本身的单位用单反相机拍了一部微电影,用finalcut剪辑了出来,后来在所有队还获了奖,不过这都不是我想要的了。
再说回来,大概在第二年的时候,部队开始搞信息化,我被调整到了通讯股一块儿搞建设,此次建设让我有了一种鸟枪换炮的感受,指挥中内心全部全新的笔记本电脑和全部的台式机随便我用,最重要的是,咱们接了一条外网!这个时候,上面信息化部门也来了一个帮助咱们搞建设的参谋,这参谋也算是科班出身,和我勉强算是有点共同语言吧,咱们两个一合计,以为仍是要搞出点软件来,不过,这货的编程功底确实差的一塌糊涂,因而我变成了主力。我用了差很少两天的时间在在网上复习了一下java的struts2框架,而后开搞。
因为确实在这方面没什么实战经验,并且要作的系统仍是比较庞大的,直接命名为一体化平台,总之部队里的人员,车辆,做战,执勤,战斗力评估之类的所有要作进去。第一个难题就在数据库设计上,我一我的差很少折腾了三天三夜,才把数据库这块作好。而后就是各类业务逻辑,在这里也不便透露,总之,整个项目边开发边测试,差很少一我的折腾了一个半月时间才能跑。功能都实现了,但是问题来了,个人前端确实丑的惨不忍睹,因而,上面来帮忙的参谋动手了。
他用了一个叫作authwear的东西,作了一个固定分辨率的界面,不得不说,他的界面作的确实很好,在看他工做的时候我也学会了很多PS上的东西,以致于如今个人PS已经能至关于一个职业美工的水平了。与此同时,我用了半个月的时间自学了3DMAX,把咱们全部目标作成了3D模型,而且按照海康的sdk,把实时视频监控也作到了这个系统里。
可是,把个人页面直接嵌套进他的界面里,B/S构架的应用直接变成了C/S构架,直接牺牲了程序的灵活性,以致于,我又一次改了代码,直接提供接口给他来调用。最后,获得了一个看起来很酷,可是牺牲了部分功能和灵活性的平台。
当这个平台被放在了指挥中心的大屏幕上,我在控制室为指挥中内心的将军调出来各个执勤点的视频,每个战士的资料,战斗小组信息,车辆和装备信息的时候,一种成就感油然而生。
个人军旅生涯本该就这样结束的,9月份的时候,我被家里人内推,去了一次百度西北区总部,面试个人是他们的人事总监,他对我还算满意,而且也谈好了,推荐我去北京的百度无线部。我也就作好了再过两个月退伍的准备。
但是,以后的一次任务改变的我,任务甚至还有友邻部队的战友为此付出了生命的代价,参与完任务以后,我鬼使神差的写了一份留队申请,结果,就变成了一个士官。
转了士官以后,我被调到了另一支部队,专业是网络维护员,用外面的话来讲就是站长。负责网站建设,主要是ASP和PHP,这个新的单位对软件系统这块儿也没有特别的需求,以致于我在这里仍是比较悠闲的,直接的好处是,我能够花大把大把的时间去学习一些新的东西。
我也正是在这个时候开始学习python的,大概一接触python以后,我便完全舍弃了java,我喜欢新技术,并且python真的很对我脾气,因而开始用django来作一些项目。日子就这样波澜不惊的过着,差很少持续了三年吧,只要没有其余的任务,我也天天坚持写代码,在这期间同时也学了SWIFT IOS开发,新的CSS和HTML,bootstrap以及jquery,而且在第四年的时候,受到原部队的邀请,回去用WPF从新实现了以前的一体化平台。
这一次,我一我的,让界面更酷,效率更高,软件更实用。
到此为止,我不知不觉的已经进步了许多,回头看看。
曾经的闭门造车,在彻底没有网络的环境下开发,锻炼了我不择手段解决问题的毅力。
使用一些之前不屑于使用,或者认为太简单的工具,而且去研究它,发现了技术和艺术结合以后的新世界。
接触了许多硬件设备,维护部队的网络,发现了许多硬件和软件共同的地方。
接触了身边形形色色的人,有初中毕业的战士,研究生技术干部,学院教授,发现他们的可爱与可敬,让我改掉了本身心浮气躁,眼高手低的毛病,学会了尊重与学习。
从浮躁不安,自觉得给我足够的设备和材料我能把卫星放上天的十七岁的不知天高地厚的少年变成了宠辱不惊,愿意踏踏实实作一点事情的老兵。
我发现本身在一点一点的进步,这些进步不少时候本身不能直接感觉到,但他确实存在,虽然我如今也并非什么技术大牛,但我愿意,踏踏实实的去创造一些本身喜欢的东西。
一我的,一台电脑。浑浑噩噩的,就这么成了一名全栈工程师。