This is a question many of us asked in the past and I relate very deeply with it.
For the ones that doesn't know, I'm originally a digital designer, and in (almost) all the companies I worked with I endup working in between designers and developers, helping them understand the other side and make it simpler for them to work together.
I just watched Adam's video about this same topic (I'm writing this because of that video 😅), and while I agree with him on many things, I want to add others that might help you too:
I firmly believe that YES, designers should learn code, but to a level that helps them understand the medium, and this happens to ALL designers. When a Graphic designer wants to print something, its better for him/her to know a little bit about paper, a little bit about prints, and inks, print techniques... this does not limits the design, it just makes it possible to print!
The same happens to car designers, they need to learn about aerodynamics, materials, friction and so on. Again, they need to learn to a level that helps them understand the medium that way they will (in my humble opinion) design better.
Going back to the video, I agree with the fact that every person is different, and you really can design whatever you want, but the platform constraints can help you more than block your creative thinking. Knowing the tools you are dealing with, can help you find better and more creative ways to using them, not the opposite.
Yep!, that also applies too. Many developers I know they think they are bad at design, what they don't know is that they are designing all the time!. When they design to do a certain component in a certain way with X props and X behaviour, that's design. 90% of developers limitation is not in their work but in their minds; from the start they believe in the idea that they are not good at design, therefore they don't even try, and that makes me sad 😞.
Developers that knows design and/or understand all the design constraints, can apply and understand better the designer's intent, resulting in a better and more consistent product.
One thing that Adam said in the video that is 100% true, is that we are all different, that's why you enjoy more coding, or designing, or whatever you enjoy more. That does not mean that you can find a way you can not enjoy but understand and empathize with the other fields, resulting on better collaboration and a better product at the end.
What I'm trying to say with this post is: Don't be afraid to try the other side, if you are really open-minded about it, you'll see SO MANY similarities in both areas. Usually the context of this conversation goes into Web design and development, but this applies to other platforms too (mobile, desktop...)
The work that Adam and many others are doing on helping make design and code look far more exciting helps a lot on bridging the gap between the two, and I'm really grateful for it! There are many resources, but the ones I remember now are:
Do you know more resources? I know I'm forgetting many, please send me more on twitter so I can add more resources here 👍.
If you want to expand more on this topic or need help on applying this to your own context, don't be afraid to ask me on twitter and I will happily help you with your journey!