1) Flexibility/openness2) Support3) Knowledgeable team4). Cost structure5.) Good communication between engineers & project managers6.). Ability for quick turn around time7). Well designed projects8.). Customer service 9). Great benefits package10). Nice office environment11 ). Friendly culture (at least in my experience so far!)12). Project manager that cares about you as an individual13). Great customer care!14). Can work remotely if needed15). I would say they tend towards being too expensive at times but it's not always their fault16). Not much specific things here just general advice i guess1). Make sure your expectations are realistic before going into partnership 2). Have good business reasons why this product will benefit others 3). It helps when you have people who genuinely want what is best for other peoples success.