One day, this debate will be over with a resounding "it depends."
Knowing a little code is always, ALWAYS, a good thing, as it opens up conversation between designer + developer. It's easy for a developer to look at a design and understand some basic design intent, but it's much harder for a designer to look at a mountain of code and discern anything meaningful from it.
IMO, it's the job of the designer to make handoff as seamless as possible, and this means understanding what your developer needs from you, and the reasons why.
The tricky part in my view is trying not to constrain yourself to that knowledge when designing!
I think the key point is whether designers should code, or whether they should understand code. Two different things.
I don't want to code, I don't enjoy it at all. I want to design, this is the job I signed up for. But I do concede that I need to understand how my designs will be built and what the limitations of the medium are.
If something needs to be coded, it's up to my employer yo find a talented developer, and not to make a designer work two jobs.
Without a knowledge of how code works, a UI designer is never going to be reaching their full potential. However, I do not believe that my position should involve writing or editing code at all.
Yes, good point.
It funny because as a developer, I look at it from the exact opposite perspective, which is why I'm trying to actively engage the design community.
It's easy for a developer to look at a design and understand some basic design intent,
The strength (and also weakness) of developers is that we recognize patterns. If a designer, who is not familiar, with their toolset (e.g. web applications, machining hardware, water color mixing techniques), and engineer will be very critical if they receive a bunch of "wrong" patterns over and over and this causes contention in the engineer/designer relationship.
The true beauty about not knowing anything about code is that it frees your mind from programming constraints. You have no boundaries and sometimes that's necessary to create new and better experiences. Forcing a designer to code is clear way to make designers feel the pain of developers, which may limit creativity. I think both disciplines need to work hand in hand each leading and following each other to a great product. The true answer is still: "It depends"
Designers should code if they want to, next debate please.
Oh look, a dead horse! Let's kick it
Now that that's out of the way, Reda, I think it's really cool that you have started a podcast and that you are willing to share (truly, mad props). I realize it can be challenging to find content for things like this. Props to you, and I look forward to future podcasts now that this subject is behind you
We should bring back the "Beating Dead Horse Badge."
As Joel said, it all depends.
On our next episode, flat or skeuomorphic design.
When I started out as a web designer I learnt to code to understand things better (and cos my dev mate slept in too long). I also heavily used it as a crutch when looking for jobs, as I knew my designs were not good enough, but hey I'm useful I can code! I probably would not have my job now if I didn't know any code.
Now where I work has 2 full time webdevs so I don't have to worry about these things and I'm leading the design team. Out of the two other designers who I work alongside one is learning to code, the other can't be bothered and is more of a graphic designer.
So my perspective is... code if you want to, it may help you out, it may not. But there is clearly no definitive answer to this as it is all relative to what you are want/are trying to do.