整理笔记,看到自己11年前的工作笔记。也借这篇文章,算是提醒自己不忘初心吧。如下:
年初的时候离开原公司,离开熟悉的数据库开发方向,回到厦门,做起Java程序员,希望在厦门重新开始,成长为一名合格的程序员。期间找工作经历了不少辛酸,最后来到XX,经过近一年时间,收获了很多东西。
刚进公司那段时间,先熟悉公司框架。这些在之前做CRM项目时都接触过的组织、菜单、功能权限、数据权限等东西,上手起来并不麻烦。同事喜哥教我做单页面的增删改查,明细页面的查看、保存,父子表的页面设计,花了大概半个月,我能通过复制粘贴同事的代码做出一个像样的demo,对公司框架的分层也有了一些了解。而在之前的公司,我们用敏捷开发工具开发项目,并不需要掌握如hibernate、spring、mybatis等知识,只需熟悉业务之后,在后台写存储过程就能完成项目开发。未学习公司框架之前,我都不知道什么是低耦合高内聚,什么是面向接口编程,什么是设计模式。
记得刚用公司的框架时,自己经常因为配置层面的东西如XML没写好,jar包没导好等,花费很多时间。还好有热心的同事们带领我这个新手解决很多问题。
慢慢地开始看些技术视频,知道hibernate是数据持久层,知道javabean,知道如何在mybatis里写sql等等,只不过我了解的多是一些皮毛,对深层的原理是不清楚的。spring是对类(还是实例)的管理,控制反转(IoC)和面向切面(AOP)这些概念是什么,我至今也说不出个所以然来。
6月份开始对现场进行一些技术支持,一边测试框架、整理BUG,做出反馈。自己很喜欢改好BUG后的成就感,记得当时现场有一个用润乾报表开发遇到的BUG,大家都解决不了,后来我想应该可以联系润乾公司客服人员帮助解决BUG。果然,问题出在他们产品身上,BUG得以修复。
6月份后,Java后台并没有太多开发工作量,自己也苦于不知如何学习,每天下了班也是看着视频熟悉Java的一些东西,像泛型、IO操作、线程等这些曾自学过现已生疏的东西。自己业余也写了一些小DEMO,像定时器、抽奖器之类的,都是小打小闹,没有什么代码含量。那段时间自己特别迷茫。比如做解析XML文件、文件IO操作,可以用A公司的jar包,也可以用B公司的jar包,用A用B哪个更好,我不知道。我只会在网上复制代码,让我理解原理后纯手写一个解析XML的轮子,我恐怕很难做到。我感觉到Java的庞大,感觉到因自己技术的薄弱带来的迷茫,自己也没有较多的编码量,十分苦恼。
接下一段时间自己还学习过一阵子DB2、MYSQL,对比着ORACLE进行学习,十分有趣。也和同事“导师”交流技术、交流数据库,十分欣赏他的丰富经验和解决问题的角度、思路。
慢慢地时间到了下半年,进入到另外一个小组,参与旧代码的迁移工作,需要一些web前端的知识。这时候我才猛然醒悟,自己居然连html、css、jdbc、servlet、jsp这些很基础的知识都不具备。于是开始狂补知识,在这段时间,我知道了一定要讲究方法,快速学习。
参与旧代码迁移工作,是15年最完整的一块工作内容。了解了迁移规范,熟悉了大体控件,就开始迁移了。期间有很多琐碎的事情,比如新框架的不稳定性,浏览器兼容性问题,对业务的不熟悉带来的效率低下,还好,自己都一一克服了。迁移时也会参考别人的代码,甚至是成段成段的复制,再修改成自己的,这时就会感觉到规范、统一性是多么重要!有的同事代码风格良好,命名规整,复制过来时甚至全局替换成自己的变量名,就能完成迁移任务。自己在做这份工作的时候,也意识到自己有时候在工作模式上的一些不足,比如闷头做事缺少交流,不及时问同事导致时间的浪费。
时间过得很快,15年的收获简单讲述到这里,对于2016年,我的想法有:
1.自己要多写代码,写出好用易维护好扩展的代码。
2.要把手上的工作做好,配合好同事,向同事们多学习,学习良好的编码思想,优良的产品设计理念,好的做事风格。
3.在做好工作的同时,要加强自身能力建设,拥抱开源,多看别人的代码,有机会有能力有时间要参与到别人的轮子建设中。
4.学习的过程最好是结合工作,伴随着工作的使用进行深入学习,切忌盲目学习,切忌心浮气躁眼高手低,一定要专注一定要专注一定要专注。
5.同时要多了解业务,多了解烟草行业,了解金融行业,这样才能站在较商业的层面去理解产品,才能更好的与客户与同事交流。
6.数据库仍然是自己的强项,应不能放弃,要偶尔回顾,有机会可以多检查产品表情况,多熟悉公司产品表的设计风格、设计模式。
7.同时仍要加强自己的技术博客编写,坚持整理自己的工作经验文档、记录找BUG改BUG的思想,多写产品文档、技术文档,提高文字表述能力。抽出时间多和同事同行交流技术、分享经验。
END。
祝大家开心。
推荐阅读
35了,我仍想多写些代码