It is not unusual for software engineers to rely on creativity to find solutions to difficult problems. In my case though it seems like I depend on creativity to apply clever designs to my code and software systems all the time. Which leads to a few problems.
First, there are times that no matter what I do I don't have much inspiration. In these cases, I could be a clever "problem solver", but whatever I come up with as a solution is uninspired, slightly random and doesn't lead to a pattern of solutions. Put another way, I can write a lot of code, and do clever hacks, but that won't make my job any easier in the future. (I'd like to note how much I hate software engineering being branded as "problem solving". It's far, far more than that, and the kind of creativity needed for good design goes beyond mere mathematical cleverness.)
Second, and this happens often with creative people, my creativity tends to "kick in" when I'm getting more tired, as some kind of mental backup. Of course it would be more useful if I could train myself to be creative at any level of energy. What this creates though is somewhat at the opposite at what people expect from "hackers": Rather than being at my best at writing lots of code in the night, I'm at my best for software and architectural design at night and coding during the day. To make it somewhat more practical for my work, since I'm not a "morning person" I tend to be more creative during the morning and a coder starting mid-afternoon. At the end of the day I thus become tired at both sides, so that's when I'm writing these blog posts.
The annoying thing about all of this is then how difficult it is to manage and find inspiration, or put another how much I tend to depend on it to be a better-than-average software developer. So, yeah, I'm a moody software engineer.
Published on May 3, 2012 at 20:44 EDT
Older post: Bad Retention
Newer post: Ping Magic