Designing and implementing a software project is not creative. It is learned. It takes methodically analyzing requirements and designing a solution based on learned patterns through study or experience. We engineer software.
"Coming up with new patterns and improving existing patterns is what we do."
Chances are you are not "coming up with new patterns" but instead re-discovering existing patterns.