Between The Code

thoughts on coding and everything in between


You’ve heard of group-think? The “tendency of the members of a group to yield to the desire for consensus or unanimity at the cost of considering alternative courses of action.” (

I think in the world of software development we have to be careful not to engage in “developer-think”. What I am calling developer-think I am going to define as the tendency of a developer or group of developers to disregard effective and real value-added design and development for the sake of what makes sense to them.

When presented with a new project, it can sometimes be challenging for the developer to stay focused on the task at hand. Mind you, I am not saying that features should never be added to the project! If the feature can be added without costing more than the value added it could be considered. However, if the developer wants to add the feature to increase the coolness factor, or to make it conform to a particular coding practice, or to just blindly do whatever the user requests, it would be better to leave it alone or at least give it some additional thought time first.

My boss actually has a very realistic point of view here “The faster you can get your project released, the less time the customer has to come back with questions or changes that will put the project behind schedule.” I think more developers should think that way! There can always be a phase 2 or 3 or whatever, but a project that is scheduled to take three weeks that turns into six months has some serious issues! Before you pass the buck, consider that it very well may be due to “developer-think”: not understanding the end user’s needs and requirements, over complicating a solution, feature creep without value added, and I’m sure we could think of more!

Some developers are very intelligent people who develop brilliant pieces of code in only a few hours. These brilliant developers, if not careful, can add complexity, and within a group who respect and admire their work, those same brilliant developers can easily lead the entire group into developing a security access application for a nuclear power plant instead of the requested simple login screen for a blog (just example).

Some developers are so focused on thinking analytically and logically they forget to think about the way the users leverage the application and in the worst cases of course, completely and purposefully disregard the users. But they don’t seem to remember that without the user, they just have an application that no one uses! I have been in places where users didn’t want to have anything to do with the developers or anyone in I.T. and as a result the projects are either very difficult to complete or hold no interest what so ever. Everyone who wants to work in that environment raise your hand! No takers? Huh. Maybe we should treat our users as a valuable asset to our work. For those developers who don’t like users, maybe its time to take this sage advice (slightly modified) “Keep your friends close, and your users closer”.

A third pitfall developers fall into is adopting a “cool” new coding practice without counting the cost. We have all read or seen something new and cool that either would make our lives easier or would be awesome to implement in our current application. Sometimes, with the right project and the right time allotment, we can actually implement some of those enhancements. However, the danger is in getting off target and making the project run a little late (or a lot late). This could lead to more time for user feature requests, open the door for visible possible enhancements, or just simply slow down the work of your team. Again, sometimes its worth it, but the cost needs to be counted first. In a good, agile shop, developers should be ready to release early, release often, and continue to keep the projects moving forward.

A good group of developers recognize these behavioral tendencies within their group and will work together to help each other stay away from these pit-falls. How can you tell if your team has succumbed to “developer-think”? Start with some of these evaluative questions: How agile is your shop? How long does it take you to release a fully tested medium-to-large sized project? What is your relationship like with your users? Do they value you or talk bad about “I.T. people” every chance they get? If those questions can be answered positively, you are probably on the right track already, but remain vigilant and keep them positive.


5 responses to “Developer-Think

  1. Jeff V. May 3, 2010 at 10:20 pm

    Good post! It really boils down to perspective, and using that perspective to balance competing demands. It’s one reason why a manager/product owner/team lead/user is an integral part of any dev team. It truly is easy to get lost in the code.

  2. candeo7 February 14, 2011 at 3:06 pm

    “But [developers] don’t seem to remember that without the user, they just have an application that no one uses!” This is a refreshing dose of reality that should resound throughout the codespace. It’s important to keep that perspective and challenge the walls that divide user and programmer. Keep writing–I eagerly await your next post!

  3. Watch Hentai Online Free June 6, 2016 at 2:03 am

    First of all I want to say fantastic blog!
    I had a quick question that I’d like to ask if you
    do not mind. I was curious to find out how you center yourself and clear your
    thoughts prior to writing. I’ve had a difficult time clearing my thoughts in getting my thoughts out.
    I truly do take pleasure in writing however it just seems like the first 10 to
    15 minutes are wasted simply just trying to figure out how to begin.
    Any recommendations or tips? Appreciate it!

    • slhpowell February 23, 2018 at 4:55 pm

      First is always make sure you’ve given yourself space and time to sit down and think. If you give yourself that time, include 15 min on the front of it to grab a cup of coffee or tea or just sit for a minute. I also keep a list of topics I want to write about and sometimes a few notes to go with the topic so that I have something to remind me of where my head was at when I wrote the topic down. After all that, its just about starting – just start writing and it will start coming. Even if its just notes and bullet points at first, I’ve found that as I write, the words will come.
      Best of luck to you!

  4. Trinity X3 Pills June 14, 2017 at 4:47 pm

    Unquestionably believe that that you said. Your favourite justification seemed to be at the internet the easiest
    thing to remember of. I say to you, I definitely get irked whilst other folks consider worries that they just do not recognize about.

    You managed to hit the nail upon the highest as
    smartly as outlined out the whole thing without having side effect , other folks could take a signal.

    Will likely be back to get more. Thank you!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: