I think this should be the constant, if you are required a visa to visit any country, then your country must require a visa to any citizen from such country if they want to come to yours.

For example, I’m from Mexico, I need to have a visa in order to put a step in the United States, even if it is the airport for a connection I need a visa. Not to mention the requirements to work in the U.S.A.

What happens in the other way? U.S.A. citizens are allowed to come and go here in México, you are required to have a tourist visa if you have plans to be in Mexico for more than 180 days, if you come for a couple of weeks, then there’s no need for it.

So, if I need a visa to put a step in USA, I think it would be correct if USA citizens require a visa to put a step in my country.

I have a better idea, no visa required at all. Just your fucking passport. 

Take a look a the source:

The European Parliament has voted to end visa-free travel for Americans within the EU. It comes after the US failed to agree visa-free travel for citizens of five EU countries – Bulgaria, Croatia, Cyprus, Poland and Romania – as part of a reciprocity agreement. US citizens can normally travel to all countries in the bloc without a visa.

Source: European Parliament votes to end visa-free travel for Americans | The Independent