You’ve heard it before: As technology products become a commodity, design becomes increasingly important if you want to differentiate your product from everyone else’s (insert obligatory Apple reference here). The future (and in some cases, the present) of software is empathetic, social and personal; all things traditional software engineers are not. The days when the software engineers only had to focus on producing lines of code are disappearing. The new killer skill set will not be the ability to write assembly code in your sleep, it will be a complimentary blend of engineering and design skill.

But the impact will not be restricted to software engineers alone. Interaction designers that don’t code often don’t understand the capabilities and limitations of the technologies they are designing for. As applications grow more complex designers need to represent that complexity in their designs not by detailing interactions through several hundred page documents, not with static mockups or simple click-throughs, but with interactive code built on the technology that will ultimately deliver the real thing. For the Web, that means a working knowledge of HTML, CSS and JavaScript at a minimum.  It means building prototypes to validate your designs because interaction design without prototyping is like cooking without tasting. You may have all the right ingredients but, chances are, you’re going to miss the mark. That is probably why Facebook’s design team and an increasing number of start-ups want designers with coding skills. It’s just a matter of time before the rest of the industry catches on.

Designers, engineers and the schools that teach them should take note of the change that is taking place in the job market. The irreplaceable employees of the future are the design-savvy Software Engineer and the Interaction Designer that can write code.