10 min read

If you’re designing screens, you should probably know code

A well-reasoned guide on why learning to code is necessary—but even more so, taking a generalist approach toward design.

If you’re designing screens, you should probably know code

Mike Stilling

a man wearing a red striped button up, jeans, and a hat sitting in front of a computer in a dark room filled with plants trying to type code
Made with MidJourney

Well, we’ve heard it all before—and yet, it still piques our interest. Don’t know code? Chances are you are here due to uncertainty. If you do know code, you’re likely seeking confirmation that you have made the right choice. 🤔

To get straight to the point, I hold a strong view on the importance of knowing how to code. However, this article will take that idea one step further. I believe it is worthwhile to understand the fundamentals of any practice that impacts our jobs.

For instance, if you are a designer working on marketing touchpoints, my belief is that you should stay up to date on the fundamentals of code, copywriting, marketing, marketing ops, sales, project management, and (obviously) design. The same principle applies to marketers, copywriters, and engineers.

Learning all of this is an ongoing, endless effort. However, if you truly enjoy “the process,” taking a generalist approach can be highly beneficial.

The fundamental reason to know code as a person who is designing screens

It’s frankly bizarre that some screen designers work isolated from code. After all, a design is just a visual plan for a website or app. Did it ever make sense to not understand the medium? Furthermore, if you’re anxious about whether or not to learn code, wouldn’t the obvious solution be just to do so?

The argument for specialization suggests that design and engineering independently require a practitioner’s undivided attention. But, let’s be real, the notion of specialization is outdated. Software development has become more accessible, and tools like Figma can be learned in days, not years. ⚡️

The question has quickly become whether either of these skillsets, on their own, warrant a dedicated role. Especially with the rise of GenAI…

Design lacks tangible value

Today, engineers can plug in design frameworks like shadcn/ui, Tailwind, or Radix and build a pretty great looking interface without the help of a designer. Conversely, designers now have tools like Webflow and Framer and don’t need engineers either… 💩

In any case, billion-dollar industries and entire tooling categories have been built to support this natural overlap. This in itself proves the value in the ability to execute both design and code. It’s particularly interesting that most UI frameworks are free, while no-code tools come at a premium.

The use of no-code tools acknowledges that design needs code to have value.

However, it makes sense—since the output of no-code tools is a functioning website or app. Without these tools (or a developer), there is no way for a non-technical designer to provide tangible, monetizable value to a user. Really, the use of no-code tools acknowledges that design needs code to have value.

Code provides value and security

More or less, knowing code or no-code tools gives designers the ability to turn designs into something real and valuable, without any dependencies. Without these competencies, designers are at the mercy of engineers.

For us, as designers (now, design engineers), this means we have the ability to account for more of the process and have it rest upon our shoulders—making us a crucial piece of the puzzle versus a nice to have. It’s not that we now take engineers’ jobs; chances are, we’ll never be quite that code-savvy. It’s now that we take care of the entirety of our focus: planning, designing, and building the customer-facing layer. 💪

Pair this with some marketing and copywriting chops, and we quickly become one-person agencies. With or without an employer, we have a skillset that can meaningfully provide value to anything that benefits from having a presence on screens.

The business case for knowing code and generalization

There is obvious value for employers in generalist designers or engineers that keep overhead lower by operating across multiple practices. But, that’s just the start…

Current problems

Great design is special because there’s so much bad design. Elegantly merging design and code with purpose and strategy is tough. Why wouldn’t it be when processes and values are siloed across departments who Frankenstein together ideas without regard for one another? ⚰️

Here, reviews become the largest delay. Each team hits a wall of feedback while presenting their disconnected piece of the puzzle. Marketing cares about strategy. Design adores aesthetics. And, since this eats up most of the timeline prior to production, engineering is just trying to stay afloat amongst a sea of clunky, abstract tasks that needed to be done yesterday.

Teams attempt to employ an array of costly tools to fix these challenges… only to add to the problem. When design is the hang-up, marketers resort to apps like Canva or Adobe Express resulting in hokey design. When engineering is too slow, a “composable” CMS is added, creating a clunky codebase with fresh, new bottlenecks. Inboxes are full-up with notifications from that new PM tool, while Slack is overflowing with messages to get around it. None of these tools address the underlying problems.

Stay aligned, increase revenue

Generalization can solve all of these problems through cross-functional empathy. By understanding what’s important to other departments, designers can proactively account for this during the design process. With that, knowing code allows designers to understand the technical implications of their designs—preventing minuscule details from eating up gobs of engineering time and/or leaving engineering to only solve for real engineering challenges.

By accounting for these outside perspectives ahead of time, a few things happen. First, the review cycle shrinks. Work being presented is close, if not dead on. Most tweaks are minor. Stuff that used to be taped onto the original design is seamlessly integrated from the get-go, effectively improving the quality of the work. Shorter review cycles improve the time-to-value. This rapidly approved work gets passed over to engineers faster. At this point, since the design considers engineering, it passes through this process quickly, too.

Now, better work is in front of customers and prospects faster. 🤌

This should all sound like common sense. We have seen this approach work time and time again. Tiny startups full of highly capable generalists that move at the speed of light regularly disrupt slow-moving, bloated industries. Awwwards is full of websites made by just a handful of people.

How to generalize your skillset as a designer

As mentioned, taking a generalist approach can feel like a lot. Learning all of this stuff, without specific direction, is a nightmare. Luckily, there’s already a roadmap in place. All we need to do is start learning and accounting for more of the processes that we’re already working within.

This means we already have a learning exercise. Take the last project that you worked on with multiple stakeholders, directors, and teams and do it all by yourself. Consider what incited the project. Was the proposed solution really the best route? Congrats, you’ve just started marketing. We already know design, so next up is figuring out how to build our plan, code.

Side note: If you’re working as a product designer, rather than try rebuilding an entire app, start by scaffolding together a high fidelity prototype with HTML, CSS, and JavaScript (or Swift if you’re working on mobile apps). This will give you enough of an understanding.

Create meaningful outcomes

The beauty of using a real-life project that you’ve worked on is that you’ll have something to compare your learning exercise against. Chances are, what you just made is wayyyyyyy better than what was shipped. Now, you have something tangible that you can bring to the table in support of changing processes to foster this generalist approach. If the exercise was a flop, keep practicing, it’ll happen! 😅

Look at this, it’s way better than that, and wasn’t a complete pain in everyone’s ass.

Real-life example

I work on marketing websites. So, initially, I took it upon myself to learn how to build a marketing website from end-to-end. I didn’t just do this once, I’ve now done this more times than I can count. Each time, I’ve learned how to do so more efficiently and with a higher quality. Now, I can design while coding faster than I can Figma.

As time has gone on, I’ve also started accounting for more strategic pieces of the process. I am experimenting with analytics implementation and analysis (conversion + retention). I’m going down the rabbit hole of SEO and monitoring how content, design, and code impacts organic user acquisition. With that, I’m dabbling in paid ads (social + search) to understand how to meaningfully ramp traffic. Then, to account for the full marketing top-of-funnel, I’m messing around with ways to effectively capture emails, store them, and automate email flows.

Yes, this whole website is just another learning exercise for myself.

Why settle for less

If you’re still with me, congratulations—you’re on your way to becoming a more empowered, effective designer. As technology evolves, so should our roles. Don’t be content with being a cog in the machine. Learn to code, understand your medium, and watch as you become a key, irreplaceable piece of the business puzzle.

Note to Marketers and Copywriters: This isn’t just a call to designers. Marketers, your world is changing too. Dive into the tech side, and you’ll find your strategies more robust and your execution sharper. Plus, you’ll realize that a CMS is not going to save us. 😂

This article isn’t meant to provoke thought; it is meant to incite action. If you’re ready to elevate your career, learning to code is your gateway. Start today, and shape tomorrow.

The end

Help Blame logo start
the conversation

Agree or disagree? Let us know on LinkedIn. This is really just a push for organic social lol.

This f*cking bozo thinks we should all code and learn marketing. 🤡
a man wearing a red striped button up, jeans, and a hat sitting in front of a computer in a dark room filled with plants trying to type code
Heart icon
Chat bubble icon

Get Blame's Newsletter

How to drive revenue with design and prove it—directly to your inbox.

Email icon