需求
java研发的发展之路
实现
对于一个主要使用java语言的工程师来说,如何才能更精进呢?我躺在床上,望着天花板,脑海中产生了这样的一个疑问。
在日常的工作时间,我奔跑在一个个的项目上,为客户解答系统使用问题和修复系统漏洞。写代码的频率降低了很多,感到技术的园林离我越来越远。望着她,我哭了。
其实,不足的地方有很多。但是想起一点就学一点的模式,我的第六感告诉不应该这样。程序员做事,肯定是要以需求为出发点的。需求不明确,坚决不能开工。
那么,就近取材。以如何提高工作效率为出发点来思考。我现在的工作内容主要是数据处理,数据存储和数据展示。哈哈,说这个就太宽泛了。再讨论的深入一点,就是使用java语言完成数据处理,数据存储和数据展示。再再深入一点,就是使用java的各种工具类完成数据处理,数据存储和数据展示。再再再深入一点,java工具类的使用,java框架的使用等。这是工作的核心部分,占50%以上。其余的内容包括:IDE,数据库,前端,linux(系统知识,shell脚本),自动化工具(Maven,Gradle,Jenkins等),代码管理工具(svn,git,gitlab,github),网络传输,web容器(jetty,tomcat),业务知识(算法模型,系统模型,话术),系统价值评估,后期维护策略,行业最优解决方案,安全性,合规性,文档编写,项目管理,风险控制,团队任务分配等。
基于上述的需求,我目前应该做的是积累java工具类的使用的知识,积累java框架的使用的知识。其余内容也需要积累,但不是主要矛盾。
如果从java工具类来入手的话,感觉有点飘。因为它下面还有很多基础知识,包括面向对象和类。更宽泛一点,还包括基本数据结构,表达式,变量和赋值,函数,分支,编译,计算等知识,这些知识是无论哪一种编程语言都需要用到的,所以它属于计算机科学基础知识。这里就点到为止了,毕竟本文是一篇战略性的文章。
如果仅考虑java语言的话,那么首先要知道jdk,开发人员可以用它来编译和运行java代码。
从第一个.java文件开始,我就爱上了她。后来,我就有了三妻四妾,它们各司其职,并且我安排了一个自带buff的女人(main函数)来统筹管理。外出时,为了携带方便,我把她们打包带走。美名其曰:jar包。jar包中不仅包含各位美丽的佳人,还包括佳人们的随从(配置文件等资源)。有时为了展示各位佳人的才能,我也将她们打成war包。
使用jar包时,我拿出来我的jdk就行。使用war包时,我还需要拿出来汤姆凯特。
再后来,我厌倦了文件夹的管理方式。我开始使用IDE,增加了我的学习成本,也算一劳永逸。后来我又集成了汤姆凯特,集成了Git,集成了Maven,集成了代码检查工具,集成…。再后来,我就乱花渐欲迷人眼了。不仅这些工具让我头疼,我的爱妾们也不消停。为了各种原因,她们学会了多线程,高并发,快IO,还让我自考设计模式,来合理的应用她们。最让我痛苦的还不止这些,闲着没事儿干的宅男们,还写了一系列的工具和框架,为了活下去,我从了。我得了解这些工具的使用,了解他们的实现方式以便于更好的使用。这让我十分郁闷。与爱妾们远隔山水,我又哭了。
言归正传,java语言是用来处理数据的,实现甲方的各种需求是我们的目标。因此,积累工具类的使用,从现在开始。fighting!