1. 入行
本人非计算机专业出身,大学毕业后偶然机会进入计算机培训学校,从此入了行,当时课程有c,html,js,sqlserver,oracle,java以及javaweb等,学校课程枯燥且无聊,唯一比较有兴趣的可能是用java swing制作小游戏吧。后来熟悉了servlet,用ssh做了个半成品的项目就出来找工作了。工作和学校还不在一个城市,所幸还是找到了,虽然工资比较低,但还算是站稳了脚跟。
2. 工作
工作以后,由于本身非专业,只能努力提高自己的技术能力吧。当时自己能接触比较多的就是增删改查,后端核心又接触不到,所以重心在前端,jquery在当时比较流行,不过当时我们公司比较小,还没有使用起来。为了学习jquery,不爱看书的我强啃了两本书,一本是《锋利的jQuery》,另外一本是jquery作者写的《精通JavaScript》,看着书做了几个例子,基本能正常使用jquery了,并且附带学会了几个js简便方法。可惜,缺点也暴露了,不擅于交流沟通,很快就和领导闹了矛盾辞职了。
由于不擅交流,又是非专业出身,这次找工作大约花了三个月,而且还是降薪过去的,可想而知当时有多失败。虽然面试很失败,但是技术实力还是让他们有目共睹的,平下心态之后做事特别认真,之前不擅长的html,div布局也能强行搞定了,以至于后来部门领导还对我很不好意思。在这里我学习了缓存,单点登录,开始接触架构思想。在当时还没有springboot这么好用的框架,我们集成项目都是基于江南白衣大神的springside的脚手架,集成项目开发,并且开始使用maven了,依赖包终于不用去网上一个一个找了,这两个一用起来搭建项目方便极了,虽然遇到了各种各样的的错误,花费了不少时间,但是非常开心。
再后来,换了一家创业公司,从零开始的那种,领导让我来负责搭建项目框架,虽然之前搭建过,但是没有放到线上去实践过,遇到了各种问题,比如事务处理,异常处理,高并发处理等等,虽然技术不咋滴,不过还好,几个小伙伴总算是把东西做出来了。这期间经常去逛《跟着开涛学spring》系列,数据库连接池也改成了温少的druid,再后来rpc也由rmi改成了dubbo,虽然bug时长有,但是那份解决bug后的喜悦大家都清楚。虽然这个公司行业比较领先,但由于运营决策失败,在坚持了几年后,还是离开了。
过不久,换了一家新的公司,是的又是一家创业公司,不过人都是老熟人了,当时springboot和springcloud出来了,用阿里云的docker swarm加springboot把系统整个架构折腾出来了,确实好用,帮我们至少省了一个运维的费用。不过还是由于行业寒冬,公司还是倒闭了。不过也是在这遇到一个朋友,学到了很多。
3. 反思
工作这么久,是该好好想一想了,以后的路该怎么走,技术的意义到底在哪里。追新技术感觉不是那么重要,公司倒闭时,技术毫无意义。公司为什么雇佣我,因为技术吗?不会,比我技术高的人多的是,我又凭什么拿着现在的薪资,我能不能得到更多,最终我把它归结为价值,对外输出的价值。
技术需要业务来发展,技术不一定要新,不一定要强大,合适就行。过度的设计,过度的追求多线程高并发意义并不大,能满足业务需求,并能适当性的扩展就足够了。业务本身可能千变万化,但是系统做不到,能做到的是足够简单,能够随着业务快速改变。毕竟大道至简。
在公司解决问题,满足业务需求就是对公司提供的价值,在此之外,写blog,开源项目也是一种对外输出价值的方式,还有很多种方式,适合自己的就行。
4. 后话
目前混迹在一家小公司,混混日子,已经不再盲目追求新技术,新框架了,偶尔尝试一下,但不会过分去追求去使用。不过私下跟别人开发了一个小项目,用的技术都老旧,但是比较熟悉springboot+tomcat+mysql+freemarker+jquery,没有前后端分离,但是能在上线第一个月就已经盈利了。
很少写文章,但是还是希望能有点用吧。工作这么多年,唯一比较后悔的就是想的时间晚了一点,早点想通就好了。最后还是希望大家工作中能清楚自己的目的,并多思考技术以外的东西,少走弯路吧。