About Siva Reddy

Katamreddy Siva Prasad is a Senior Software Engineer working in E-Commerce domain. His areas of interest include Object Oriented Design, SOLID Design principles, RESTful WebServices and OpenSource softwares including Spring, MyBatis and Jenkins.

Are frameworks making developers dumb?

Last week I got to take interviews to hire senior java developers with around 5 years of experience. But after the interview process is over I felt like the frameworks makes developers life easier but at the same time making them 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.

Related Articles :

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

12 Responses to "Are frameworks making developers dumb?"

  1. what an incredibly elitist view of programming.

  2. Anonymous says:

    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.

  3. Anonymous says:

    When you say core java,servlet and jsp … Do you know what it really means ? LOL!

    JAVA JUST A TECHNOLOGY NOT PROGRAMMING LANGUAGE !

  4. lac says:

    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.

  5. Stuart says:

    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.

  6. Maurice says:

    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 help if you don’t understand how the process works and if you don’t know how to play the process by hand

  7. Shri says:

    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.

  8. vikas jain says:

    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

  9. Bhavani Shekhawat says:

    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.

  10. Bob says:

    “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

  11. satrio says:

    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.

  12. Anonymous Coward says:

    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 the gobs of unmaintainable, nightmarishly complex code we typically see in enterprise applications.

    I have to agree with Stuart, that most of the projects use too many libraries and frameworks most of the times. Nevertheless, I wouldn’t give up on spring core and maven as a build tool. But the Java EE space is surely heavily polluted by tons of useless APIs (EJB, JCR, everything JAXB etc.)

    A few years ago, a guy called Steve Yegge published a rant against code’s worst enemy – size. Look it up. Until this becomes mainstream, accepted wisdom, I think the current fashion trend of making a framework/library salad of any application will continue. And so will the fashion of HR evaluating your value by how many technologies and languages you list in your resume, rather than assigning more weight to higher level knowledge, such as algorithms, data structures, patterns, maybe protocols.

    That’s the reason you get such people in interviews – that’s the management-mandated way of searching for new employees, and what management actualy looks for. The ones not keen on memorizing APIs, learning programming instead, used to learning technologies on the job, are typically rated low by HR, and very often dont’ even get the chance of an interview.

    Management still thinks programmers are replaceable commodity – workers on the assembly line. As long as software is assembled, rather than crafted, assembly line workers – people who have memorized tons of APIs – will be what’s in high demand. The management of very few companies is able to grok that software purpose-written by skiled engineers is cheaper to develop, cheaper to maintain and cheaper to run than software assembled from typically hundreds of unrelated libraries, consisting mainly of glue code.

    It will take a while until this wisdom will penetrate the industry. At the moment, the only companies not eating up frameworks and building obese applications on top of them are the ones led by former star consultants (Fowler, Beck, Cockburn and the like). And even in such settings, given the peer pressure, as those companies grow, the culture of craftsmanship is declining – you simply can’t get enough good, skilled, smart people to fill all positions – especially when you do your recruiting via typical HR companies.

Leave a Reply


+ five = 13



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close