I know this is quite subjective question and creativity is bit of an abstract thing. But I have been reading about this topic and also reflecting on my experience.
There are some specific times when I felt I was being very creative. When I am encountering an interesting bug or trying to code up a cool feature. My motivation is higher and I am able to stay more focussed in these scenarios.
I was wondering if I can do something to put myself in situations where I get this kind of creative boost.
What do you think? Is it something you wonder about?
Top comments (6)
Great question! This is probably a much larger topic, as it pertains to many different industries, personalities, tasks, scopes, mediums, etc. but here are a few things that work for me very consistently:
Empty your mind of clutter
It's hard to get creative when your mind keeps jumping back and forth between all the things on your mind.
The list of course goes on and on. If you are trying to keep all this in your head, you aren't thinking about the creative stuff you want to. Find methods and implement systems that let you get all that junk out of your head where you know it will be maintained and you can easily find it later. This frees up your brain to think creatively.
I highly recommend the book "Getting Things Done" by David Allen for this. The GTD system has had an amazing impact on my life.
Get away from the computer
I tend to have many of my best ideas when I was doing something else. Get away from the computer for a little while and expose yourself to other sources of inspiration. Maybe that scene in a movie will spark something, perhaps that conversation with a friend over a drink will lead you down a rabbit hole of an idea, or maybe you will get inspired by that really fun hole at the local mini golf course. Don't just try to force creativity. Let life inspire it.
Make it a habit to write down ALL your ideas
Chances are, you've had tons of creative ideas, but you forgot them because the human brain really isn't that good at remembering stuff. Figure out a system that works for you where you can quickly write down all the ideas you have (even the hilariously bad or ridiculous ones), wherever you have them. I personally use Obsidian on my phone for this (or I tell Siri to remind me of the idea later when my hands aren't fill). Then when I'm seeking ideas or inspiration later, I refer back to my list. This has been immensely helpful for me.
There are obviously many methods and techniques out there, as this is a pretty hot topic around the world. But these are some of the ways that have worked best for me personally. I hope they might help you also!
When you know more, you have some more ability to be creative — so I think learning is a big part of it. However, software development can definitely get less creative when you know more — more stuck in your ways, more valid concern about what could go wrong.
So I'd say learning with an eye towards maintaining a beginners mind as much as possible helps maintaining creativity.
I experienced dip in creativity as I became more senior. There was a time when some experiments failed, I unintentionally became hesitant to experiment. But eventually I realised that I was taking the wrong lesson. Now I am much more inclined to experiment and not come in the way of the eager junior dev who wants to try out a new framework. :)
I will kick off the discussion. Here's something I scribbled on my notes when I was wondering about this.
Here is something I recently did that led to some creative thoughts.
I didn't connect these things until later. I have been reading some open source code recently and it has opened me up to new things.
I started checking out underlying implementation for a open source library that I regularly use. This made answer some of the questions I had like - "what happens when I run this command?"
I also went through a ruby on rails codebase (it was actually the DEV/Forem codebase :-) ). I work primarily in Python/Django so I was just curious how does other framework solve the problems I face. That answered some of my questions around "how do I structure my logic or how do I write this class".
Doing something that make me bored or make me very angry!