Hello! I think first of all you need to understand what type of company do you need? What type of team do you need? etc. This can be quite disturbing if you don't have any experience, but there are plenty of articles about it. For example, here you can find a lot of useful information about communication with software development companies.