再过10天就工作八年了,时间匆匆而过,这八年做了什么,学会了什么,有必要做一个简单的小结。
工作的前两年用asp和asp.net做企业网站,严格来说这活上学的时候就开始干了。工作加上私单做了得有几百个吧,没什么技术含量,如果说学会了什么,那就是做了几套CMS系统,以便更快的做网站,再就是做了一个购物网站,熟悉了电子商务网站的基本流程。
第三年到了一个做民间借贷的公司,在这个公司的主要工作是开发了一个民间借贷的门户网站。现在看来这个网站做的很粗糙,也就是恰好能跑起来而已。通过这个项目学会了三层架构开发,以及抽象工厂模式,还有Asp.net Webform开发的一些简单技巧。
再之后就到了某知名白电集团,在大公司接触到优秀的人的概率要比小公司大得多,对个人各方面的要求也会高一些,这是好的方面,不好的一方面就是,公司大了,官僚化严重。在这个公司的主要工作是对Discuz论坛的维护以及一些简单的二次开发,Discuz是一套功能强大的论坛系统,但是读它的源码是一件很痛苦的事情,因为它的封装和抽象的方法是按照自己的一套标准来的,同时为了向前兼容,好多地方抽象的不够彻底,所以看起来老感觉隔着一层东西,尽管如此,Discuz仍然是一个非常优秀的系统。
除了论坛的开发和维护,还给本部门及其他事业部开发了几套系统,因为之前的团队都是用PHP开发的,所以开发语言用的PHP,没用框架,只是对数据访问层做了简单的封装。
在这个公司的工作相对比较清闲,晚上的时间兼职做了一套网络收款系统,这个系统的功能就和它的名字一样,就是为了收款,以及计算分润,同时结算。因为有一段时间没有使用.net开发,所以还是使用以前比较熟悉的三层架构。后来这份工作从兼职变成了全职,也就是目前从事的这份工作,这个项目断断续续做了三年多了,期间还学了一下android,用两个月的时间给这个系统做了一个android客户端。
这八年掌握了哪些技能呢?
熟悉asp,
熟悉asp.net webform开发,
熟悉三层架构及抽象工厂模式
熟悉php开发,熟悉常用的php开源项目(dede,帝国,ecshop,discuz,thinkphp等),
熟悉前端的基础知识html css js等
熟悉android开发
然而,无论知识的广度和深度,这都不是一个具有八年工作经验的人应该达到的水平。是什么导致的这个问题呢,和我的学习方法有关。甭管学什么东西,都要先知其然再知其所以然,然而这种学习方法只适合学习简单肤浅的东西,当学的东西稍微复杂抽象一点,这套方法论就不再适用了。再就是,好多时候知其然了,并没有真正的知其所以然,这造成了理论知识的欠缺,并且基础也不扎实。还有,总感觉技术够用就好,增删查改能做的项目,没必要引入更复杂更高级的技术,导致的后果是知识层面一直停留在简单的增删查改。
直到某天看到了大神何镇汐的这篇文章《应用程序框架实战十三:DDD分层架构之我见》,这不和我目前的情况一样吗,难道我就这么一直懵懵懂懂的干下去,写一些恰好能跑起来的代码吗?
是时候提高自己的技术水平了,不然再过几年还是这样,还好意思说自己是做技术的吗,于是按照何镇汐大神推荐的书单买了一批书,然后又买了几本c#的基础入门书籍,包括《ASP.NET 4.5 高级编程(第8版)》《C#入门经典(第6版)》《C#高级编程(第9版) C# 5.0 & .NET 4.5.1》。我的规划是,先学习巩固c#的基础知识,再学习面向对象的相关内容,然后学习常用的设计模式,在之后学习敏捷开发的一些方法(测试驱动开发等),最后学习领域驱动设计。
对自己的期望:扎实的c#及asp.net基础,熟悉asp.net mvc,熟悉常用的设计模式(单例模式,仓储模式,观察者模式等),熟悉测试驱动开发等敏捷开发的方法,熟悉领取驱动设计,最后可以实现自己的应用程序框架。
行百里者半九十,相信自己可以坚持下去!