A good designer considers their audience. They keep simple things simple while enabling users to achieve their goals. They iterate their work to make it simpler and better. A good designer respects their users’ right to privacy and will fight to protect it. A bad designer ignores the consequences of their work. They focus on short-term gain rather than the long-term result.
A good designer knows how to define the goals of their project. They think about the growth of a product when working through a problem. A good designer takes the time to research and understand the problem they’re trying to solve. They think of their design and code with a long term and large scale view. A good designer designs for real life and considers a wide range of context and scenarios. A bad designer only focuses on the way things look. They put personal preferences and ego above the user’s needs. A bad designer may get defensive and can be heard saying, “they just don’t get it.”
A good designer embraces being a part of a small team and doesn’t get caught up following in the footsteps of large companies. They are inspired by trends, but not limited or defined by them. A good designer is a generalist with a broad knowledge in many fields but with an intense focus on design and front-end development. A bad designer fails to notice changes in the industry, or blindly copies processes and technology choices of large industry leaders.
A good designer is open to collaborate with anyone on the team. They work with the customer success team to understand the needs of customers. They work with developers to ensure nothing gets lost in translation during implementation. They keep development limitations in mind, but work with developers to overcome them if needed. A bad designer takes criticism personally. They are dismissive of feedback from customers or their team because it might be too negative or disrupt their process.
A good designer iterates and adapts a design guided by their own standards of quality and feedback. A bad designer thinks their work is done before they share it with the team. They make hotfixes instead of solving long-term issues. A good designer makes sure new UI and code is consistent with the rest of the application. A bad designer doesn't test their work against different use cases and states. They elevate form to the detriment of function.