
Can't Code? Learn Design. - prajjwal
http://learncodethehardway.org/blog/AUG_17_2012.html
======
unfoldedorigami
I agree with the commenter's initial point that learning any amount of
programming will help a non-technical person to understand and better
contribute to a technical startup or organization significantly. What I'm
worried about is that non-technical people will skim this article and think
that design is easier than coding. There's a rabbit hole in every discipline
and my experience has been that the attributes that makes someone a decent
programmer are usually the same attributes that makes someone a decent
designer. In fact, I'd go as far to say that the attributes that make anyone
decent at anything are usually the same for anything else.

So if you "want to learn to code" and for some reason cannot, then I'm going
to bet you have other issues that prevents you from doing so, which is the
sentiment Dan Shipper (the original comment this poster was responding to)
basically attributed to "false constraints."

I guess the argument comes down to believing that coding (like most people
believe about design) requires some innate talent to be able to do it. And
while I believe that might be the case to be great at it, I truly do believe
almost everyone should be able to learn to code (or design) if they truly want
it enough.

Like with anything, I prefer people not to go into a field if they're not
passionate about it. Don't code if you're not into it. And don't come into
design because it's Plan B. Code because you love it. Design because you can't
get enough of it. If you're non-technical and your passionate about wanting to
build technical things, then you really only have one avenue for that outlet
if you can't somehow convince others to help build those things for you and
that's learn it the hard way.

~~~
thraxil
Zed is a master of subtle provocation (and not-so-subtle, if you are familiar
with his other projects). I suspect that he doesn't actually think that it's
easier to become a _real_ designer than it is to be a programmer. But there's
a certain amount of truth to the idea that one could pick up Photoshop, or a
wireframing tool, or a bit of HTML and CSS, and start turning their ideas into
designs much faster than one could learn enough programming to build a full
application prototype. Working that insinuation into the title attracts
readers.

~~~
SoftwareMaven
I've been doing design-by-necessity on projects for 15 years. I even take time
to study and understand design concepts. While I'm an OK UX guy, I still
pretty much suck as a designer.

It's easily as hard as programming, but for _very_ different reasons. And
because of those reasons, it may be a good alternative for the "suit" partner
to learn.

------
mikeryan
Just to extend this statement a bit. There's 2 related but different skills in
design. User Experience and Visual Design.

Visual Design is one of those things where the best designers do have a innate
artistic ability. There is a certain level of talent in this area which you're
just born with.

UX however is a skill which can be taught and learned and is a phenomenal
skill for a product guy, learning to do Information Architecture, UX etc. is
very doable.

BTW Not all visual designers are good at UX. Those that are talented at both
aspects of design are pretty much unicorns.

A spot to get started <http://www.uxforthemasses.com/ux-books/>

~~~
rednum
Can you elaborate about this fields? What kind of problems belong to VD and
what to UX (possibly with examples of good and bad desing/ux)? I'm a coder (cs
student) genuinely interested in learning some design skills, but I'm not
quite sure what areas exactly to pursue.

~~~
SoftwareMaven
UX is about _how_ people interact with a product. Visual design is about what
they see while interacting.

So UX will guide you towards what features are important and ways of exposing
those features so the end user has the best experience. UX also tends to focus
on testing assumptions.

Visual design will guide you towards making sure the elements on the page are
aestheticly pleasing and that they communicate what is trying to communicated.
Google is famous for testing it's shade of blue, but, IMO, great design can't
be tested, but rather comes from a designer understanding her audience and the
story she is trying to tell.

~~~
dsawler
I think "great design can't be tested" is wrong. All design has consequence.
If I make an add to cart button on an ecommerce site purple, I can test that
to see if it performs better than the red add to cart button. Yes, these
decisions (of choosing red or purple) can come from a designer understanding
his/her audience, but should never be just taken at the designer's word... it
should always be tested to make sure the designed solution is the right one.

~~~
sirclueless
I disagree: the really important changes take vision and guts, and can only be
tested after the fact. Testing things like the color of a call-to-action
button can certainly direct you to a local optima, but in a larger sense it
misses the point. You can A/B test a whole bunch of small changes, but the
really impactful ones take a unified vision that changes the whole design
strategy of a website or product. Google didn't go from old Gmail to new Gmail
by incrementally changing things based on testing, they took a good hard look
at the pain points of the old site and applied a new visual direction to the
site. The iPhone didn't come around by tweaking a phone piece by piece until
people liked it better. It came around because someone had a vision and saw it
through.

Don't get me wrong, usability testing is incredibly important. Every
programmer can tell you how much they learned the first time they watched an
uncoached newbie try out their software. And even with those paradigm-shifting
design changes, you can and should test that the results are really an
improvement. But you can't make big important changes by measuring the impact
of every little detail.

~~~
SoftwareMaven
Thank you for putting my thoughts into much better words. The "local maxima"
point really nails it.

------
spydertennis
A point the article misses is that design is very conceptually similar to
code. If you can design something it can almost always be coded and you will
have a fantastic understanding of how it all works. (I'm thinking more towards
UX design than aesthetic design.)

------
ilaksh
>If you can lay out all the major screens and the design then that’s worth its
weight in gold. Design is also just about as hard to find as programming.

I am going to put myself out there by honestly saying that, as a programmer, I
have never understood why people believe the above statement, and I disagree.
Please don't take this as a negative comment (I know people will, which is why
most people would not write a comment like this). I am just trying to
understand.

I'm sorry, but I don't believe its worth its weight in gold. Here is the
starting point for my perspective:

1\. An analyst, customer, boss, or someone who is not a programmer, describes
in words what they want the software to do. I take that description and spend
a couple of days building a prototype web application. I don't create the
screens in Photoshop first because A) it will take longer and B) I'm not
trying to create the ultimate user experience, I am trying to build functional
software that we can start getting feedback and iterating on.

2\. Analyst, customer, boss, designer, or someone who is not a programmer,
looks at the prototype, may or may not acknowledge that the software now has
the primary functionality requested, and starts criticizing the appearance or
user experience. Its actually easy for him to find flaws: its not very
attractive (there was no time invested in making it attractive) and some use
cases could involve fewer clicks.

2A. Here is the issue I have: it really seems to me that a significant portion
of people believe at that point that the programmer was unable to conceive of
an attractive design or shortcuts that would improve the user experience, and
that is the context and justification for the entire field of design.

Anyway here is my experience: if you can't code, then you probably cannot
actually create a better user experience than me. If I am given time to work
on a design, then I will optimize the user experience as much as possible
given the features of the software platform and budget. If there really aren't
budget or time constraints then I can disregard the inner workings of the
platform to some degree because I know I will have time to code whatever
interface I can conceive of.

Maybe some designers can help me understand.

~~~
stevoyoung
Rather than trying to answer this here I'll point to a great definition of
what UX design _actually_ is. Hint, it's not "laying out a page" or "painting
the picture".

<http://uxdesign.com/ux-defined>

If you can do all of the above and you are a rock star developer, my friend,
you are a rare breed.

Why not go straight to code? Iterating through conceptual ideas via sketches,
wireframes, research etc to get an experience correct is a million times more
effective and efficient than iterating through it in code.

~~~
ilaksh
None of what I wrote contradicts that description of UX. I did not imply that
I thought it was laying out a page or painting the picture.

Also I did not mean to imply that I thought that going straight to code was
the best approach. But you can honestly do a fair amount of that
sketching/wireframing etc. in your head and with verbal descriptions, and then
after a one or two iterations of that or actual mockups I think you would gain
the most from a real system.

Anyway, based on that description, I will definitely start putting UX design
on my resume, because I have already incorporated most of the substantial
points made there.

Also, in regards to <http://uxdesign.com/ux-defined>, I have never in my life
had so much smoke blown up my ass in the process of an ostensibly (partially)
technical discussion.

I am definitely going to have to start practicing this UX design stuff, in
case there is actually something more to learn, and because it looks like
people are using a lot of bullshit to justify getting paid a lot more to not
have to do the real work/problem solving (coding).

~~~
tsahyt
> [..] I have never in my life had so much smoke blown up my ass in the
> process of an ostensibly (partially) technical discussion.

Very harsh words but I'm afraid I have to agree. That article doesn't _really_
tell you what UX design is. Back on university I attended an interactive
systems class, which was very focused on UI and UX design. I found it to be
rather vague and everything but precise in definition. I believe UX is a very
blown term these days anyway, just as I believe "design" is an inflated term.

What I want is a precise definition of good UX, that doesn't feel like "make
it idiot-proof".

Disclaimer: I make no claims whatsoever to be good at UX design. Actually, I
couldn't care less. I'm one of those weird code monkeys who favour function
over everything else. Maybe that's what UNIX made me to be ;)

------
rjzzleep
well he's right, and his analogy is perfect. i once again in fact yesterday,
had someone wanting me to build his business for free. after agreeing that i
get a share of the revenue for cutting my rate in half and giving them my
services, which are actually the result of 18 years of experience.

the point is, op is wrong in his belief that people will ever understand the
value of what they ask for if they want it for free. lesson hard learned. i'm
actually thinking about putting together an opensource contract that everybody
should fork and edit to give a working framework to people that keep getting
cheated over their expertise.

but, i completely agree with the article itself.

------
radley
The middle option is (was?) learn Flash. You get a bit of both sides and can
complete projects by yourself.

~~~
Smudge
You can't complete non-flash projects by yourself?

~~~
mhartl
I think what radley means is that Flash is an all-in-one solution, whereas to
finish a non-Flash project you would have to master HTML, CSS, a back-end web
framework, and perhaps some JavaScript as well.

------
riffic
code and design aren't two separate ideas.

------
suyash
Can't design, LEARN UX

