There Is No Design Calvary 🧑‍🎨

November 01, 2021

CSS and Design 🆘

Recently, I began working through Josh Comeau’s brilliant CSS course - “CSS for JavaScript Developers”.

I am learning things about CSS from the course that I have barely understood in the past - or have never really understood at all.

Undraw Road to Knowledge Illustration

Going through the lessons slowly has given me an appreciation of how much there is to know about styling content for a browser.

I knew it was difficult, of course. I have been struggling through CSS, with mixed results, since I first began to learn to code four years ago. Not terrible CSS, but not particularly great, either.

CSS for JavaScript Developers is jam packed with information. Each module of the course has made clear several things that I have mentally skimmed over many times - all the while hoping for the best as I skimmed.

Of course, I am in the process of applying what I am learning to my own work - and that means practice. Now, and in future projects. I still have a long way to go to fully absorb and make my own what Comeau is teaching - but I feel like I am on a better, more solid path - with much more idea of how the pieces fit together.

I first came across Comeau’s work this past summer. Not only is he a very good developer - but he is also a darn good designer - albeit not a full time designer.

Somehow he has acquired design skills over time.

And I aspire to that.

Undraw Designer

The more I learn about CSS - the more closely I look at the visual details of the components I am creating with my code - and the more I separate it from design.

CSS and design are two very different animals. The former is producing code for ( using any one of a huge number of CSS solutions ) existing ideas for the visuals of an app and/or website.

The latter is coming up with those ideas to begin with.

If either one of those animals is on shaky ground …



The only solution I can think of is the only one that I can implement:

Do the best that I can to develop design intuition and keep growing with it each day.

If I want to continue working on unpaid personal projects ( which I do ) then I am looking at two marathons in acquiring and growing these skills. Not one marathon.

Undraw Design Team

Starving Solo Artistry 🥫 🎨

Over the four year period since I wrote my first line of code - mostly self learning - along with a 12 week bootcamp last year - I have gotten pretty good at HTML, CSS, JavaScript - and the React library, plus it’s related frameworks.

I have narrowed my focus to the frontend - and while I consider myself far from expert - I have acquired confidence in my skills.

Designing my personal projects is very difficult.

Unlike working on a team at most companies, when I am working on my own there is no help in sight. It’s pretty much up to me. Sure, I could ask some friends to help me with design - but I would not learn or grow much that way.

I would rather develop my own instincts and intuition. So, I struggle through it.

I am not particularly interested in cloning other apps or websites. Sometimes, I do a limited number of tutorials from effective online educators - but for the most part, I want to implent my own ideas when I spend time coding - for several reasons.

For one thing, any work that I generate I want to be able to use myself in a practical way. Secondly, I want to be able to show the work to potential employers. And the idea of showing an Instagram clone does not sound good to me. It would indeed be a worthwhile learning exercise - but I want something more than that from the projects that I work on.

No Designers Around 😭

I am realizing that I just simply have to embrace it. Try as much as I can to develop my tastes and instincts for what works well visually.

I have always considered the web a visual medium. It is closer to cinema, in it’s use of various media, than it is to writing on paper.

Yet pieces of software are tools, right? It is about what the software can do and the problems it solves.

It is a paradox, it seems.

Beyond being inspired by Comeau’s CSS course - doing more and more of my own work has made me think about these issues for lately.

Beautiful things are mesmerizing. We are attracted to anything that looks good. From other humans, to buildings. It is just the way we are wired as humans.

Software is no exception.

On my own? 😨

Solo devs are like filmmakers who have no resources to hire a cinematographer and so they must learn photograpy, composition, lenses, depth of field, lighting.

And we are not even talking about distribution yet - or anyone seeing the film.

Not only must I have the technical skills to implement my ideas ( CSS coding skills - e.g., flexbox, positional layout tools, grid, styling solutions like Emotion or CSS Modules, etc ) but I also must have the design skills to come up with something interesting.

These are conflicts in the brain. All kinds of programming logic in building a UI with React, plus things like deployment skills, churning out ideas for an interesting app, and making it look engaging and professional - technically and conceptually.

I do not subscribe to the left brain / right brain myth. I believe that I can get better at design if I work at it - like anything. But, geez, it is not easy …

Luckily, there is help if I look around enough. Josh’s course is one source that I have already mentioned.

There is the help and inspiration that comes from viewing interesting and beautiful websites and web apps from various companies and individuals around the world.

I have also gotten ideas from work that I have found on CodePen - some of it so ingenious and beautiful that is rises to the level of digital fine art. And the source code can be looked at and studied for free.

It is a process.

As Kent C. Dodds has written about in a terrific blog post of his:

Consume, build, teach.

There are mentors all over the world who I may never meet in person. They have taught me either directly through their educational materials like Josh Comeau and Kent C. Dodds have - or simply through the example of their work such as when I come across a website or app that is particularly beautiful to me.

So, there might not be a design calvary on the way for my personal projects. But help is here. Not on the way. But already here. Out on the world wide web.

I only have to look for it to see it ✅


Profile picture

A Programming Blog by John William Davis - Based in Seattle - I am interested in all things React, Node, Rust and Vim 🤓   Follow me on Twitter