Programming and Coding for Designers
Advanced Programming was a course I was eagerly waiting for but didn’t know what we would be doing, until the mail mentioned it was P5.js. As a person who is very new to programming and coding, I chose all these courses so that I could learn and gain a better understanding of the field I want to be designing in.
This brings up the age-old question — Should designers learn to code? I personally believe that designers should definitely learn to code. There are many reasons for this according to me, and the most important ones being -
1. When we join the industry, we as designers would be part of a much bigger, multidisciplinary team that has knowledge and skill in other domains that would help build the final product. So that we can communicate our ideas better and prove that we have some basis in our ideas or pitches, we as designers must be able to code. This way, we can communicate better to the engineers and understand the problem area in a much better way, as well as point out if there is an even more efficient way of tackling the same issue that the engineers are trying to solve.
2. The second reason why I feel designers should learn to code is that, in this world where everyone sees the need to be an all rounded professional, one must learn to reskill or at least pick up and perfect a skill more than what their degree is specialized in. Since designers have a good understanding of how users could be satisfied, as well as have a fairly good understanding of aesthetics, by learning to code, designers can come up with a whole new way of looking at a certain product or system which will also be more user-friendly and appealing.
Coding is a skill which according to me there is no easy way in learning. One must practice and make sure they experiment on their own with the different functions and see the outcomes that come. Designers in their pursuit of learning how to code must also go through the rigmarole of understanding the technical aspects of the functions and logic behind the code. Nothing comes easily and thus, designers should also make an effort to understand the errors and take the help of others who are part of the Open Source community to learn coding and advanced programming.
Another way designers could learn how to code is by reading books that help learn how to code in an easier way. That way, we can make notes while we see what the book says and also see the output that might happen, that is shown in the book. Finally, the best way, according to me, is to sit with a person who is really good in the language you want to learn and learn the details of why something happens the way it does, in the language, you want to learn.
In an interview by Bradley Hartfield, David Kelley, founder of IDEO says — “All the interesting design problems show up when stuff is not linear. But, engineering works with a set of rules, so you solve the problem within the context you are given.” According to me, designers can benefit immensely from learning how to code and program because design is not about following a certain set of rules or a defined path. Designers are meant to think of a new solution to a problem, rather than think of how to optimize the current problem.
The same way as design has to do with intuition; one must use coding as a new tool in their belt and use intuition to learn coding or programming and use this tool to help create something which has never been speculated before, and even if this something is not conventional, it’s alright as it would spark thoughts and questions as to why that has been done the way it is. Programming can be used to “dream beyond what exists”, but in order to make use of this tool, the designer must explore its possibilities, to see in which situation the tool can be molded and used.
Quoting David Kelley — “All the interesting design problems show up when stuff is not linear. But, engineering works with a set of rules, so you solve the problem within the context you are given.”
Object-oriented Programming (OOPS) is a fairly new topic according to me and I found it really interesting. In the beginning, I always viewed programming as a realm with alphabets and numbers that have certain logic and relationships that define them, but now, with OOPS, one can create real-world entities using programming. This opens a much wider plethora for designers to showcase their ideas and prototype as now, they can model a class and objects and define a set of rules and thus create their own “real world” which could act as a simulation for a certain problem that they are trying to address.
I haven’t been able to go deeper into this topic and wish to do so soon.
In this course, I faced a lot of difficulty in trying to put my ideas down in the form of a code with the output of my choice. I learned 3D basics very well, in P5.js but was most of the time unable to execute code which dealt with other functions even though I had an understanding as to how it works. One thing I was really happy about was the 5 exercises that were provided. They helped me explore the language better and I felt really empowered once I could solve them.
I personally found p5.js a much easier language to understand and make sense of, as compared to python.
I still have a long way to go to reach a comfortable stage in any programming language, but I’m glad that I can now understand the logic behind the code that I see/write.
The facilitator did a really good job, according to me and has peaked my interest in programming and coding now.
I wish to practice more and improve my skills and knowledge in programming and experiment more to accomplish random tasks in p5.js in order to get familiar with it.