views:

129

answers:

2

As a developer on the Microsoft stack (say what you will) that always feels "consciously incompetent" and loves to learn and find the "best" ways to get things done, I constantly find myself in a conundrum: when to stop investigating and start working.

This problem isn't exclusive to Microsoft developers, but perhaps the problem is more visible from that viewpoint. Microsoft has so many solutions for all sorts of problems big and small, some of them great, some of them not so great, most of them described only in fluffy language, and many of them that solve almost the same problem and are at direct odds with each other. At what point does one stop researching the multitudes of frameworks, tools, technologies and architectures available and just pick one, hoping you don't run into some fiddly bit that makes it a real pain to solve your problem? Or perhaps you toss them all out the window and use the basics given to you by your platform of choice to just roll your own?

+2  A: 

Three words

  • Requirements
  • Requirements
  • Requirements

Alright, three instances of the same word. We never start a project from a technology perspective. It is always: "what does the user want?" which typically resolves to

  • Functional requirements (functions, features)
  • Operational requirements (hardware constraints)
  • Timeliness requirements (time constraints)

Each of these in turn constrain our search space of possible solutions. Agreed, there may still be some choices, but if our search space is so large we cannot make an informed design then we haven't refined our requirements enough.

Of course, just to qualify, "in my opinion".

Hope this helps :)

johnny g
+1  A: 

There are a lot of good suggestions in this very similar question: Coping with rapidly changing technology (in particular Microsoft)

DOK
Thanks, great link. In fact, if someone want to close this thread as a dupe I wouldn't feel too bad - there's a lot of good insight in there.
nlawalker
@nlawalker: Glad to help. It's hard to think of good search terms to use for this topic. I recalled seeing the other question, and I remembered it because it's such a huge issue for me.
DOK