java程序员,公司框架太智能会不会削弱编程能力?

绿叶衣行


这是一个很现实的问题,公司框架太智能不仅会削弱编程能力,而且在一定程度上会限制你技术能力的调高。


公司框架为什么会越来越智能(完善)

原因很简单:公司的框架越智能、越完善,对程序员的能力要求越低,但是开发效率却很高。

大部分公司的框架,是几种框架的集成,比如我们公司的框架就是Spring Boot、Spring MVC、Spring Cloud的一些框架、同时支持Mybatis和JPA,可以选择是否使用Redis、MQ、MongoDB等,大部分配置文件都已经写好,package怎么分层也已经规定好。

基本上要做一个新项目,把这套代码拿过来,改个名字就能运行了,剩下的工作就是开发业务逻辑。

甚至有一些代码生成工具,会快速的生成一些有规律的代码,例如生成单表的增删查改的Dao和Service层的代码,可以节省一些“体力劳动”。


完善的框架,会给程序员带来什么

有了这么完善、智能的框架,程序员可以不用深入了解框架的原理,也可以快速写出满足业务功能的代码。

但这是公司想要的结果,而不应该是程序员追求的目标。

如果没有清晰地认识到这个问题,长期沉浸在依靠框架、享受快速开发业务逻辑的“快感”当中,这将是一件很危险的事情;因为你真的有可能变成了一个只会增删查改的程序员。


需要怎么做

其实也很简答,就是研究研究这些框架做了什么,每一个框架的作用、原理和如何工作,几个框架是如何集成起来的,他们是如何配合工作的。

最后,我们可以模仿公司的框架,自己使用相同或者同类型的框架,搭建一套出来。

如果再深入一些,可以研究一下某项框架的底层实现和源码,这样才算对这个框架有着深入的研究。


我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。


会点代码的大叔


你这个问题问的,那大公司里的人都不行吗?

大公司里很多的框架,很多的平台化,很多的自动化的流程,高度的智能化框架。


相反的,

公司框架太智能反而会强化你的编程能力

首先明白什么是框架

你的问题可以这么理解, Java是一种编程语言,随它产生的框架是一种特定的编码模式(包括很多的工具和lib)。

假如,每当你从头开始构建一个项目时,你都不用框架,很多的基础工作你都要做,包括打印,调试,连接数据库,编译等等,那么你还有多少时间来进行你的业务开发?但随着应用程序越来越大,记住你写的东西变得很多很难,调试代码变得更加困难。

为了避免这样的问题,框架才被广泛使用。


你有本事,每次一个项目都写一个自己的连接数据库类来试试。

使用框架

使用框架能让你更注重你的特长,专注于你要做的工作。(不管是业务的还是非业务的工作)。

你不需要花费通常需要几个小时和几百行甚至更多的代码才能完成的基本任务。

要学会站在巨人的肩膀上,而不是从0开始研究为什么1+1=2 。


欢迎关注,解锁更多,共同进步!

小鸟攻城狮


我们公司用的基本都是java原生写的代码,代码写的一坨屎,分所谓的服务,也就是最近流行的微服务,但是全部都是http调用,连http调用工具类都没有统一,项目做了10年了他妈到现在没人用问题一堆。写个根据id返回数据记录的字段的,让我用几个字段返回几个字段,不让复用原来,真是无语了。

我想说的是公司没有能力就不要用原生的东西,请用框架,不然写出来的就是一坨屎。


思考50


基于自己的亲身经历分享一下个人的想法,对于智能框架,我理解为快开 框架,在工作中偶尔也会使用一些快开框架来开发一些周期很短的项目,快开框架相对于主流框架确实缩短了开发周期,很多的基础配置也被完全封装,但是快开框架对于初次使用者并不亚于自己亲手搭建一个主流框架,首先需要逐步分析快开框架,搞清楚配置是怎样被封装,其次才能着手完成业务的开发。

快开或者智能框架的本质还是将主流的框架进行一系列的封装,想要游刃有余的使用智能框架还是需要熟悉基础的主流框架,所以不必纠结智能框架会不会削弱编程能力,在编程基础能力不断完善的过程中,使用智能框架反而会让自己更加出色的完成一系列的工作。

以上仅仅是自己在工作中的体会,欢迎同行指导交流!


如果没有遇见we


好吧,这个问题其实很普遍,也很有代表性。

首先作为公司的员工,我们要明白一个道理,纵然有天大的技术能力,纵然熟练掌握了最新的Java架构技术,但是那并不是大部分公司的诉求。对大部分公司来说,要求的是技术框架的成熟和稳定,在这基础上,是整套框架能够为开发工作带来大幅的效率提升,以及整个技术团队能够以极地的学习成本来接受和熟悉。

对于一家公司来说,技术也好、框架也好、以此为基础开发而成的软件也好,充其量只是工具,赚钱的工具。既然要赚钱,那就已定是将成本压缩到最低,将利润空间最大化。

新技术固然好,但是也潜藏着一定的不稳定性和较高的学习成本。

在这种认知下,就不难发现很多程序员进入软件开发团队后,其实仅仅只是就着这个团队已有的框架来进行简单的代码复制粘帖操作。而自己引以为傲的一身“绝学”得不到施展,有时候向主管或者领导提出自己的建议,好一点的领导层会笑嘻嘻地回答说“很好啊,我们考虑一下”,而有些耿直的领导则会一脸不耐烦地说“不用你操心这些事情,写好你的代码别出错就行”。

而之前提出并推行了公司现有技术框架的前辈们,岂容你那么容易就推翻他们,然后踩着他们的脸上位?程序员是很少会想到职场政治和厚黑学方面的事情的。

而当程序员在这样的团队里工作了一段时间,开始觉得有些恐慌,开始觉得“学不到东西”,想要出来的时候,会发现离开了这个公司,别的地方压根儿可能也不用这套技术框架。但是进到新的公司,会发现又是跟前一个雇主一样的情况。

于是周而复始。

其实这样的情况并不是不能破解,只是很大程度上需要依靠程序员自己的巨大努力和付出。首先程序员自身需要付出很多额外的时间,来熟悉和掌握,甚至是精通一些行业内比较新、比较好的技术框架,除此以外,还要对公司所使用的原有框架有深入的剖析和理解,这样才能有对比,才会知道公司为什么会选择那个框架,选择它的目的是什么,优势在哪里。而自己所掌握的其它技术与其相比又有哪些优势,或是不足的地方。

有了这样的比较,才能进一步决定什么样的技术框架适用于什么样的开发场景或是项目需要。

其次,大部分程序员可能都不会在意一些开发规范方面的东西。有一个很著名的段子,就是说程序员最烦的两件事情,一个是写代码注释,一个是看到别人的代码没注释。我举这个例子是要说明,如果你做好了充分的前期准备,觉得差不多可以向团队提出升级技术框架的想法的时候,你不能忽略其他人对新框架的学习成本问题。

很显然,如果你花费了一番口舌,好不容易说服你的主管,有幸得到了一个机会,在一个开发周期比较充裕,规模也不算大的项目中试行你的新技术框架。但是在项目进入开发阶段时,团队中的所有人几乎都在抱怨你的框架使用并不方便,大家总是问这样那样的问题,甚至是项目的整体编译都经常出现问题,那即便是再好再新的技术,也会变成“这个框架真TM烂”这样的结论。这个时候旁人再对你施加一些职场政治手段,你就离滚蛋不远了。

另外一条比较可行的路,是进入一家规模比较小的公司,跟着公司的项目、产品和小团队一起,在实际工作过程中不断学习新的技术,并逐步应用在公司的项目或产品中,逐渐逐渐形成一个较为稳定的技术框架。你参与了这个框架的设计和成型,也参与了对它的调试和开发,在这个过程当中又完善了自己对技术的高层次理解。

当这个框架趋于稳定的时候,很有可能就是你变成公司“大佬”的时候。而即便发生了一些不可抗力,你不得不离开这个团队的时候,你所带走的也并不只是一套框架本身了,这时候的你得到是“渔”,你变得能够应付各种不同的情况,这时上哪儿没有“鱼”呢。


女儿控老徐


当然会啊,大脑都会用进废退嘛,编程也是一样的。

那怎么才能不削弱编程能力呢?(或者说怎么提高编程能力)

对现在而言,平时多看看API,或者找一些写的优秀的代码仔细阅读别人的优点,“抄袭”优秀的方法使用是一条不错的进步之路。

如果能力可以,可以看一看java的源代码,看看大师们是怎么写的,对书写规范和提高认知,有很大的帮助。

如果条件允许,可以去多听听相关方面的讲座,或者找学习机构短期深造,阅读书籍,都是提高自己能力的方式。

不知道以上是否对你有帮助,既然是java程序员,那你一定知道“万事万物皆对象”,那么,把java当成你的“对象”。加油~


从不加班的程序猿


这个还是要看情况而定,如果只是常规的crud,这样大大提高开发效率,不过也有弊端,,时间久了有些基础的都会忘记,我感觉是这样的,主要处理下业务逻辑就是了。前台的话,现在的前台框架其实也不用这么写js,都封装好了。反正以后的开发都是怎么方便怎么来,已经有可以自动生成代码的应用了,说不定那天我们程序猿就会失业了。


小迈爱分享


最近实在太忙了,首先公司把框架做得越来智能化,目的是希望提高团队的工作效率,避免踩同样的坑,让大家更专注于业务逻辑,这个是从公司层面来考虑的。

个人的发展,我觉得一方面除了做好本职工作,另一点剩余的时间就可以去提升自己的基本功,比如设计模式,数据结构与算法,计算机网络等等,如果公司的框架对内部是开源的,那这就是最好的学习资料,如果没有,争取进入平台组就是你的目标


互联网十年老兵


我不这么认为,如果公司框架非常智能,说明这个框架肯定是非常优秀的。其实一切的框架都是为了简化我们的开发,但是其底层所用的技术都是一些基本的技术,但是框架设计思路、原理确实非常值得学习的。我想如果你不是只是使用框架,而去研究框架的设计思路、原理,多和同事讨论这个框架甚至尝试着去优化这个框架,一定会受益良多,也会大大提升个人的编程能力。

希望我的回答能帮助到你!

关注是为了再一次的交流,戳一戳右上角的关注吧!


GeCoder


记住,能削弱自己编程能力只有对于编程这件事的态度,对技术的热情。

就拿你说的这件事来说,公司的框架太智能,越智能的框架,它的实现可能囊括的技术体系和范围也就越大,那么你可以慢慢的深入了解框架的具体实现,了解设计思想及技术内涵。但是如果你只是简单的去用,不思考不深入,那用什么工作也不会提升你的能力。

而且作为程序员,工作之外的时间不学习一些好的东西,只单纯工作,那也是远远不够的!


分享到:


相關文章: