What are some qualities that make a good computer programmer?

Being a computer programmer is hard work, so a programmer should be resilient, hard-working, and never afraid to fail. Being a programmer also requires constant change, so a good one will be open to learning new things, have natural curiosity, and be able to adapt to changing requirements quickly. Lastly, a good programmer should be a good team player and able to communicate effectively with other team members.