工作这么多年了。突然想总结一下。

知识和经验是需要积累的,当知识和经验都积累到一定的程度,或许就能产生质变的效果。这是我近八年的IT职业经历的感受。

本科毕业时去找工作,当时真的很迷茫,觉得自己好像什么也做不了似的,甚至觉得自己找不了工作。尽管本科时,用过C语言来写过不少代码。但到毕业时,感觉 都忘了似的。这还是用得不深、理解不够的结果。毕业作品用VB来做了一个台球游戏。至少看起来也挺象样的。但是感觉对VB的很多东西都不懂。总之,对自己 的知识,脑子里就是一盘散沙。本科的学习对什么都是一个大概。根本没有办法或不懂得把学到的东西应用上去。这或许就是知识与经验的最原始的积累阶段,只能 说是一个量变过程的开始,离质变还远着呢。

没办法,上个研究生吧。

硕士期间,可以说经历一个很大的量变过程。两年半的时间中,差不多一年半的时间是在不停的学习各种知识,准确的说是重新温习和加强了一下本科时学习的知 识,诸如,体系结构,操作系统,网络,数据库等等。还有意识的选择的一门语言来重点学习。这样《Java编程思想》的第一版救被我够入了。或许我还是中国 大地上读完这边本书前100个中的一个。开始都这本书时,感觉真是天书。当我都到第三遍时,感觉终于开窍了点。书上留下了很多自己笔记。很遗憾的是,后来 这本书借给某个同学,让他弄丢了。特别可惜。

经过一年多的知识学习,当时感觉自己有了质变了(现在看来,只能是个小质变),可以出去显伸手了。很幸运,第一份工作就是一个Java方面的工作。但工作 之后才发现,尽管《Java编程思想》看了三遍,但是还是没法很好的工作。为什么呢?没办法,工作的内容是写Jsp和Servlet,《编程思想》中有 j2ee的内容本来就很少。那是才突然感觉到,java的内容很多,自己只是知道一个皮毛。自己其实并没有掌握其中的精髓。两个月后,jsp和 Servlet也知道了个大概了。为了毕业论文,先不干了。

写毕业论文的过程,又是一个知识积累的过程,为了能在论文中把东西说得圆满,再次去翻阅了大量的书籍,虽然没有深入学习,但都很多知识都有了大概的印象。这对以后的深入学习很重要。

论文写得差不多了,还有半年才毕业呢。又找了份工作。这次重新拿起了本科时用过的VB。可能是有过一次小质变,这下用起来就顺手多了。也很幸运到了一个大 公司,那时有时间了,兼职跟全职一样,跟正式员工做同样的工作。(收入也差不离多少~) 这算是有了一次真正锻炼的机会,也为以后的工作经验和学习积累做了充分的预演。但是后来,证明这里的工作还是有点单一,或者说单调,只是用VB写代码而 已。

终于毕业了,工作了。 Java相关的工作当然是我最想要的工作。 开始工作了,问题也开始出现了:ant以前看过,不是很熟,以前都是用JBuilder(当时流行这个);struts从来没有听说过;Linux,装 过,没深入用过;JVM调优,真不懂; Oracle数据库,装过,也算用过,但是在Linux下真不会使了,当然更不了解其内部的东西;JMS,JMX知道,不熟,并发编程更是不懂了;还有操 作系统,网络通讯的底层的东西等等等等,很多东西,感觉自己不熟悉的东西太多了。

一年过去了,ant很熟了,所有项目工程的编译打包脚本都是我写的,真的很辛苦的~。Linux的很多命令也会用了。

两年过去了,struts差不多专了。可以自己原创新产品的图形界面框架了。已经用Bash Shell来写了很多脚本了,也开始逐步更深入的去了解Linux了。能解决一些Oracle的问题了。EJB,JMS,JMX之类的东西,因为都有了差 不多固定的应用模式,用起来也不难了。也开始去接触性能方面的东西了。

工作三年了,开始遇到问题了:性能问题。因为以前做的东西对这方面的要求不高了,现在要遇到了。首先是多线程编程和IO编程的问题。多线程方面的编程,虽 然可以从书上学到一些内容,还可以参照别人的代码。但是当应用程序大规模的应用起来时,问题就出来了。没有并发编程方面的理论知识,要写出高质量的代码, 真的很难,操作系统的知识也很重要。还有EJB、JMS、CORBA中出现的一些棘手问题,自己真的解决不了,因为对它们的理解都是表面的,并没有深入理 解。但是也没有办法,没有那么多时间去系统学习了,只能是出现问题的时候去Google学习来解决问题了,但是为什么那样解决,很多东西自己真不知道。这 可能工作中的必然阶段。但是这也是经验积累的重要阶段。

就在不断加班中,度过了职业生涯的头四年。因为工作的需要,诸如ant,hibernate,struts,spring,webwork等等之类的开源 工具,用起来基本差不多了;EJB,RMI,JMS,JMX,CORBA,SNMP等等之类也写了不少代码了;当然tomcat, jboss之类当然也熟得很了;MySQL,Oracle对开发工作也不会有多大的阻碍了;Linux,shell编程之类更是用得够多了。这时也开始发 现,工作变得越来越容易了。这时因为经验和知识的积累,让很多问题都变得容易解决了。而且很多代码都成形了。用起来也方便多了。但这时候,开始发现自己的 进步变慢了。这是必然了,因为很多时候都是在使用自己以前积累的知识和经验。但是自己并没有觉得自己是专家或者高手。就是自己并没有质变。这时特别想去做 一些新的东西。但是这种愿望一般都很难实现。因为在一个大公司中,创新往往也是冒险的。

这时感觉真的出现了瓶颈。现在很多IT技术和工具不断出现,觉得自己去了解它很容易。但同时又觉得这样下去,自己只是在知识面越来越广,越来越是只知道表 面功夫,很肤浅。因为工作中并不需要这么多这些新东西。怎么办?现在工作变得容易了,时间也多了。自己必须做些什么了。

先去解决工作以来自己面临的一些不爽的东西吧。首先当然是并行编程的问题。尽管在工作中做了不少并发编程的工作了。但是基本都是先依样画葫芦,然后出现问 题再企图去解决的工作方式。自己并不能完全吃透。很感谢JDK5中的concurrent包和它的实现者,仔细研读了几遍作者的书,加上工作中的应用,感 觉自己突然比同事们都高了一个档次,特别是加上掌握了NIO、JVM故障和调优方面的经验之后。至少让自己感觉到,要成为高水平的JAVA开发人员,并发 编程、IO和调优这方面的能力是相当重要的。

来到了职业生涯的第六个年头。突然有个机会需要自己去进一步掌握Oracle。这么多年来,自己除了java开发之外,还多工作都是在Linux和 MySQL、Oracle数据库方面,Linux的知识得到了比较全面的了解,而MySQL的内容相对较少(至少那时比较深的书籍不多,只有MySQL本 身的文档),也很容易有了一定的了解。Oracle一直都是我比较尊敬的产品,因为它本身的文档就让我尊敬(应该是害怕~)。当年上学时,李开复还在微 软,去听了他的一次演讲,他当时就说Oracle是让他很尊重的做大软件的公司。确实像Oracle这样的大数据库软件,也是微软自己所做不出来的。就像 自己现在特别想去了解Google的后台的基础平台的实现一样,当时也特别想深入了解Oracle。这样自己真正开始了对Oracle的深入学习的过程。 非常感谢Oracle大师们的那基本OracleXXX艺术的书籍。全面学习Oracle的过程其实也就是一个对操作系统、数据库理论知识、网络知识等知 识的汇合学习的过程。我对Oracle的学习并不想自己去成为一个DBA(尽管没有考证,我想我比很多有OCP的人强~),但是这个学习过程确实受益非 浅。当自己去深入掌握了Oralce某些知识之后,突然感觉自己在其他方面的知识也豁然开朗了。甚至Oracle的一些技术也可以被自己应用到自己的编程 实现中,比如就曾经参照Oracle的检查点技术来解决问题。

工作这么多年了,现在深深的觉得理论知识、基础知识相当的重要。细细体味一下,大学时学习过的汇编、编译原理、体系结构、操作系统、数据库原理和网络等理 论知识是多么的重要。如果这些知识都有很好的基础,很多其他知识的学习都可以信手拈来了。可惜毕业的时候这些都大部分还给老师了(当然,也可以说在中国现 有的教授模式下,很多这些知识我们并没有被真正授予)。当自己慢慢的去拾起这些知识之后,工作中的很多东西突然被领悟。有一段时间没有去写EJB、 RMI、CORBA、JMS之类的代码了,甚至那些API都忘了,但是常常当同事在这些方面遇到棘手的问题时,自己时常能帮助解决、或者至少能根据自己的 知识给出解释去指导得到解决的方法。这也许就是基础知识和知识积累的力量。

当然,基础知识是至关重要,但是只是一味的去读那基本书籍,可能就成了书呆子了,甚至根本没有领悟那些知识,大多得在应用环境中体会。所以很多现在的中国 大学教育根本没法真正达到传授知识的目的。所以也很感谢这么多年的工作经历和公司提供的机会。但是基础知识并不一定能带来技术技巧。技巧或许需要更多更广 的经验和知识面。基础知识能让自己更容易理解和分析问题,而新技术和经验技巧却能提供更多更好的方法来解决问题。编程语言也许并不重要。但是有时也很重 要。当掌握的编程语言多了,找到解决问题的手段也就多了。同样,知识面广了,新技术和技巧的掌握得多了,工作就轻松了~。这也是知识积累的力量。

这么多年了,自己还是没法预料将来会是怎么的职业生涯,因为计划赶不上变化。但如果知识掌握的扎实,不管将来怎样变化,都一样可以应付。不是知识和技术没有用,得看掌握到什么程度。继续努力吧!

计划赶不上变化,也许再过八年之后。我又是另一番感受了。

转载于:https://www.cnblogs.com/shudaizi/archive/2011/08/30/2159445.html

工作八年总结(转载)相关推荐

  1. “我工作八年,换了四家小公司,今后的职业生涯该怎么走?”

    去年,我曾在GIAC大会上分享过一个有关程序员职场变化和转型的话题. 在分享结束之后,有一位小伙伴拦在大门口,问了我一个问题:"王老师,虽然你分享的内容很务实,落地性也很强,但我觉得跟自己似 ...

  2. 工作八年的程序员,却拿着毕业三年的工资,再不开窍就真晚了...

    小韩是一家小公司的软件程序员,而八年后他还在那家公司,依然是一名普通的程序员.算起来,他工作也有八年了,但是,他却告诉我,他的工资已经好几年没有涨过了. 工作八年的程序员,却拿着毕业三年的工资 小韩如 ...

  3. 工作八年然是个二流的程序员

    工作八年,虽然私下里也会总结一些所遇到的问题以及解决问题的方法,但却没有写过一篇像样的技术博客,因为 我只是个二流的程序员,能解决工作中的问题,但对问题不做深入研究,没有深入挖掘工作中遇到的技术问题, ...

  4. 工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

    近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合. "工作八年,两年一跳,裸辞两个月了,之前月薪60K,最 ...

  5. 猜一猜:工作八年的Java程序员,存款有多少

    近日,有调查称"大概五分之一的年轻人存款在一万元以内.10万元存款是一个"坎",存款超过10万就会超过53.7%的人.""年轻人"" ...

  6. 余士维讲座中的十八个故事[转载]

    No1. 善于倾听 曾经有个小国到中国来,进贡了三个一模一样的金人,金壁辉煌,把皇帝高兴坏了.可是这小国不厚道,同时出一道题目:这三个金人哪个最有价值? 皇帝想了许多的办法,请来珠宝匠检查,称重量,看 ...

  7. 写在自己工作六年:转载《软件工程师六年心得体会》

    "又是一年毕业时",看到一批批学子离开人生的象牙塔,走上各 自的工作岗位:想想自己也曾经意气风发.踌躇满志,不觉感叹万千--本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软 ...

  8. 关于工作与生活zz —— 转载

    导读: 来自 端木,作者是 HP中国前总裁孙振耀. 我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的.我 ...

  9. 上班那些事儿之工作八小时

    (一) 闲来无事,上网搜了"八小时工作制".         在1886年5月1日,美国芝加哥的二十一万六千余名工人为争取实行八小时工作制而举行大罢工,经过艰苦反复的流血斗争,并得 ...

最新文章

  1. creo JAVA_Creo 4.0二次开发工具框架搭建
  2. 简历写的好,就赢了90%的人了
  3. 2020 数据分析岗位报告:数据分析师需要哪些能力?
  4. 最简单的Evernote,最专业的活用方法 by 电脑玩物站长
  5. Ubuntu系发行版安装deepin wine QQ的步骤
  6. postman数据保存在哪里_Postman 历史记录导出的解决方案
  7. 8.5 输入输出重定向
  8. java数字常量_数字常量 - javawebsoa - 博客园
  9. 跨过Nginx上基于uWSGI部署Django项目的坑
  10. 使用pkg编译打包nodejs程序成执行文件
  11. npm ETIMEDOUT 问题
  12. redis搭建哨兵天坑
  13. 超大日志文件分割方法
  14. 算法复杂度 O(1),O(n),O(logn),O(nlogn)的区别
  15. RSA解密-提供enc和pem文件类
  16. JAVA简单大数运算
  17. XXL-JOB适配人大金仓数据库kingbase
  18. 比例导引 matlab,比例导引法Matlab仿真.docx
  19. 计算机网络——第2章 物理层
  20. CAD图纸打印时如何设置打印纸张的方向?

热门文章

  1. 大学计算机基础B这本书哪有,大学计算机基础b试卷
  2. html 问号标签 提示cursor: help,css之cursor,float
  3. 循环结构作业c语言,C语言循环结构练习题带答案(最新整理)
  4. mysql error 1148_MYSQL入坑第一弹--------ERROR 1148 (42000)ERROR 1290 (HY000)
  5. build vue 选哪个_分析vue-cli项目,简单修改,来快速理解这个项目的结构
  6. 51nod 1307 绳子与重物 (标记父节点更新即可)
  7. html(2)标签(1)
  8. 前 K 个高频元素—leetcode347
  9. CF-557 E. Ann and Half-Palindrome(暴力Trie)
  10. 【C++】字符串中运算符的重载问题