DevOps Zone is brought to you in partnership with:

I am a Software Engineer working with the latest in .NET focusing on Web Development. With a burning heart for programming, I blog and author a book about C#. Filip is a DZone MVB and is not an employee of DZone and has posted 54 posts at DZone. You can read more from them at their website. View Full User Profile

Seeing Problems Differently

03.14.2013
| 4382 views |
  • submit to reddit

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?

Published at DZone with permission of Filip Ekberg, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Robert Saulnier replied on Fri, 2013/03/15 - 7:12am

The falling tree will make a sound, but it will not make noise.

Danny Lee replied on Fri, 2013/03/15 - 10:53am

 The right answer is: yes, if somebody monitors or records the situation in the forest using any device with a microphone. No in all other cases.

And your answer is rather wrong, but maybe useful in some cases.

Too much reflecting may be even worse than none if it costs more, than issues caused by the "No" guy.

Besides, in many cases if you think that you're smart - than you're not.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.