
Why should a designer who has been trying to become an expert for years and doing great work meddle in the software developer tasks when they have their own tasks? Haven't they already been doing this job well enough? Why would they need you?
I don't mean learning the job like a software specialist and changing a career when I say designers should learn how to code. Fundamental knowledge about coding will help the people you work with, your customers, and above all, you.
We always design in the light of environmental factors. For example, we choose complementary colors for a clear appearance in a sunny place or write the brand motto in large fonts on the highway billboards so that it can be read. The same rules apply in the digital world as well. You must identify the environment you are working for well and design for it.
Codable creative designs
When you start a new project, you form an opinion from the moment people talk to you about it. Your research expands around these ideas, and then you make for the conclusion. Meanwhile, you can define the work limits well if you imagine how to code the design in your mind. You can have an idea of cases that may cause problems such as code complexity, maintenance costs, loading times.
Even when you know it's possible to code; there is a chance that the teams you work with don't know-how. You can guide the software team in the right way in similar cases, stating your decisions with sound technical reasons.
Saving on money and time
Misguided tasks not only reduce satisfaction and motivation but also cost money and time. We all know the significance of both sources and how hard to find them, especially in the entrepreneurship ecosystem. So, receiving negative feedback from the software team, stating that it is impossible to complete it in the way you want once you think the project is completed, is a case that no one would want. Constantly consulting the software developers and spending extra effort to achieve the right result is also challenging.
Trying to edit a problem in the development process costs ten times more than trying to edit it in the design process. It can cost 100 times more if you're trying to edit it on a published product.
Speaking the same language
In the way that you have no knowledge of software as a designer, software developers may not know how to design. Both sides try to draw the project to their own since they can do it well and easily from their own perspective. Unaware of the reason behind these demands, you either choose to complete the project in no time or you try to persuade so that the design remains the same. The decision is made one way or another. Yet, whether it is correct or not is a matter of another debate.
You can effortlessly find the solution and satisfy the other party if your software knowledge is enough to understand the reason behind their demands.
New generation tools
Many methods are being developed to minimize these problems. While designing with tools such as Adobe XD, Sketch, and Figma, we use services such as Zeplin, MarvelApp, Invision, and Avocode. We get prototype or code values to provide software developers with convenience.
Tools such as Framer, where we can use JS, are stepping into our lives. While tools such as Studio and Draftbit, allowing you for designing directly as code, are being developed, there are also applications and plugins such as Monday Hero, Anima, XD to Flutter, which enables you to output code from existing design applications.
What programming language should you learn?
Designers will generally be in touch with front-end and mobile developers. Knowing coding languages such as HTML, CSS at least, and if possible Javascript will make communication easier with front-end developers.
Being familiar with applications like XCode, Android Studio, and knowing what to develop on Android and iOS will be useful. The list goes on with Kotlin, Flutter, Swift. Each piece of information will boost your perspective, and then you will earn respect.
Note that the software is, indeed, a sort of design tool. You should do your best to make the other team's work and users easier in the design process. You have a skill combination that every team would like to take in if you are knowledgeable enough to code your own design.
We hope you stay creative and colorful…
Selçuk Sevindik
Head of UX