So, I have been learning to code for a while now, and its been off and on. Unfortunately, I got real sick and had to put everything on hold while I fought this illness. I am proud to say that I am back to where I was before getting sick, probably even a better understanding than what I had before. However, there is one thing that bothers me and that is the design aspect of websites. I do not have that “artistic” trait, and to be honest if you asked me to design a website I would not know where to start. Color, positioning the content on a webpage, etc is something I struggle with. I would like to fix this, so where did you learn how to design, and make great website and their layouts.
Any ideas of a site you used, I frequently use Udemy so if there’s a course you used on there or some other site you can suggest I would appreciate it. Doesn’t have to be a website you used, just anyway that you learned design and you feel it would still be good for others to learn
For some reason, I keep hearing that anyone can learn to code but when it comes to design a lot of people say they can’t design as if they are limited by who they are. Personally, I think learning code and learning design is the same thing, if you spend enough time on it you will learn it.
Sure we all have different “innate” abilities and some are stronger than others, but saying you can’t learn something because of who you are might also just be a cop-out. I’m not saying we should all be designers but I do think coders should take a little time to learn it as it can, if nothing else, help bridge a gap between the designers and implementers.
I actually like reading that! I admit that I was one of those people (or in my mind I still am.) I always thought because I was not creative as others that the design part was not for me. I spend several hours a day going over code, so I will go over these links and spend some more time during the day to go over them.
I went design → programming, I learned design in university. It’s a completely different discipline, and it isn’t necessary for a career in software development. It also isn’t artistic per se. I would also say it’s very difficult to teach yourself design beyond basic knowledge. Getting better happens via [lots and lots and lots of] deliberate directed practice + experimentation with a wide variety of media and techniques. In a taught setting that’s backed up by constant group crits from peers and tutors. It is mostly based on very well-defined rules, but the end result is always aesthetic & the difference between good and bad can be tiny. You can’t just pop a formula in and get a result. It’s not like programming (edit: in that respect)
So I guess there will be a few good online courses that can give you some grounding. You can possibly take that + a load of practice and make things that might be ok. Then there are loads of canonical books that don’t go out of date (Grid Systems in Graphic Design, Interaction of Colour, Don’t Make Me Think, Design of Everyday Things, Design as Art, Medium is the Message, Ways of Seeing, Meggs’ History of Graphic Design, etc etc). Then it’s just going to be practice + interacting a lot with somewhere like design Reddit. There are a load of sites that basically just generate realistic project briefs as well, which can help a lot.
As I say, it’s not at all necessary at all to be good at design to work in software.
Edit: one of the key things about becoming better is that the key rules on layout, typography, colour, spacing etc need to become muscle memory. That’s why it takes so much practice. So you look at stuff that works and you figure out why it works and you copy that, then repeat that over and over
I don’t think that is so different from learning good code. If you learn in a vacuum you won’t grow as much or as fast as if you get direct feedback from other more experienced developers. And if you never read “good” code, or learn from others, I really doubt you will get very good no matter how much code you write. You just won’t get the benefits of the knowledge that came before you.
There is also the eye of the beholder and no accounting for taste. When it comes to anything creative opinions are never really a matter of fact.
This I do agree with, design isn’t just something you plug into some formula and get a fixed predictable outcome from. However, there are principles that you can’t ignore. Even when breaking rules intentionally you have to know about the rules first to get the desired outcome. This goes for any creative discipline.
I will say design spans a much broader spectrum and if you want to get good at web design you have to look at a lot of seemingly unrelated disciplines, like architecture, industrial design, art, and even movies and pop culture.
Edit: Just as an aside. Code can look pretty or ugly as well. There are some visual cues around legibility that have to do with symmetry, hierarchy, spacing, and so on, that directly correlate to design principles. Sure you do not write code just to make it look pretty, I mean it has to work as well, but code you find aesthetically pleasing to read (whatever that is for you) does have some correlations to creative disciplines principles.
I don’t have that trait either. I also don’t like dealing with css too much. Maybe I’m just too lazy to really dig into it, or I just like to focus on other aspects, like functionality and the software development lifecycle.
I just leverage existing tools and patterns to help be build websites/web-apps.
I personally usually leverage component frameworks that implement a specific design, such as Material Design. For example, I’d use Angular Material, to get Material Design components for my framework (Angular). From there I need to make vastly fewer design choices to create my application.
You could go out and build a design from the ground up yourself, but odds are most of the time you should leverage what someone has already done for you to a degree, especially if you want to focus on other aspects of what your building.
Ah, I didn’t mean that there’s some artistic requirement (possibly the extremely vague “creative” aspect), and I think reading back I maybe came across as kinda meaning that.
The fixed principles are critical, but what I mean is maybe better illustrated by an example:
So there’s a font called Optima. It’s a really nice font, designed by Hermann Zapf, designed to be multi-use, it’s sans-serif but has serif characteristics. Most significant use is on the Vietnam war memorial in Washington. However. It was used by P&G’s L’Oréal rebranding in the 80s, which was a massive success and as a result was copied extensively. So if you use Optima, the problem is that even if all the layout and colour rules etc are carefully followed, the end result ends up looking like a hygeine product.
That’s why I say there’s a very fine line between good and bad. It’s not an artistic thing, it is technical. Something might have worked a year ago, but then have been copied everywhere, so it’s tired. Or it might have become a target for memes and can’t be taken seriously. And so on. You don’t get that with programming: something works or it doesn’t (most of the time!).
The required skills comes via deliberate practice. But self-teaching it is really hard, IMO, and I think much moreso than programming. With programming one only really needs a computer, that’s it. With design, it helps enormously to be able to experiment with different media, different ways of working. Really importantly, in a taught setting, every few days your peers and tutors are going to tear apart what you’ve done. And that setting is quite safe, so there’s time to develop the skills over a period of years.
Edit: So what you’re saying is spot on. Same with @bradtaniguchi – and what he’s said is good advice, copy stuff, keep copying stuff. Eventually (if that’s backed by understanding why some things work and why some things don’t) that’ll all he absorbed and result in OP being able to produce much higher quality design
True, even Comic Sans was once considered a “decent” font, not anymore though. It has been misused/overused to the point that it is now considered a bad font.
I get what you are saying and I agree. I do however think code can and do suffer from some of the same issues. Paradigms and principles can get overhyped. In my opinion, over-abstracting and over-engineering are some of the artifacts I believe we are seeing as a result of the DRY principle being taken to the extreme. There are also methodologies filled with buzzwords that seem to really have gotten out of hand (like agile).
But it is very true that creative processes often benefit much more from social settings, be it music, art, movies, or design.