Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Seeing Problems Differently

DZone's Guide to

Seeing Problems Differently

· DevOps Zone
Free Resource

Download “The DevOps Journey - From Waterfall to Continuous Delivery” to learn learn about the importance of integrating automated testing into the DevOps workflow, brought to you in partnership with Sauce Labs.

We always have interesting discussions at work, both philosophical and mostly programming discussions. Sometimes the things people say make you think a while longer.

The other day a co-worker of mine asked me:

If a tree falls in the forest and no-one is there, will anyone here it?

I quickly responded with this:

No, no-one will hear it but it will still make a sound.

Thinking capThe fact that it will make a sound is proven by science but that’s beside the point. It’s a trick question that leads you to say “No” but if you view the problem differently you’ll soon have a pretty good answer.

While my co-worker was stunned and rather mind blown by my fast and quite accurate response, I think that most of us developers think logically about most of our problems and try to see solutions to puzzles much harder than this particular one.

If we look at problems from more than one perspective and think about all different outcomes, we can and most likely will do better solutions.

Mind blown

I felt kind of smart for a moment there, don’t you just love that feeling?

When it comes to software engineering I try to think outside the box as much as possible. For example I reflect over the following:

  • Is there anything I can do to increase the value to the customer in a timely fashion?
  • If we spend X amount of time refactoring this, how much will we have saved in the long run?
  • If the visitors of the website will never use a mobile device, is it a smart move doing a mobile version?
  • Is the problem parallelizable?
  • Can we add asynchronicity to increase the end user experience without messing up the code?
  • This new feature in .NET seems very cool, but will it add value to the product? (Most times, yes!)
  • What can I do to decrease the memory imprint of the algorithm?
  • Can we use any patterns to make the solution more solid and less error prone?

Do you take the time to think outside the box?

Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure, brought to you in partnership with Sauce Labs

Topics:

Published at DZone with permission of Filip Ekberg, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}