1. Care about quality code, following principles like KISS, DRY, YAGNI, SOLID and design patterns like Domain Driven Design.2. Unit testing when appropriate considering function complexity, time constraints, budget and size of project.3. Able to have a flexible schedule in order to address any issues as fast as possible.4. Will not charge for time spent researching general technical problems.