在网上看到一个帖子,一个Java程序员,工作一段时候后,因为公司没有使用最新的框架,还是使用之前老套的框架,然后离职了。
该帖子下的留言是,程序员只要有活干给钱,做什么都无所谓。旧框架也是能够学习到新的东西。学习新的框架,可以私底下学习,而公司的项目要平稳,不能激进的使用新框架。
其实这些都没有错,在一个岗位上,肯定优先使用稳定的框架,或者是让之前旧代码一直稳定的运行下去。但是对于一个程序员来说,特别是之后还需要投递简历去找工作的程序员来说,是比较不好的。厉害的人不投简历都有工作,但是对于普普通通的程序员来说,面试被问的最多的就是这些新框架内的东西。
前几年Java程序员被问的最多的是关于Spring内的AOP,IOC知识,而现在会被会到SpringBoot一些知识,还有微服务框架SpringBoot, Rpc框架Dubbo。平常没有使用过,即使私底下搭建起Demo,对其内容也是不会熟悉。
诚然这些都是框架,学会使用花不了太多的时间,但是在之前学会了使用,可能在面试时,回答上会更自信一些。我之前有一个老大,非常厉害,对这些框架很熟悉,玩的贼溜,但是他觉得这些框架使用太繁琐,不好用,然后自己造了一套轮子。他可以玩转各个框架,但是对于新手的我们来说,潮流是需要追的,并且需要深入下去,Dubbo是Rpc框架,学习其中原理,在项目中进行扩展,使其能够输出调用的日志信息。
熟练掌握了框架的使用,能够极大的提高编程的速度。Dubbo中快速失败能够解决解决调用Provider中异常情况下调用多次。这种就避免了自己去验证重复调用,或者使用其他解决方案。
特别要强调说明一下,框架的学习不仅仅只限于使用,而需要更深入了解其中的原理,哪怕是了解其中的一个点,也是好的。会使用并不能代表自己掌握了,而深入原理更能体会该框架的优美。
在掌握的原理之后,需要自己去实现一个框架,使自己更熟悉该原理。比如Rpc框架,读了Dubbo框架的部分源码之后,可以根据Rpc原理,自己实现框架,而造成来轮子之后,自己对Rpc的认识更上一层楼。
造出来的轮子不一定要使用,原因是现有的成熟的框架,已经被很多人验证过。而自己写出来的轮子不成熟,而且如果自己的轮子遇到自己解决不了的BUG时,无法解决,对线上的项目来说是灾难性的。
如果再次遇到团队依旧使用旧框架,列出一二三点优点,并提给老大,并且根据该框架已经搭建好了项目的最初版本。如果没能说服老大,那么自己私底下多研究新框架,为自己准备下一次面试。