I have in mind 3 or 4 companies that I would like to apply, but some of them have no opening positions for my role, others I can't find any open position at all. Would it be OK if I write to them explaining my position, why the area they work is my passion, and asking if they have a role for me? Or should I wait until they open a new call for my job?
Anyone did something like this in the past?
Thank you!
To increase your chances I will advise you to find a manager that is closely related to the area that you want to work on. In the e-mail that you sent to them explain that you see that currently there are no open positions and you would like to be considered when they have an opening. I am a hiring manager and every now and then get a cold e-mail from a candidate. If they are not a fit for my team I search what other positions are open (I work in a big company) and send their CV to that position. Most people in my position will just ignore it as it is extra effort and they don't get paid for it. Thus my recommendation to find someone on the team that you want to join. I think for a startup or relatively small company (<100) it is ok to reach out to anyone from that company but for the bigger companies targeting the team you want to join is important.
Another approach is to find someone at that company that is doing something similar to what you are doing and connect with them over LinkedIn or other means. Ask them if they will be willing to recommend you (most companies have hiring bonuses so they have some incentive of helping you).
Good luck and hope you get a job with one of your preferred companies.