I'm a coder and a musician. I tackle both disciplines in the same way:
tackle (subject) ->
research(subject)
.trialAndError()
.reflexion()
if not burnOut then tackle(discipline)
When I'm not inside that loop I'm probably dreaming of a surreal version of the problem.