时光荏苒,岁月匆匆,不知不觉间2012年又到了尾声,这一年的时间不知道有多少人最后是兴奋,是懊恼、是平淡,仍是悔恨。不知道玛雅人的末日预言是否是靠谱,我选择在“末日”以前将这一年记录下来,算是对本身的一个总结,不管有没有末日,普通人无论怎样仍是要生活的,生活还得继续,饭仍是要吃,日子还得照过。12月22日若是本身一觉醒来还活着,咱们仍是得保持劫后余生的庆幸对不对?程序员
相对于大可能是的程序员,我不知道本身能不能算得上这个群体的一员,若是我算着群体的一员,那么我相比大多数人是一个年轻而又年长的程序员。先说说年长,我是2003年进入大学的,那一年我18岁,可是个人专业和计算机毫无关系,也不算全无关系,至少仍是须要计算机画图的,个人专业是机械类的专业,之后打交道的是容器、压力容器、各类大中型的器械,我天天面对的是各类力学,压应力、拉应力、热力传导,很是幸运个人学校很不错,工做在2007年毕业的时候很好找,不但如此我在毕业前的10个月就已经签定了就业合同,很不错的单位,央企、国有超大型企业。若是不出意外个人人生就已经肯定了,行政之路或者技术之路,职员-科级职员-副科-科-副处……,助理工程师-工程师-副高-高……,可是……,人生有不少可是,2010年底我辞职了,呵呵,算是比《北京青年》提早了了吧,用如今流行的话说就是“裸辞”了。我裸辞了。那一年我要到副科了。数据库
2011年是混乱的一年,我不断的徘徊在本身的心门以外,干过很多工做,卖过保险,也干过老本行。不说也罢。2011年底我终于决定走上程序员这条路了。编程
时间到了2012年,通过艰难的寻找,我终于以一个机械工程师的身份当了一个程序员,这一步的艰辛不足为外人道,可是我想说的不是这个,这个坎已通过去了,至少我如今能够用写程序赚点工资了。虽然不多,当初我为何选择这条路,能够与个人缤纷的想法有关,这是一个迷人的世界,一个由一行行的代码组成的世界,个人任何想法,无论多么离奇,都能实现。我没有参加社会上任何计算机的培训班,就靠着这股子锐气,走上了这条路,有些时候我就想:有些时候你不走到一个位置,永远不知道在这个位置上的难处。安全
等到真正走到这个位置才发现,事实远比本身想的残酷,表面下的光鲜掩饰不住内里的艰辛,我不知道什么是数据结构,更别提什么是树?什么是图?大学里学的那点C语言,通过时间的洗礼,基本都还给老师了,好在个人职位并非急着当即写程序,毕竟当时就任时也答应作部分机械设计方面的东西,也就是那个时候,我急切须要一门可以养活个人语言,而后就是了解、比较和选择,因为个人基础不好,也能够说是根本没有基础,我就本着简单易用好上手的原则选择个人第一门语言,C/C++固然强大,可是它太强大了,舍弃;Java很火,可是IDE并非特别顺手,做为彻底的零基础确实勉强了,舍弃;VB很容易上手,可是它老了,虽然如今依旧发挥着余热,毕竟老了,舍弃;后来我看到了C#,看到了MicroSoft的.Net平台计划,我决定选择它做为个人工做语言,既然有了方向就开始学习。数据结构
笨拙的安装IDE,秉承Windows软件的一向风格,只是一次次的下一步而已,比JDK的配置简单一点,简单的界面设计,拖拖控件,再来点简单的点击事件,就算一个软件了,当时感受真傻瓜,至今还记得当时第一个Button的MessageBox.Show()的兴奋感受,万幸我所在的公司是一个小公司,也并非专门作软件的公司,软件只是其余产品的附属产品,同事也很平易近人,因此日子也不算难过,就这样我成了一个只会拖拖控件的“伪程序员”。编程语言
曾经我觉得这就是程序员的一切,由于我在这行连菜鸟都算不上,还记得上大学时,老师说的那个“认知圆”的事情,说的是:为何越无知的人越认为本身水平较高,知识领域或者知识范围,就像一个圆,只有本身懂得和了解的越多,这个圆接触到的未知领域才能越大,才能越能知道本身什么不知道。我把本身的认知分为,不知道本身不知道——》知道本身知道——》不知道本身知道——》知道本身不知道;当时的我充其量只能算是这个知识领域里的一个点,不知道本身不知道,无知者无畏而已。分布式
我所在的公司仍是偏向于传统行业多一点,不算是纯粹的软件公司,因此工做的气氛与纯正的软件公司相比仍是有点差异的,如今也看到好多IT行业的程序员一直在抱怨工做忙、加班多,生活不规律,如今也出现了很多IT从业人员的猝死事件,因此各位仍是要多多的注意身体。我上班一年以来,只在一次周末加过班,加班一天,这一次仍是因为本身水平不行形成工做没有及时完成。虽然加班不会有两倍或者三倍的加班费,可是仍是有正常的加班费。只能说我进了一个相对比较不错的公司。闲话不说了,仍是说说本身的心路吧!学习
看到院子里好多人的鼓励,那么我就多写写本身的一些思想上的认识和感觉吧!或者是本身的一些感想,分享给你们,但愿你们多多指点,我算是这个领域里的新人,多指导批评哈,算是抛砖引玉,但愿看到更加精彩的2012年终总结。人工智能
继续,作了一段时间的拖控件的工做,我就开始不知足了,程序员应该不是这样的,他应该是神同样的存在,我决定开始普遍了解这个行业,由于只有你了解了才能作出比较合理的选择,知己知彼才能百战不殆。提早声明我只是浅显的如走马观花的了解了一下,有什么不对的请给位大牛多多指点,修正我本身的知识体系。操作系统
我首先了解的是嵌入式行业,由于这个职位咱们公司有人在从事,我简单把这个行业分为带系统的ARM系列和不带系统的单片机。先说说单片机吧,单片机的功能比较单一,运算能力稍差,适用于低成本的控制领域,能够作到很低功耗,适合一些控制比较简单,PC机没法深刻的一些领域,好比简单的数据采集、传输等等,目前单片机家族主要分为两大致系结构,冯诺依曼,表明为51系列;哈佛指令结构,表明PIC系列;我曾经花了几个星期的时间来学习PIC系列的PIC16F877单片机,感受入门比较简单,可是想深刻学习必须有很扎实的电子电路知识和计算机基本原理知识,这正是我所欠缺的,想深刻学习阻力很大,因此了解了基本以后就放下了。再就是ARM了,功能强大,能够方便的移植Linux系统,完成更为强大功能,相应的知识要求更高,因此果断没有浪费时间。
通过这短暂的一段时间学习,虽然不能开发作项目,可是确实开拓了个人眼界,也让我了解了更多的东西,目前IT行业的窘境和从业人员的迷茫,我认为应该是了解的不够多的缘由(本身的浅见,你们莫喷,呵呵),在如今这我的人皆山寨的时代,软件方面本身的创意,极可能被山寨,不是有个笑话嘛,比尔盖茨若是在中国,如今仍是个装机工。可是硬件方面的东西仍是比较难破解的,有些从成本上来讲仍是不可能的任务,目前比较热的物联网,我理解的就是,一种软硬结合的新型行业,目前我比较看好这个行业,能够适当拓展这方面的知识,想象一个每个东西都能主动报告本身状态的世界,你放到冰箱里的东西主动大喊本身要到期了,让你抓紧吃掉,呵呵,夸张了!这只是物联网一个简单的应用,更广阔的应用你们能够展开想象哈!
可能我是一个喜欢想象的人,我一直认为思想决定高度,眼界决定世界,因此我本身构造出一个叫作“车联网”的东东,为何这么说呢?由于目前汽车山的电子设备愈来愈强大,功能也愈来愈多,以传统的方式和方法来制造和开发汽车电子愈来愈困难,我感受应该引入IT产业的思想和方法,最好能有国内的大牛可以开发出汽车专用的操做系统,能方便的扩展使用,那么恭喜你,你将成为比尔盖茨第二了,或者比尔盖茨成为第二。因为个人薄弱的基础,这个只能存在于想法的阶段,想干却心有力而力不足。唉!一声叹息呀!!!顺便说一下汽车电子使用富士通的芯片比较多,有人想进入能够关注下。
继续个人计算机世界漫游,我原来很纠结于一我的究竟是拥有广博的知识比较好,仍是拥有深刻的知识比较好,这是一个广度和深度的问题,由于知识是无限的,而咱们的时间是有限的,后来我才明白,这不该该是一个相对立的问题而是能够相互结合的,本身总结了一下:深度决定了咱们的生存,而广度决定了咱们的发展。其实也很好理解,因为咱们具备某一方面的才能,因此别人才能雇佣咱们工做,才能养活本身;等你走到必定的高度,广度才是决定你将来的东西。因此我说思想决定高度,眼界决定世界。又扯远了!继续工做,等个人工做达到必定的规模,我感受目前的工做到了一个瓶颈,重复的工做开始变多,需求的改变几乎能完全摧毁我原来的努力。我是一个懒人,不喜欢复杂的东西,不喜欢重复,虽然我很当心的划分了工做的模块,可是,仍是可是,效果不理想,虽然知道有OOP的方法,可能水平不行我感受使用起来很是的生涩,不一样的控件相互纠结在一块儿,让代码的修改很是困难,经常是牵一发而动全身,修改代码成了一项挑战。虽然我颇有耐心,可是很不幸耐心用完了,因此我用了本身的小聪明,根据数据库软件的三层结构,在本身的软件里构造了一个三层结构,界面层、中间层(更新界面)、逻辑层。界面层就是界面,逻辑层表示程序的执行逻辑,而中间层是把逻辑层修改更新的数据显示出来或者将界面操做传递给逻辑层执行。虽而后来我发现这种方法只是取巧,可是因为个人OOP实在太差,只能勉强用这种方法混日子,那位大牛若是看小弟可怜,请多多批评指点,提携一下,书也不能一时半会啃完,要走的路还很长,要学的东西也不少。
编程语言不是万能的,可是不会编程语言倒是万万不能的。因为是一招鲜(只会C#,还不是精通,勉强算马马虎虎),内心多少有些恐惧,因此打算再学点什么东西,传说Python很火看了几天;又说Ruby很优美,也浏览了一下;说Lisp是黑客必备,怀着对黑客的崇拜,也啃了几天;想一想回顾一下C吧,又看了几天C。效果嘛,从学习方面来讲,几乎没有,如今让我用这几种写一个最简单的Hello World,我如今都写不出来(C还能写),可是,仍是可是,我怎么用了这么多可是,有些意想不到的收获。IT界是个百家争鸣、百花齐放的领域,当年的选择语言也着实费了很多脑力,可是从传统行业转型而来的我,总认为应该有种东西应该是超脱语言之外的存在,经过上面对几种语言的浅尝辄止,我发现这种东西就是一种思想,一种“软件思想”(我本身的命名),我如今还不能表达出来,由于我只是意识到了它的存在,可是我尚未看清它,我想这应该就是IT人所追求的终极目标,我一直认为程序员是一个艺术家,产品其实是艺术品,我想我本身若是能朝着“艺术家”的目标努力,终究可以实现个人梦想。唉!又煽情了,你们见笑了。
结束了短暂的语言之旅,我又对图形技术产生了比较大的兴趣,说实话让我拿一条腿去换成为一个图形技术方面的大牛,我会大声说愿意(呵呵,估计很多人会说,我实际上是赚了,我也是这样认为的)。因为前面说过的缘由,我只能浮光掠影般的看看,连蜻蜓点水都算不上,我的浅见图形技术会是将来的一个发展方向,固然了我不知道真正图形技术的定义是什么,可是在我这里它的定义是一种针对全部感官的一种技术,不只仅只有视觉,我认为的将来画面会直接在人脑造成,直接刺激感官,你就在这个环境里的感受。因此虚拟现实技术,光线追踪等等,有能力仍是上吧,我是不行了。谷歌眼镜、微软眼镜就是很好的证实。原本这段想多写写,了解有限,水平不行,词尽思穷了。
安全,嗯是安全。安全是永远的热点。随着互联的进一步深刻,安全问题更加的突出,想一想陈老师吧(虽然这个和我说的彷佛没关)!嘿嘿!如今各类数据都在主机上挂着,主机又几乎所有连通,人心又是八卦的,因此你懂的,因为不是很懂,只是认为这个比较好,只能翻来覆去只能说这么几句弱智话了,请不要见怪!
异构计算、人工智能、分布式计算、并行计算。真心喜欢异构计算,C++一点不会,只能门外看看。人工智能,我认为像人同样几乎不可能,可是能够制做某一领域的人工智能,如真正的电脑医疗诊断,就在刚刚看到IBM的(沃森),正被应用在癌症诊断上面,IBM果真强大,对于我来讲这个只能想一想,更但愿中国的IT界可以出现这样的成就。
写到这里的时候,我忽然想起了属于咱们IT人的悲哀,不知道没日没夜的加班是否是与这个产业同时出生,可是我认为这不是常态,这是错误的!曾几什么时候加班成了程序员的代名词,彷佛不加班都很差意思说本身是程序员。失败的项目比比皆是,虽然这并非我这样一个刚入行的菜鸟级程序员考虑的问题,我仍是思考了这个问题,说说浅见,你们提提意见。单打独斗靠技术,双剑合璧靠合做,三人成行靠管理。大型项目的失败一般是因为管理和沟通的缘由,需求和描述的南辕北辙,形成无用功和大量的返工,工期的迫近,又形成赶工。精确的需求定义显得很重要,搞定需求,开始设计,软件的设计相当重要,我认为准确的定义+合理的设计,项目就成功了八成了。而如今我还在苦苦学习各类设计方法,说出来丢人呀!!!没领导过项目的人,居然也谈项目,呵呵。
任什么时候候都要给本身留出思考的时间,不要只急着赶路,放缓脚步,欣赏一下周遭的风景,也许会发现别样的美丽。不要由于加班而放弃本身的追求和进修的机会,也不要让别人一提到程序员就想到宅男和屌丝,咱们虽然改变不了整个行业和社会,可是咱们能够改变本身。努力作到“Follow my heart!Inner peace!”。
2013年我想认真学点东西,各位大牛有什么推荐的?我本身目光比较短浅,看的不够长远。给点意见吧!
谨以此文,献给逝去的2012年和那些默默无闻的IT程序员!!!
流年似水,落花飘零;年华再也不,往事如烟;追忆往昔,共飨思绪;展望将来,你我同行;九天十地,共同遨游。
若是22日太阳正常升起,那么2013年咱们共同向前,兄弟。
2012-12-17夜