Do frameworks make developers dumb?

Original author: K. Siva Prasad Reddy
  • Transfer
I suggest you translate a blog entry, the author of which has noticed global trends in modern programming. Although this is about Java, which I never worked with, I found a lot of painfully familiar.

Last week, I conducted several interviews to hire Senoir Java developers with experience of about five years. After them, I felt that frameworks make life easier for developers, but at the same time make them dumber. Each indicates almost all of the new frameworks in his resume in the form of "Powerful experience with Spring, Hibernate, Web Services, and so on."

This is how the interview went.

Me : You used Spring in your last project. What are the benefits of using Spring?
Challenger: We can customize beans in XML, and Spring will take over the instantiation and give it to us.
Me : If Spring is only for creating objects, why is it needed at all - I can directly create an instance using "new". Why should I customize class names in XML and get an object from Spring?
Challenger : If tomorrow we want to make another implementation of our interface, we can add it and update the XML to use it. We do not need to modify the class in Java and compile it.
I: But you are writing a new class, it is obvious that you need to compile the project. After the change, XML, in 99% of cases will be packed into a war or ear file. You will run the ANT script and create war with the new changes. Thus, your point of view "if it is XML, I do not need to compile" - is groundless.
Challenger : Mmm, but the Dependency Injection pattern requires going that way.
Me : Okay, I'm done. Our HR will contact you :-)

Another interview:

Me : Can you tell us about your latest project and technologies that you used?
Challenger : This is an XYZ system. We used Spring, Hibernate, REST WebServices.
Me : Well, can you tell me something about RESTful architecture?
Challenger: We can develop a RESTful application using @RequestMapping (value = "/ url", method = "POST"). We can also use the PUT and DELETE methods.
Me : That's right, but what is the RESTful concept?
Challenger : In what I say: if you use @RequestMapping (value = "/ url", method = "POST") - you can develop a RESTful application.
Me : Okay. How good are you at Hibernate?
Challenger : I have been using Hibernate for the past two years and I am comfortable working with it.
Me : What are the benefits of Hibernate over JDBC?
Challenger : Using Hibernate, we do not need to write anything to interact with the database, Hibernate will figure it out.
I: How does Hibernate know about the requirements of your project?
Applicant : If you use it, he will save, update and receive data from the database.
Me : Uhhh ... Okay ... In your free time do you read any technology blogs?
Challenger : Yes, why not. So I learn Hibernate from the inside.
Me : Very good, it was nice to talk to you. Our HR will contact you :-)

All interviews are held like these.

I believe that frameworks increase developer productivity. But developers should try to understand how the framework does this. And you do not have to deal with the entire internal structure of the framework for this.

If you really understand Servlets and JSP, it will be very easy for you to understand any Java web framework like Struts, SpringMVC and so on.

But if you don’t really understand the basics, it’s obvious that for each question the answer will be: “the documentation of the framework will solve this problem”.

I highly recommend those who want to start their career as a Java developer to study Core Java, Servlets, sometimes JSP.
Then only you can understand the frameworks at a decent level.

Also popular now: