Getting Comfortable with the Softer Side of Development
prog21.dadgum.com
prog21.dadgum.com
This is called illustration, not graphic design. However,
> ..but how to use whitespace, how fonts work together, what a good color scheme looks like. Find web pages and book covers that you like and deconstruct them. Take the scary step of starting with a blank page and arranging colors and fonts and text boxes on it. Hands-on experimentation is the only way to get better at this.
Your description of graphic design is quite spot on. I would also recommend using a pen and paper, and trying to draw an UI with those—the most basic you can get without getting tangled into specialty–tools such as Illustrator and else. If you end up with an UI you are satisfied with, draw the next screen, i.e. what happens when an user clicks a button. Do a few of these and get an user to use it, when he clicks on something, replace the page. It's funny, but it works: it's called paper prototyping, the easiest and cheapest (both time and cost) way to get valid, useful feedback on design of user interfaces.
Yes, they matter very much, and yes there are some things you can nail down in the UI arena; but point number two (confusing OS with UI) is very cogent, especially for computer science. Please don't muddy the waters in CS curricula anymore than they have been. This kind of stuff is CS, but it does not belong in a proper OS course. It belongs in a UI or human factors course (which I do think more people would benefit from than an OS course; most people aren't going to be working on OS level stuff, even if understanding would help them be better programmers).
Anyway. "Foster a minimalist aesthetic".
Why? Why not baroque? Why not "classical" ala Mt. Vernon? Why minimalism?
It was the second-most useful course I took, after a great "studio-format" software engineering course, which itself emphasized a number of soft skills such as writing and presenting.
My university offers one or two, but I don't know how common this is across other institutions.
Now, in software, there is maybe a place for people who know all three areas pretty well, but it's not a well defined job role in most companies.
On the other hand, I think the level of understanding gained by walking in ux and graphic designers' shoes the way that the article describes would be a great boon for engineers whose work affects and is affected by the work of such folk.