I’m designing applications and websites. What kind of programming skills should I have to work better with developers and create designs that are easy to develop?
As a designer, it is important that what you provide the developer is not only clear and concise in intent, but also as clear and concise in the desired method of execution.
It helps a lot if you have a good grasp on the front-end development process using HTML and CSS. This will help you to design components that lend themselves to be easily broken down and don’t require multiple implementations in order to work across browsers. An example of this would be irregular shapes with text in them. The easiest way to achieve this in CSS would be to use css-shapes, however the current browser support for this method would does not look too great.
In this example, a small consideration during design can save hours worth of time come development. This is experience gained by playing around prototyping small elements of your design and understanding the process a developer would go through to produce the same element.
Therefore I would recommend you first learn HTML and CSS, then begin prototyping your own designs to get a good grasp on what you find is difficult etc. This will help significantly during your design process, making the difficulty of development match expectations of the product owner.