Over a million developers have joined DZone.
Platinum Partner

Why Do Computer Scientists Need To Understand Software Developers?

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

I saw a tweet asking why do we educate computer scientists to get developers and compared this to structural engineers and stone masons.  I believe this is a good question with a flawed premise.  The flaw is in thinking that a developer’s job is as simple and limited in variations as that of a mason.  Almost every problem attacked by a developer requires that they bend their tools and materials in a new way.  This requires that everyone on a team communicate and at least on some level understand each other’s hurdles.  This is not an environment what you create a spec and throw it over the wall.  Even then, I would believe that a structural engineer needs to understand materials and how they are connected in order create new designs.

There is also the question of what do each of these titles mean?  What is the job that each really does?  Both titles have a wide range of meanings.  Computer scientists to my way of thinking are defined as theory and design driven.  How can you really understand a theory unless you understand its practical application?  Likewise I think developers create better solutions if they understand the theories that govern the environment that they leverage.

Of course all of this brings us back to traditional argument of users needing to understand software development.  It isn’t the details of each job that you need to be familiar with. You should know enough of how different team members work in order to appreciate when you are told its difficulty or relay requirements at the proper detail level.

In the end I think we all benefit from knowing how our work affects those that we work with.  Living in a bubble only leads to disaster.

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.

Topics:

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}