Advanced Programming and Prototyping

chinmayee murugkar
Design with code
Published in
4 min readFeb 25, 2019

Should Designers Code?

My decision to learn coding in 3rd year came as a shock to my family. It became a dinner table conversation where everyone was pitted against me trying to convince me to follow the designated path of creative learning and artistic approach. The arguments varied from ‘You should have chosen a IT college if you wanted to learn coding’ to ‘It has become an opposing force in your head. Coding and designing never run together. It will reduce your creativity and aesthetic sense.’ As ashamed as I am to admit this, they were right. I don’t regret having learnt coding. But it is true that my interest has positively shifted from front end designing to systems. It may also be a case that I kind of neglected the other while learning one thing. But it has happened and has become my top priority to do damage control.

At the same time I believe that a good designer is the one who has both. It comes from a cliche that an ideal personality is both — beauty and brains. An ideal designer is someone who can not only show their client how a design would look but also describe the underlying logic that runs behind that screen. Hence as a person who has experience with both the sides of the question, I still have not reached a clear opinion about this.

Is It Really Relevant For A Designer To Learn Advanced Programming Concepts?

As an aspiring Interaction Designer, it was crucial for me to learn Advanced Programming concepts. In the future, it is possible that we would work with people who come from the computer science background. While working with them, it is important to learn their dictionary in order to understand their work and to give our inputs to their work. As designers, we would be constantly underestimated as someone with only aesthetic skills. With programming skills we can explore the larger circle and expand our thinking. It can also change the way you think about designing.

How Should A Designer Learn Programming When Most Of Them Really Not Accepting To Learn The Technical Aspect Of It?

As a designer, we come across many ideas and concepts that are still in the development level. It would make so much easier for us to learn these concepts if we know or are given an opportunity to deduce their working through code. Even if it is not the hard core syntax level coding, if we can understand the underlying logic of existing systems and somehow integrate that into our learning, it becomes a less intimidating and more interesting job to learn how to code. It can also teach us to put in our ideas and change some aspects of the design. Similar to how people code for OpenSource using GitHub, it would count for a better learning experience if we can build on the existing systems.

Deny it as much as you can, designing does require a technical aspect — especially those with an HCD background. If not the syntax, atleast the working and flow of control and logic is crucial in making decisions. We look at so many devices that are based on AI, IoT and ML which originated from code and have found their way into the creative departments of the company. To understand the underlying principles of these devices, it is necessary to learn the language that the device speaks in turn making it an easier job to design for them.

An Interview With David Kelley By Bradley Hartfield

The interview beautifully explains the difference between the two fields of designing and engineering.

One of the most intriguing fact that he mentioned in the interview was about a problem of ‘drunk driving’ posed to both engineers and designers. Hen describes that a common approach taken by the engineers would be to look at how the car can be changed to fit the situation of drunk driving. They would find a technical device that would accompany the accessories and generate some kind of responsive action in order to solve the problem. But the role of the designer would be to look at the different perspectives in which this car can be used- is the car driven by a woman or a mother or a group of people etc. The job of the designer is to ‘decide’ the functionality of that car or the system of that device. It can now be safely quoted that when engineers solve a problem, it has a methodology, a structure to abide, the scope of that equation is too narrow to take into account all the randomness in the nature. Times change and the solutions for such problems should also evolve according to that. A designer looks after all these things.

He also mentions the role of training in approaching such problems. This adds to your experience and enables us to have better decisions in the future.

Relevance Of Object Oriented Paradigm In Design, Thinking And Programming

Through OOP(Object Oriented Programming), it is easy to understand how systems work. Through real life instances like inheritance, abstraction, encapsulation etc. and how these , if applied to the variables on our program can create a better understanding of the program that is being written or a system that is being designed. It helps in understanding how the attributes and behaviours of different objects interact with each other creating a relational system of objects. In order to understand the underlying logic of a system, OOP helps in categorizing and arranging the flow of control of different objects.

In our project, in order to create a better system for payment gateway, OOP helped us understand various concepts that are dependent on each other. Like how the Vendor and Seller classes would be related to the bank and how a change in Bank class would benefit the two other classes. It makes defining these concepts a very easy task.

--

--