Today’s designers are under intense pressure to achieve unicorn status. Create a podcast now. Learn to be a “thinking leader,” whatever that means. Designers must acquire new abilities to succeed in today’s competitive design industry. Coding is a skill that is in high demand.

A lot of people are concerned about this. If you type “should designers” into Google, that’s the best indicator. Six of the most popular search queries address the question of whether or not designers need to know how to code.

The ability to write code is optional to be a successful digital designer. But, you should be familiar with the processes behind the creation and upkeep of digital products. Paints may be mixed to create new hues, and artists have this skill down well. Professional cooks have an arsenal of spices at their disposal. Any digital designer worth their salt will have a deep working knowledge of the technologies they use.

What do we mean by "code."

There is a tendency to generalise all programmers in the same way that one may generalise all designers. Developers can differ significantly in how they approach problems, their chosen processes, and the areas in which they may have developed expertise.

If you’re a designer working with developers, you must have a firm grasp of what they do and the environment in which they operate.

What goes on behind the screen?

Developers need to break out the parts of a design to learn how to put it together.

There are many steps between approving our ideas and seeing the finished output from the developers. When compared to humans, their thought processes are distinct. Yet, we can still have a conversation with them.

I’ve managed to avoid learning everything there is to know this far. I’m sure I’ll always be an expert on everything related to technology, as there are so many areas in which I need to be more knowledgeable. Because I want to keep things straightforward, I’ll go through the most memorable and helpful bits. There are essentially only three factors at play here:

  • How does our interface gets built?
  • What happens when the user pushes a button?
  • Where the information we put into our interfaces comes from?

Components of the system

When we surf online, there is a lot of communication happening across the Internet between various devices worldwide.

The data we collect is stored on hundreds of servers in dozens of countries. Information may be transmitted worldwide in seconds using towers and satellites in Earth’s orbit. Thousands of miles of underwater cable carry gigabytes of data per second.

Unfortunately, we can only take in the world through our screens. That’s fine, by the way.

We aren’t engineers, so we aren’t usually the ones that handle it as designers to worry about how these relationships work. All that matters to us is providing helpful information to our customers as quickly and painlessly as possible.

In my career as a digital designer, I’ve gotten by with the following knowledge:

Interface design is our domain—location of controls, choice of aesthetic palette, and responsiveness to input. We have the right to make and enforce these policies. When we give developers our designs, they turn them into code.

Clients are what you use to construct and show user interfaces to end users. This is a catch-all phrase for any computer an individual uses. Mobile devices, computers, and electronic tablets. Devices of this type have adequate power to do some fundamental tasks but need help under greater demands. Try putting your phone into “Airplane” mode to see how ineffective it is, and you’ll get the idea.

Servers can be viewed as the “brains” of a product. These devices are large and robust enough to do complex tasks. To access data, client devices must communicate with servers over the Internet. A client will contact a server for resources when it needs them. Servers also have an advantage in speed when it comes to sophisticated tasks.

Information exchange between client and server must occur over the Internet. With the help of machines like yours, data can be transferred quickly around the globe.

The technology stack

The "stack" of a product is its collection of interdependent parts. Its environment is vast and intricate.

Among the best analogies I’ve come across from The Software Guild is to picture the IT stack as a burger. A burger must have specific ingredients, but the rest of the sandwich can be customised to the eater’s preferences. The burger in your product might have onions on it, or it might not. The patties were made by one programmer and the cheese by another.

Many technologies may make up the stack used by your design team. One example of a “design stack” might be the programmes Sketch, Framer X, Zeplin, Abstract, Adobe Illustrator, and Origami. You may replace Sketch with another programme, such as Figma. You may use Adobe XD to pool the talents of multiple designers.

Different kinds of developers

From a designer's perspective, there are only a few types of developers we are likely to meet in our day-to-day operations:

Maintaining a system like this requires several different kinds of people with a variety of talents between them. Most developers are the most comfortable working on a single component of the system, which gives them all different titles and roles.

Front end developers

Every one of us is collaborating with at least one front-end developer. These front-end technologies construct our layouts locally on the client’s machine. They share our enthusiasm for interfaces and are often trying out new approaches.

Developers for both desktop and mobile platforms are responsible for creating compelling user experiences. Even though they speak different languages and specialise in different areas, they all want the same thing.

If you’re a designer and someone asks if you know how to code, they’re probably looking for someone with this degree of proficiency.

Back end developers

People with this title will build the structure and logic of the system. They usually hold computer science or engineering degrees and are enthusiastic about robust and logical solutions. The parts of the experience that are separate from the interface usually belong to back-end developers. Things like quick loading times, secure data transfer, and robust data architecture.

We don’t work directly with them, but their work can directly impact what we can design.

Full stack developers

Developers can work on both the front and back ends of a system. They’re equal to our UX/UI designer role. Good ones are rare and highly sought after.

Data scientists

Designers can use analytics to see how our users are behaving, and data scientists are the ones who make this possible. They’re experts in condensing large amounts of data into critical insights using mathematical methods.

What should designers care about?

This is a lot of information, and I understand that. Your inquiry: "what is the minimum of this material I need to know to be useful?" sound familiar to me.

Your goal is to learn something to improve your work performance. Making a service or product to sell online? Practised use of CSS grids is essential. Keeping confidential data for your project? Learn the difference between public and private keys. Instead of becoming proficient in every conceivable field, focus on developing the skills and mindset that will allow you to succeed in various situations.
In retrospect, the following are among the most formative insights I’ve gained:

HTML

Programmers write web pages in a markup language called Hyper Text Markup Language. This allows users to have complete control over the look and feel of their websites by defining their preferred page structure, section roles, section contents, and element styles.

As an example, think about the text you just read. When this page loads, it looks like the image on the right when viewed in a web browser. The red information indicates mandatory data and metadata the client and server require to render this page correctly. Everything that makes us unique is listed in the orange box. In this day and age of abundant, freely available online materials, HTML may be quickly learned.

A solid understanding of the fundamentals is essential if you want to dabble in web design. The ability to practise on your machine using a programme like Brackets makes the process much more manageable.

CSS

We create a shared visual language for our goods during design, and developers do the same during development. To manage the appearance of their elements, they employ Cascading Style Sheets. Try viewing some websites with the CSS turned off to demonstrate the information’s importance.

With the example mentioned above, adding some CSS and making the page look fancier is simple. You can build a shared visual vocabulary for your page’s components with just a few lines of code.

Learning CSS can help you understand how challenging it is to make things look as fabulous as your designs. Sketch makes it simple to do what would be challenging to implement.

Javascript

JavaScript is a language that may be used in various contexts and is simple to learn. From developing a Sketch add-on to making web games, I’ve utilised Javascript for everything. To construct their portion of the product, some back-end developers even turn to Javascript frameworks like React and Angular.

For client-side work, Javascript’s primary function is to automate the process of making changes to HTML and CSS.

So, let’s review the last case. When I click the header, I want to be notified. Therefore I inserted an event there. The items on your page can respond to user interaction with just one line of code.

Javascript is covered in various courses, but the most straightforward approach to understanding how it fits in with HTML and CSS is simply playing around with it. Look at the results of other people’s trials and see what you can learn from them. Break down a few instances.

Mobile app development

I’m grouping together all aspects of app development under one umbrella for two reasons. First, I can only offer helpful guidance if I have experience in this area. Second, they are all very similar from the standpoint of a designer with no prior expertise.

App code rendering on mobile devices is distinct from web code rendering. The wide variety of modern technologies makes maintaining consistency far more challenging. Moreover, more complex user behaviours (such as swiping and gyroscopes) are now at your disposal.
Daily challenges can be overcome by tailoring your designs to each platform independently. You should familiarise yourself with the rules for both Android and iOS as soon as possible.

What do I need to know?

Designers who don't code only need to understand how to make things easier for their developer teammates

Ultimately, coding isn’t for everyone. If you’re exposed to this stuff in your daily workflow, you can remember it. There are a couple of shortcuts you can take to be able to think like a designer/developer without touching a single line of code:

Be empathetic towards developers.

Collaboration improves results and provides opportunities for mutual education. Designers and developers work together to accomplish the same goal. Getting the most out of your team is as simple as making a few adjustments to your usual procedures:

  • Build in time for developers to contribute to the design process. Developers have some of the best ideas I’ve ever heard. Please include them in design reviews, brainstorming sessions, and user testing results as much as possible.
  • Attend to their advice. When a programmer tells you they can’t implement your concept, it isn’t because they don’t like it. Some things are challenging to construct. Have a constructive attitude and collaborate to find a solution.
  • Fight for them and win. The process of handing off your designs continues; you still need to be there for your team while they realise your vision. If adjusting just one detail may improve their lives, then it’s a no-brainer.

Try out some different tools.

Creating digital things is rarely as simple as our “drag and drop” workflow. When you’re coding, your hands seldom leave the keyboard since that’s how you construct everything.

Sometimes, we need tools to bridge the gap between our workflow and engineers.

  • Webflow. You don’t need to know how to code to use this online tool, as it will generate your designs as a live HTML page. You can construct your website with pre-made components and customise its appearance as you see fit. If you want to learn more about CSS styling and components, this is the right tool.
  • Origami. A Facebook-made prototyping app. It works well with Sketch, but I’m recommending it primarily because it will alter your approach to designing user interfaces. You won’t see them as patterns but rather as a structure of smaller parts.
  • Framer. Just another prototyping tool that requires you to know your way around structure and code. It’ll take some getting accustomed to, but practising making your ideas into reality is excellent.

So what do I do now?

We may streamline our processes by learning the fundamentals of the tools we create interfaces for.

One thing that annoys me about expecting designers to make production-ready code is that it needs to cater to designers’ unique needs. If you want to make mobile apps, knowing HTML is a must. No one thinks you have to memorise this information; you can still use it if you don’t know how to fix your car’s engine. How would you use your knowledge of React as a print designer?

As creatives, we should only be satisfied with being the best at what we do. If something requires some research and development, that’s great. And if you don’t, that’s fine, too. If there is something you feel you need to know but don’t, go out and get it.