Are frameworks making developers dumb?
Everyone puts almost all the new frameworks on their resume claiming they have “Strong, working experience on Spring, Hibernate, Web Services etc”.
Here is how the interviews went on.
Me: You have used Spring in your latest project. What are the advantages of using Spring?
Interviewee: We can configure beans in XML and it will take care of instantiating them and give it to us.
Me: If Spring is only for creating objects why is it required at all? I can directly instantiate the dependencies using “new”. Why should I configure the class names in XML and get the object from Spring?
Interviewee: If tomorrow we wish to create another implementation of our interface, we can create the new implementation and update the XML configuration to use new impl. We don’t need to change Java class and compile them.
Me: But you are writing a new Java class, so obviously you need to compile the project.
Regarding XML change, 99% of the times your XML will be packaged in war or ear file.
So you will run ANT script and create the war with all the new changes. Then your point of “if it is XML I don’t need to compile” is not a valid point.
Interviewee: Hmmm, but the Dependency Injection design pattern suggests to follow this way.
Me: OK. I am done with the interview. Our HR will get back to you. :-)
Interview with another guy:
Me: Can you explain about your latest project and what technologies have you used?
Interviewee: It is some XYZ System and we are using Spring, Hibernate, REST WebServices.
Me: Ok. Can you explain something about RESTful architecture?
Interviewee: We can develop RESTful application by using @RequestMapping(value=”/url”, method=”POST”). And also we can use PUT, DELETE methods.
Me: That OK, but what is the concept of RESTful architecture?
Interviewee: That’s what I am explaining. If you use @RequestMapping(value=”/url”, method=”POST”) you can develop RESTful application.
Me: Ok, How good are you in Hibernate?
Interviewee: I am using Hibernate for the last 2 years. I am very good at using Hibernate.
Me: What are the advantages of using Hibernate over JDBC?
Interviewee: By using Hibernate, we don’t need to write anything to interact with the database, Hibernate will take care of it.
Me: How Hibernate comes to know about your project requirements?
Interviewee: If we use Hibernate, it will take care of saving, updating and fetching data from the database.
Me: Uffffffuuuuu… OK.. In your free time do you read any technology related blogs?
Interviewee: Yeah, why not. That how I learn Hibernate in-depth.
Me : Very Good, nice talking to you. Our HR will get back to you. :-)
Interview process went on like this…
I strongly believe frameworks will increase developer productivity. But the developers should try to understand how the framework is doing the stuff. You need not learn all the internal working mechanisms of frameworks. If you are really good at Servlets and JSP then it is very easy to understand any Java Web framework like Struts, SpringMVC etc.If you aren’t good at the basics then obviously for every other question reply would be.. “framework’s annotation/xml will execute this”
I strongly recommend the people who want to start their career as a Java developer to work on Core Java, Servlets, JSP for sometime.Then only one can understand the frameworks in proper way.
Reference: Are frameworks making developers dumb? from our JCG partner Siva at the “My Experiments on Technology” blog.
what an incredibly elitist view of programming.
Java Developer are Dumbest people in the World .. I never worked on it More then 2 years . Mainly set of API. I worked on Many Lang including Lisp …. By far this is the dumbest programming language i have ever seen.
When you say core java,servlet and jsp … Do you know what it really means ? LOL!
JAVA JUST A TECHNOLOGY NOT PROGRAMMING LANGUAGE !
Very nice, Java Developer are the Dumbest… I think I now why you didn’t wok on it “More then 2 years”, It wouldn’t compile for you… lol
I think anyone who wants to become a good developer building enterprise application, should take into consideration learning Java.
The problem described here is a serious problem when trying to hire new developers regardless of the language of choice.
I’ve written Java software that actually makes money and saves time all while minimizing the use of frameworks with heavy footprints. Sure, we use a micro-orm and a few small libraries, but most of it is bare bones Java.
How true! And this is not about Java frameworks only; It’s not even about Java in general; this is about most tools that are supposed to help, which they actually do but at the same time they somehow remove the need for understanding what is going on behind the scene. I recently received a production ready app which could not run outside eclipse… I keep in mind what on old boss of mine told me about applications like CRMs and ERPs for managing business processes in a company: as a wrench doesn’t make you a mechanic, such an app doesn’t… Read more »
I am not sure on how working on servlets and JSP will help someone understand the REST paradigm.
This post sounds to me like a C developer crying that Java developers know nothing about memory allocation. Though java does it for you, it left to you learn. Did java make you lazy? No. It just let you worry about things that cannot be done by a machine for you. Thats exactly what frameworks are doing for you.
If you are going to blame frameworks, start with blaming java.
I feel that these days developers learn the tool more and do not focus on “how frame work works”. It is true for Java and non java developers.
Java still is a most loved and most hated programming language as seen by comments from fellow readers.
It is the curiosity level of developers , they just focus on making things done not learning how it is happening.
so framework are not making developers dumb,but we are skipping learning
I don’t think this article in anyway reflect that frameworks are making developers dumb. You probably were interviewing people with extrapolated experience and technologies on their resume. It’s clearly visible that the candidates are giving very banal answers which concludes they did’nt really have knowledge of what they are boasting of.
“Are frameworks making developers dumb?”
People have been asking the same question of Java in general since the nineties Java is a 3GL, the people that code in it have been trained to think in a 3GL mentality; “its already been done for you, go get it and include it”. Including entire communications packages when all we need is TCP support.
hell, the language could be thought of as a C framework
its not about the java language, its about the programmer never learn using the proper learning paths, they are a lot programmer these day without enough fundamentals start using framework as spring, hibernate etc.
so the result they are do not understand the real concept behind it.
programmer is engineer so we need understand the concept of technology that we use.
I don’t think it’s frameworks that make programmers dumb, I think that frameworks just enable dumb programmers to do something barely usable – which management can sell, even if it’s crap. It’s the same with any other craft: only skilled craftsmen will be able to create something usable with simple tools. Using modern, push-the-button power machines, even unskilled workers, under the supervision of a core team of highly qualified professionals, will be able to create usable products. Frameworks in the hands of unskilled programmers, coupled with the lack of understanding of their purpose and intended use, is what (IMO) generates… Read more »
you only hate java if you’re to dumb to understand
I just want to say that “Anonymous Coward”‘s comment is one of the best comments i ever read.
There are the below possibilities that Developers:
1. Do not learn when they work and do not work when they learn.
2. Just learn it without understanding
3. They can not explain it even if they know
3. And most importantly most developers are theoretically weak but they write excellent code.
This is because practical experience in same thing.
Of course. Frameworks do make developers dumb. Frameworks abstract the things for you which you would have done yourself. So your learning ability is limited to how to use the framework. its not a co-incidence that most of the greatest software developers are C/C++ developers.