Poland is very cheap, English is common (among 35 and younger), and in university cities the atmosphere is nice.
Deoending on what you value more I recommend:
- Kraków (biggest startup scene, biggest city out of these, most active cultural scene, but also crowded with tourists, worst air quality and slightly more dangerous than the others because of football clubs violence)
- Wrocław (almost as big tech scene, less tourists and smaller city, but still expansive for Poland, safe and good air)
- Lublin (smaller city with smaller tech scene but still OK, very active culturally but mostly targeting students so in summer holidays it's a ghost city, few tourists, very cheap, highest percentage of students per capita, safe and ok air)
I'm biased because I live in Lublin, but I've lived in Kraków for a short time and in Warsaw for a few years too, and I prefer Lublin. Compared to Kraków a flat will be about 1-2k PLN (2k is very good standard or strict center, median is about 1.5k), and you can earn 10-15k PLN as a senior dev.
Food and services are also very cheap because it's basically a surprise university city in otherwise poorest countryside part of Poland.
In all of these cities there's lots of foreigners, in Kraków it's mostly tourists, in Wrocław it's mostly Ukrainians who migrated for work, in Lublin it's mostly Ukrainians and Asians who are studying there and go back afterwards.
Also - all of this is nice, but be warned that Poland has its own Trump-like revolution going on right now, so far it mostly stays political, with few real-life consequences, but it is making business more risky because of government breaking the constitution and the courts wondering which law is actually binding. Also xenophoby is increasingly used as a political tool.