Over the years I’ve had many attempts at trying to boost both my creativity and design skills. I honestly think that creativity and design are completely overlooked by most people in the software development world, and I really believe that they’re important.
Ability To Learn
To some degree I think this is another no brainer, at least in the first instance. As developers we’ll often spend a considerable amount of time designing and architecting our solutions – we often feel comfortable doing this, and see the value. But one thing I find frustrating is the difficulty in getting people to appreciate, understand and take on board the need for user interface design.
For too long developers get away with the avoiding responsibility for shoddy user interfaces because they’re not graphic designers. If you’re responsible for delivering a piece of software, you should be as concerned with how the user interface looks, flows and feels as you are about what data access pattern to use. I’m guilty of this too – user interface design is hard – mostly because what you’re doing SEEMS subjective. But just because its hard, shouldn’t mean we ignore it and pass it off to ‘some creative type’. Take responsibility for the difficult task and try to understand it. I’m not saying you should go out, buy Photoshop and start creating graphics, but you should give consideration to layout, usability, colouring, and general principles of good design.
Another thing that is totally overlooked is the need for creativity as a developer – both in the code we write, and again in the user interfaces we deliver. This isn’t to say everything you encounter you should re-design the approach – but leverage the tools in your arsenal to deliver the best solution. Don’t ignore the tried and tested path, but don’t take that path without considering some options. One thing that I see EVERYWHERE and find immensely frustrating is the proliferation of grids into everything. IT DOESN’T ALWAYS HAVE TO BE A GRID!!!! Don’t get me wrong, its a careful balance – utilising prior knowledge and producing creative solutions – but its worth the effort. The best solution isn’t always doing what’s been done before, but it always learns from it.
Improving Through Lateral Learning
In order to try to “sharpen the saw” I’ve been spending some time attempting to nurture my creativity and design skills. Its a process I definitely find more difficult than learning a traditional technical subject, but its something I determined to achieve. Some things I’ve been doing:
- Reading books – I’m a big fan of reading to learn, and taking on books regarding design principles and user experience design are really helping. Its an obvious one, but one that I always resort to!
- Reading UX blogs like a list apart and smashing magazine
- Learning to draw – In a way it seems completely unrelated to software development, but I can honestly say that learning to draw has already delivered some unforeseen benefits. I initially started this because its something I’ve always wanted to do, and felt it would help me explore my creativity visually. But I’ve already found that it has helped me with the wire-framing, collaboration and its really helped me be more observant.
I’m probably wrong – but I feel like design and creativity are not on the agenda for a lot of developers, and I’m determined to not let myself go down that same route.