У меня примерно так:
1. Пытаюсь понять суть решаемой проблемы
2. Пытаюсь вспомнить решал ли я подобную проблему?
3. Если не удалось вспомнить, пытаюсь придумать решение.
п.2. и п.3 - не более 15-20 мин на задачи кажующися очевидными. К примеру как отформатировать строку в python или как написать fixture в тесте на py.test
4. Если не удалось вспомнить лезу в документацию
5. Если в доке нету, то вбиваю вопрос в гугл
п.4. и п.5 не более 15 мин.
6. Если уж и там нет, то извещаю коллег в команде, что у меня затык и мне нужно время. Может мне кто-то придет на помощь или скажет отложить задачу и заняться другой не менее важной задачей
7. Если же продолжать надо, то задаю вопрос друзьям в skype или еще куда
8. Если и тогда нет помощи, то иду в Stackoverflow, toster, python.su, etc
Везде нужно соблюдать баланс. Надо и подумать, надо и самому попытать. И обязательно надо учитывать что ты часть процесса разработки