views:

71

answers:

3

Here is a small example of my experience with that issue: I started to write code to initialize Java Objects out of an XML File.

After a while one of my colleagues showed me Apache Commons Digester, which was the solution for my needs.

How do you guys identify useful Projects/Plugins etc for your Project.

For example: Google,Ask on StackOverflow for something fitting?

Research is always Time Consuming and we all know that the customer wants to see results as fast as possible...some hints?

+1  A: 

Hint: if you don't have a business need, stop looking for one.

If you don't have time to read up on the blogs for the latest and greatest packages for whatever language you are developing for, then you work with the APIs you have, and when you need to solve a specific business need: start Googling.

amischiefr
Good advice. I think Jeff Atwood calls this "Just in Time" learning. He has a great post here about it: http://www.codinghorror.com/blog/archives/000575.html .
thebrokencube
thank you for that great link. +1
bastianneu
+2  A: 

It can come from numbers of sources. (Rated in order)

  • Collegues
  • Google
  • Stack Overflow
  • Internal Wiki

In my personal experience I've found that my colleagues are always the best place to start as there is always a good chance they've already have come across what your after, or can point you in a good direction to start looking. Of course the helpfulness of your colleagues can vary depending on the size of your department, as well as their own experiences.

After that a combination of Google/Stack Overflow is probably where I would look next, and spend most of my time researching. I've found that not matter where I finish, I normally start with Google.

We also have an internal wiki within our company, which get updates by ourselves with useful information. If you have one of those then it might be worth a quick check there also.

kevchadders
+1  A: 

This is something you do with experience. Reading books, blogs articles help you have a firm idea of what tools and libraries are available. When you are involved with projects that actually use them you gain a first hand experience of them and add them to your arsenal for future projects. The experience gained also helps with new stuff you are not familiar with, since it helps you to understand what to expect from a library/tool and how to go on with the integration.

I believe that is more important to work on building up your experience, since this not only helps for identifying the right tool, but also with the architectural design and with the integration to the whole project. When it comes to finding a suitable tool for a specific need, I would say "trust your instinct". You should ask yourself the question: "Is that what I am looking for common enough that someone else would have gone creating before?" With even a medium-sized experience you should be able to answer this question correctly. If the answer is yes, then you can start googling. Typing the right keywords help. Don't settle for the first thing you find - try to find alternatives. And always do extensive research before integrating a new tool/library to a project.

kgiannakakis
very good answer. I think you are right. People like Jon Skeet definitely got a huge arsenal of knowledge from projects.
bastianneu