Is clean code still important?

This past week, the web development world was slapped in the face by Figma’s new feature: Figma Sites, websites fully assembled inside of Figma then compiled to (React Native Web, supposedly) code. Figma Sites was called, among other things, a WordPress killer. I get it- moving a design from Figma to WordPress (or any other CMS) is still really hard, manual work. There’s no way around it.

The reality: You can build a tool for designers or for developers or for content editors, but no tool will be perfect for all three.

WordPress core leans into optimizing for the content editor, the person managing the content inside the CMS. Developer/designer workflows are secondary. Elementor successfully leaned towards designers, and in my agency days I saw a lot of smaller design agencies pull developers out of the workflow and throw their designers straight into the page builder. It was great for them, but it could hamstring a project once it actually needed custom development or had a lot of non-technical editors trying to make basic content updates. There’s no single perfect tool.

Regarding Figma sites, I and a few other’s chimed in noting how bad the generated HTML was. It was a nested DIV soup that broke many of the conventions of semantic HTML and accessibility. My tweet about it got a lot of engagement, but I’m not surprised. The only tweets that blow up like this are negative. It’s happened to me before- an offhand tweet knocking something (or worse, someone) and it takes off, grabbing way more views than the nice, constructive tweets you normally post. That’s the game, I guess.

I got a number of replies/quote tweets for calling out this bad HTML, but one dramatically-punctuated tweet in particular really stuck with me:

i’ve been hearing this shit since the dreamweaver days it. doesn’t. matter. and. it. will. matter. less. and. less. the. user. wants. things. to. work. period.

@thekitze

One the one hand, I kind of agree with this take. In this case, the code quality doesn’t really matter to the user, specifically the Figma user.

But what about the end user, especially the one who can’t navigate the page successfully through their screen reader or even find it through a search engine? Shouldn’t we as web professionals strive for the highest quality, most accessible experience?

There is always a trade-off between speed and quality (and cost, the iron triangle). It’s worth asking myself if I am also operating off a preconceived bias. Perhaps my value on “clean code” is overblown, as the tweet above implied.

Clean code is not really the end goal. It’s nice. I like it. But that’s not the end purpose. So what is?

  1. Performant code.
  2. Accessible code.
  3. Maintainable code.

And yet… we have to be honest about the future of the web. As LLMs write more and more of our code, does “clean code” really matter? We’re entering a phase where code generation is so commoditized that humans aren’t even writing it, reviewing it, or ever looking at it in many places. It feels like this is only going to accelerate.

But we’re not there yet, and we don’t know when the plateau will hit (regardless of what the hype says).

This viral tweet going around showcases a list of skills that “vibe coders” need to learn, including writing a detailed implementation plan, using git version control, comparing multiple outputs, implementing testing and logging, and more. So you know, basically all the things that a non-vibe coder needs to know. Ethan Mollick shared some similar advice around prompt engineering, and it’s just a list of skills that any project manager or person creating knowledge work needs to have, like properly explaining your task and giving feedback.

There’s no doubt that we’re going to see a rise in the amount of code generated, to say nothing about the quality. In one sense, that’s democratizing. What’ll be more important is what all this code is doing in a year from now, when it needs to be updated, refactored, extended. Will the LLMs get good enough to write clean code? Will we care?

Ultimately, Figma Sites are the the type of mass production garbage we’re all so used to with most consumer goods these days. Nothing feels like it was built to last, from kitchen appliances to clothing. In fact, the only thing with a long shelf-life is your preservative-laden, processed food.

Bespoke websites may now become a luxury good, a growing trend since well before the recent advancements in AI. Regardless, as creators on the web, we have to align on our true priorities for any given project.

What do you think- will your agency start using Figma Sites?

Links from around the web

  • Mike McAlister is dropping version 2.0 of his Ollie Pro plugin this week. It’s the onboarding experience that WordPress full site editing sorely needs. I’ve already used it to spin up a new site and it’s impressive. Ollie Pro 2.0 is almost here
  • Congrats to the Newspack team, who is doing amazing work helping independent media thrive. They are working with a deprecated CMS to onboard about 40 alt-weeklies to WordPress.ย Foundation and Newspack join forces โ€” Newspack
  • Emily Rapport outlines the best way to host variable fonts on your WordPress site. Self-hosting variable fonts with WordPress
  • Tyler Cowen interviews Jack Clark, co-founder of Anthropic. Lots to chew on about the future of AI and AGI, but content warning: you’ll hear some depressing/dystopian thoughts on giving your kids AI-powered toys to keep them entertained for you. Jack Clark on AI’s Uneven Impact
  • If you’re building custom blocks, especially for WooCommerce, we posted a great video tutorial over on the WooCommerce Developer Blog. Tutorial: How to build blocks with WooCommerce
  • No link, but I just finished Andor season 2 and it really is a masterpiece. Star Wars but done with HBO-levels of prestige.
  • WP CLI got a nice update, including the ability to do post meta/date queries in the wp post list command. WP-CLI v2.12.0 Release Notes
  • WooCommerce is leveraging the “JSON Blueprints” feature of WordPress Playground to build a smarter way to spin up sites and share common configurations (including your site settings, active plugins, and more). Should this be something we do in core?
  • AI in WordPress – James LePage shared some of the open source work happening to create a true first-party AI integration and MCP in WordPress core. OSS things to watch coming out of Automattic AI

That’s all. Happy developing to everyone who hasn’t been replaced with AI yet!

Brian Coords
Modern WordPress Development

5 responses to “Is clean code still important?”

  1. Lukasz Avatar
    Lukasz

    Figma sites is maybe a Elementor killer, we shall see. These guys really just do not know how to stick to what they are good at. I had to check if Figma is publicly traded because they act like it.

    Thank you for post and I think I will check out Andor if its on one of the streaming platforms I have…

    1. Brian Coords Avatar
      Brian Coords

      I had the same thought, they’re turning into Adobe (since the acquisition fell through) and making mediocre attempts at too many verticals.

      (Andor is on Disney Plus!)

  2. James Lau Avatar

    This is a very nice reflection piece on our current state with the web!

    I can recall the days of Dreamweaver and had the same scare. Then came Flash as the great savior to the stale blocky, table websites. Then we realized that Flash was no good for accessibility or that they didn’t play well in various browsers.

    Between 2010-2015, I worked at various startups who wanted the trifecta of development success, “can you developers put together something quick, fast, and cheap?” Then came a lull where tech bros tried to one-up each other with front-end frameworks (Angular, React, Vue).

    There will always be errors, there will always be standards that change the rule of the game. Probably not the best analogy, but there will always be cars on the road that are poorly manufactured. There will always be recalls. There will always be new shiny cars that people want and we forget about the old models and their proned issues.

    1. Brian Coords Avatar
      Brian Coords

      Yep it’s a good analogy!

    2. Pat Monette Avatar

      I’m not a car guy. I was driving my friend home yesterday โ€“ who is very much a car guy โ€“ and he goes, “oh, why is your engine making that noise? You should get that checked out”. I responded nonchalantly with “I dunno, I never noticed. It still gets me from point A to point B so I don’t really care, I’ll ride it till the wheels fall off”. After some reflection, I chuckled โ€“ I realized that this is exactly how most non-developers view websites. They don’t care how clean the code is under the hood. “Well, does it work? Does it look good on the front-end? Does it do the things it’s supposed to do?” Sure, maybe it does, for now. Just hope your website (or server) doesn’t hit any bumps or potholes.

      Yeah, I’ll be taking my car to the dealership.

      Great article Brian โ€“ I’ll always be skeptical of these automated website builders. They may eventually get to a point where 90-99% of the generated code is usable, but I think they will always need a guiding human hand. I think we’re at a point now where the time investment required to clean up code from auto-generated websites is greater than if you were to build it yourself. But it’ll be interesting to see when that changes โ€“ when it won’t make sense NOT to use these tools and simply clean and tweak the output. That’s basically where we’re at with IDE tools like CoPilot now.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.