A web design agency must know design principles, typography, composition, and color theory. They must be proficient in using design tools such as design software like Photoshop. Although programming is not needed, web designers should be able to use programming languages like JavaScript to help them create interactive sites.