views:

85

answers:

5

Hello,

What I mean is that when I want to implement something and I have an idea how to do it, I always try to think for other implementation solutions and if I haven't get any I start to struggle about my first though/idea of implementation.Is it really good? Or will other developers think that I did wrong? So these thoughts consumes my time and lowers my confidence and self-rating... Is there anyone of you have met this struggling problem? And maybe found a solution or someone gave you an advise?

+2  A: 

In some cases it's part of the normal development process; Think of an idea, wonder if someone's done it, then look around for other implementations. You generally don't want to reinvent the wheel do you?

Your best bet i think is if you're not sure of the quality of your idea, look around in that area to see how other developers do it. That's probably the best you can do to assure yourself that you have a good idea. You can also ask here; there's (almost) always at least someone happy to help you!

RCIX
+2  A: 

Lack of evidence for one thing isn't evidence for it's inverse. Funnily enough, this extends to all sorts of things in life.

In other words, if I can't prove that what you wrote is good, that doesn't necessarily mean it's bad. Inversely, but perhaps you don't want to think of it this way, If I can't prove that what you wrote is bad, that doesn't mean it's good! But some things can only really be solved in one way. Math for example.

Matthew Scharley
And if you look into higher levels of math, you find it subscribes to TIMTOWTDI too.
romandas
+2  A: 

Either prototype and have someone else look over it, or find someone whose technical opinion you trust and bounce the idea off of them (if it's a more complicated problem). Two heads are better than one - I know that I tend to get stuck in a viewpoint and have trouble shifting out of it until someone else smacks me back to reality with the simple but hard to see answer :)

James
+3  A: 

Don't be afraid to put together an implementation and test it out. Sometimes seeing the code makes all the difference in knowing if you have a good design, something that needs some work or something awful. Don't be afraid to ask your co-workers for tips or opinions on the design. You'll only get better with time and experience.

jasonh
+4  A: 

Wisely time-limit your research

There's nothing wrong with exploring other ways (hopefully better) to solve the same problem, but stay pragmatic and assign yourself some predefined time to do this research. It should be proportional to the problem at hand. When time's up simply stop. During this time I suggest you also talk to your fellow developer because more heads usually also means more knowledge/ideas.

If you find it hard to implement the solution in the end I suggest you write down your process the way it should work and then start implementing it. It will keep you focused and help you wrote just enough code. TDD might help you with this as well. So instead of describing your process, you could first write a unit test and then implement it so that it passes the test. And you're done.

Sometimes you should avoid it

When you're faced with simple/basic problems. Solving them in other ways may not produce that much positives as your research would take (in this case wasted time). It's not wise to do it on these problems but rather just simply implement them.

Robert Koritnik