Learnable Design and Programming

As the web continues changing and evolving for time to time, the divisions between design is now more specific, the birth and increasing demand for specialized discipline makes the both designer and developer broaden their discipline.

During the days that I’ve looking for a job, I notice that applied on more specialized disciplines, but in reality they are looking for someone whom can understand and can do both disciplines. Like when I applied for Senior Front End Developer they expecting that I can code in Laravel and CodeIgniter. There is almost no such thing as full pledged web developer or web designer. Web designer becomes visual designer, user experience designer, visual artist, creative manager or etc. While web developers become HTML5 Developer, Laravel Developer, PHP Developer, Android Developer, iOS Developer or etc. The sad part is the Employer want someone that have experience in all this area, they expected their future employee to understand and can code on each disciplines.

The person knowledge is far more transferable than any one programming language or design principle. But yet, we have to decide to keep on learning. Design and Programming are learnable. We often think of a programming environment or language in terms of its features — this one “has code folding”, that one “has type inference”. This is like thinking in terms of its words — this book has a “fortuitous”, that one has a “munificent”. What matters is not individual words, but how the words together convey a message.

Likewise, a well-designed system is not simply a bag of features. A good system is designed to encourage particular ways of thinking, with all features carefully and cohesively designed around that purpose. The trick is to see through them — to see the underlying design principles that they represent, and understand how these principles enable the programmer to think.

“We should all be striving to learn, but the question remains, what exactly should we learn? Maybe it isn’t as simple as “learn to develop” or “learn to design,” but is about learning to communicate and collaborate, to respect the nuances of each other’s craft — and the artistry and reason that they both demand in equal measure — without attempting to master it for oneself.” – Ivana McConnell

Leave a Reply