写给即将面临毕业的程序员们

来源:互联网 发布:ubuntu 16g内存 编辑:程序博客网 时间:2024/05/16 20:25

  转眼间已经毕业了将近快一个月了,实习也结束了,最近估计就要与公司签一个长达三年的合同。从去年十月份开始在这个公司实习,已经实习了八个多月了,在这个公司学习到的东西,在某种意义上来说可能比我在大学四年期间学到的东西还要多。但是这和大学期间看过很多编程思想的书也是分不开的,在这里可以说在原来的基础上学到了更多更加前沿性的技术,例如:mysql的瓶颈,在达到瓶颈之后MySQL的性能究竟如何,查询速度怎么优化,还有一些图形数据库,让我印象最为深刻的就是neo4j这个图形数据库,当数据达到一定量时他的速度变的将是非常慢,但是当你第二次,再重新查询这些数据时,它竟然变得飞快,这是因为Neo4j采用了Lucene作为索引。然后又学习了BDB,SSDB(作为radise的一个替代品)这些数据库都是以KV对的形式存在的,他们的瓶颈往往不在于数据库本身,而在于自己的硬件自身。还有一些Hadoop和hbase之类的技术。其实我最为开心的还是学会了JAVA这门面向对象的编程语言,为什么近年来面向对象的语言这么流行,我们先不说面向对象的语言使开发周期缩短,降低了成本,就是其中Java封装了大量的类库,使我们开发变得更加简单开心(不过我认为Java还不是一种纯面向对象的语言)。

我之所以说很开心学会了Java这门面向对象的语言,我是说,我在大学期间曾经学过C和C++ 但是当使用C进行编程序时,当一个项目变得特别大时,使得项目难以管理和控制,所以说我学的实在不怎么样,只会使用C写一些非常简单的算法之类的程序,我在学C++时,因为懂C++ 的人估计都知道,要想学好C++一定要玩转指针的奥秘,这个东西我至今都非常有兴趣去研究它,作为在大学期间学的这2门语言我都没有学好,所以说我的大学上的是非常失败的,大三那年,想着估计快要工作了,听学长们说Java这门语言特别容易学习,有时一个月都容易上手了,但是非常不幸的是我天分过低,学了将近有6个月左右吧,才能刚刚开始能能够熟练的使用和掌握Java API中一些类库的使用,当时这个时间好像是在13年10月份左右吧,就是对于一般的程序都能够编出来,即使一时不会,通过查询一些类库,还是有个差不多,不过当时编程序和现在时非常不一样的,当时也不懂设计模式之类的东西,更不懂得对自己的代码进行重构调优的处理了,长编大论一直往下写,当时的目标就是只要能写出来运行成功就可以了。当时想着估计快要找工作了,听说一些用人单位对struts,hibernate,Spring三大框架之类的东西要求比较高,没有办法,当时就到官方网站上把相应的一些文档给下载下来,硬生生的把它们看了遍,不过当时应用,好像也只限于会简单使用一些配置文件之类的东西,那时对hibernate中ORM还不是太懂,貌似当时对Struts中的拦截器又是过滤器之类的东西原理一直没搞懂(当时还不知道实际上就是使用了一个责任链的设计模式而已),对Spring AOP甚是搞不懂(实际上这个地方也是使用了代理模式)。后来就是通过自己学的这些皮毛,到外面吹嘘了一下找了一份现在正在干的工作。

在干工作初期,当时进去之后好像没有太久吧,就接手了一个比较老的工程,这个工程存在一些问题,由于比较简单,由我自己进行负责重写(在这里非常感谢当时的那个老大对我的赏识和信任)还记得我当时写程序是非常逗得,还像以前学校编程那样一边想一边写,最后写完了,发现代码是非常之长(当时这个东西我自己大概三个月独立完成的)以至于根本无法维护,由于和数据库有交互,当数据大的时间,出现问题时,我自己写的程序,当出现bug时,我自己都头大,更别提当添加一个新功能时,自己有时找了半天都不知道这段代码应该放在什么地方最合适。(后来老大看了我的代码之后硬性的要求我看了设计模式和重构改善既有代码的设计这2本书,对这些代码进行了一次重新组织)。

以上这些都是大学加上工作,一直到13年末发生的事情吧,想想自己大学四年,大一时当时高中时学习的热乎劲还没有过去坚持学了一年吧,当时收货不大,最大的收货莫过于学好了英文和数学吧。大二那年由于长大了,也开始发情了,也学习别人一样开始谈恋爱了(这一年全部用来玩了,几乎很少学习上课之类的),不过这一年给我造成的一些影响也是非常大的,可能是书上永远都学不到的,人吗,就要去多经历一些事情,反正我一直都这样认为,在这里我也建议一些还没有毕业的学弟学妹们,打个比方说,如果你以前从来没有使用支付宝或者银行卡在淘宝上买过东西,然后你就应该尝试着去做一下,感觉这样进步是非常大的。反正就应该去大胆尝试自己没有做过的东西,这样才能进步。在学习上也一样。有时自己在编程序时别人给我提出意见,比如说:你这里应该使用数据库连接池,这样才能为多个数据源服务,有利于扩展。别人可能再提出来时特别简单,因为这时有可能你没有用过这些东西,感觉很不适应,但是这时你不应该害怕,要大胆到网上去查找文档,最后你会发现,不就是一段配置文件吗,人家在文档里写的特别清楚,直接拿过来就用了,一点都不难。所以说你要大胆的去做一些事情,当你做过了你就发现实际上根本没什么,特别简单。大三那年吧,就是简单的去上上课,做了一份兼职。然后会会朋友,下学期吧好像当时读了thinking in Java这本书,还有一些算法之类书,还有数据库原理之类的不过这本没有读的太懂,大四十月份左右吧,招聘会特别多,就找了现在的工作干到现在。

在这里算是对大学四年的一个总结吧。在这里我只是建议。只是建议(因为我也不够努力,不敢要求别人这样做)。一定要培养自己的爱好和性格,一个人的性格对自己的影响乃至一生都是非常大的,多去经历一些事情,不要看到别人干什么,你就去干什么,当你感觉实在没有事的时候,当你还没有大量的资金去旅游,去追求你喜欢的事情时,那你最好安下心来看书。(人家不说吗,这一辈子一定要有一次说谈就谈的恋爱,和一次说走就走的旅行,但是最重要的一点是    说的都给不要钱似得)你可以去读去学习你感兴趣的书,等你毕业时可能你会发现这些事情会影响你对待生活的态度。

如果你对计算机编程之类的感兴趣话,我感觉编程序最重要的是兴趣,只要有兴趣,没有什么是干不成的事情。你最好去读一些编程思想之类的书,语言只是一门语法而已,很快就能够掌握了。然后可以去研究一下算法  不是太多,这时灵魂所在。最后我建议你可以去读读设计模式之类的书,使你的代码更加容易维护。在这期间你都可以去学习一下关系型数据库,这些太常用了,以及常用的一些语句。学习一下搜索引擎。这些原理都很重要。实际上只要这些你都能够掌握了,平时我们遇到的一些框架之类的东西都是非常简单了。包括我们以后可能会学一些mapreduce或者hdfs,hbase很快都能上手,千万不要相信一些培训机构说的零基础培训大数据,根本不可能,只要你基础好了,根本自己看看用用  几乎就上手了。

还有一点,我想澄清一下,实际上程序员的生活也不是多么的枯燥和乏味。当你看到你做出来产品,别人都在使用和夸赞时,你的嘴角也会微微扬起。这些算是我发发牢骚吧。希望有志编程序的同学一起交流技术和生活上的问题。

1 0
原创粉丝点击